X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=Documentation%2Ffirmware_class%2Ffirmware_sample_driver.c;h=87feccdb5c9f8f67b2739358edca07c76a9a24a1;hb=43bc926fffd92024b46cafaf7350d669ba9ca884;hp=e1c56a7e6583dce3b9212d0702a75d9b628c81a4;hpb=cee37fe97739d85991964371c1f3a745c00dd236;p=linux-2.6.git diff --git a/Documentation/firmware_class/firmware_sample_driver.c b/Documentation/firmware_class/firmware_sample_driver.c index e1c56a7e6..87feccdb5 100644 --- a/Documentation/firmware_class/firmware_sample_driver.c +++ b/Documentation/firmware_class/firmware_sample_driver.c @@ -5,24 +5,17 @@ * * Sample code on how to use request_firmware() from drivers. * - * Note that register_firmware() is currently useless. - * */ #include #include #include #include +#include #include "linux/firmware.h" -#define WE_CAN_NEED_FIRMWARE_BEFORE_USERSPACE_IS_AVAILABLE -#ifdef WE_CAN_NEED_FIRMWARE_BEFORE_USERSPACE_IS_AVAILABLE -char __init inkernel_firmware[] = "let's say that this is firmware\n"; -#endif - static struct device ghost_device = { - .name = "Ghost Device", .bus_id = "ghost0", }; @@ -32,14 +25,14 @@ static void sample_firmware_load(char *firmware, int size) u8 buf[size+1]; memcpy(buf, firmware, size); buf[size] = '\0'; - printk("firmware_sample_driver: firmware: %s\n", buf); + printk(KERN_INFO "firmware_sample_driver: firmware: %s\n", buf); } static void sample_probe_default(void) { /* uses the default method to get the firmware */ const struct firmware *fw_entry; - printk("firmware_sample_driver: a ghost device got inserted :)\n"); + printk(KERN_INFO "firmware_sample_driver: a ghost device got inserted :)\n"); if(request_firmware(&fw_entry, "sample_driver_fw", &ghost_device)!=0) { @@ -61,7 +54,7 @@ static void sample_probe_specific(void) /* NOTE: This currently doesn't work */ - printk("firmware_sample_driver: a ghost device got inserted :)\n"); + printk(KERN_INFO "firmware_sample_driver: a ghost device got inserted :)\n"); if(request_firmware(NULL, "sample_driver_fw", &ghost_device)!=0) { @@ -83,7 +76,7 @@ static void sample_probe_async_cont(const struct firmware *fw, void *context) return; } - printk("firmware_sample_driver: device pointer \"%s\"\n", + printk(KERN_INFO "firmware_sample_driver: device pointer \"%s\"\n", (char *)context); sample_firmware_load(fw->data, fw->size); } @@ -91,7 +84,7 @@ static void sample_probe_async(void) { /* Let's say that I can't sleep */ int error; - error = request_firmware_nowait (THIS_MODULE, + error = request_firmware_nowait (THIS_MODULE, FW_ACTION_NOHOTPLUG, "sample_driver_fw", &ghost_device, "my device pointer", sample_probe_async_cont); @@ -104,10 +97,6 @@ static void sample_probe_async(void) static int sample_init(void) { -#ifdef WE_CAN_NEED_FIRMWARE_BEFORE_USERSPACE_IS_AVAILABLE - register_firmware("sample_driver_fw", inkernel_firmware, - sizeof(inkernel_firmware)); -#endif device_initialize(&ghost_device); /* since there is no real hardware insertion I just call the * sample probe functions here */