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