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
_______________________________________________
svn-src-head@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/svn-src-head
To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"

Reply via email to