svn commit: r218661 - head/sys/dev/fb

Marcel Moolenaar marcel at FreeBSD.org
Sun Feb 13 19:25:49 UTC 2011


Author: marcel
Date: Sun Feb 13 19:25:48 2011
New Revision: 218661
URL: http://svn.freebsd.org/changeset/base/218661

Log:
  Use the preload_fetch_addr() and preload_fetch_size() convenience
  functions to obtain the address and size of the bitmap splash image.
  
  Sponsored by: Juniper Networks.

Modified:
  head/sys/dev/fb/splash.c

Modified: head/sys/dev/fb/splash.c
==============================================================================
--- head/sys/dev/fb/splash.c	Sun Feb 13 19:24:04 2011	(r218660)
+++ head/sys/dev/fb/splash.c	Sun Feb 13 19:25:48 2011	(r218661)
@@ -59,26 +59,28 @@ static void		*splash_arg;
 static int
 splash_find_data(splash_decoder_t *decoder)
 {
-        caddr_t image_module;
-	caddr_t p;
+	caddr_t image_module;
+	void *ptr;
+	size_t sz;
 
 	if (decoder->data_type == NULL)
-		return 0;
+		return (0);
+
 	image_module = preload_search_by_type(decoder->data_type);
 	if (image_module == NULL)
-		return ENOENT;
-	p = preload_search_info(image_module, MODINFO_ADDR);
-	if (p == NULL)
-		return ENOENT;
-	decoder->data = *(void **)p;
-	p = preload_search_info(image_module, MODINFO_SIZE);
-	if (p == NULL)
-		return ENOENT;
-	decoder->data_size = *(size_t *)p;
+		return (ENOENT);
+
+	ptr = preload_fetch_addr(image_module);
+	sz = preload_fetch_size(image_module);
+	if (ptr == NULL || sz == 0)
+		return (ENOENT);
+
 	if (bootverbose)
-		printf("splash: image@%p, size:%lu\n",
-		       (void *)decoder->data, (long)decoder->data_size);
-	return 0;
+		printf("splash: image@%p, size:%zu\n", ptr, sz);
+
+	decoder->data = ptr;
+	decoder->data_size = sz;
+	return (0);
 }
 
 static int


More information about the svn-src-all mailing list