X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=Documentation%2Ffirmware_class%2Ffirmware_sample_driver.c;fp=Documentation%2Ffirmware_class%2Ffirmware_sample_driver.c;h=d3ad2c24490aa4361ad83d841aca57607f83e5db;hb=64ba3f394c830ec48a1c31b53dcae312c56f1604;hp=87feccdb5c9f8f67b2739358edca07c76a9a24a1;hpb=be1e6109ac94a859551f8e1774eb9a8469fe055c;p=linux-2.6.git diff --git a/Documentation/firmware_class/firmware_sample_driver.c b/Documentation/firmware_class/firmware_sample_driver.c index 87feccdb5..d3ad2c244 100644 --- a/Documentation/firmware_class/firmware_sample_driver.c +++ b/Documentation/firmware_class/firmware_sample_driver.c @@ -5,6 +5,8 @@ * * Sample code on how to use request_firmware() from drivers. * + * Note that register_firmware() is currently useless. + * */ #include @@ -15,7 +17,13 @@ #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", }; @@ -84,7 +92,7 @@ static void sample_probe_async(void) { /* Let's say that I can't sleep */ int error; - error = request_firmware_nowait (THIS_MODULE, FW_ACTION_NOHOTPLUG, + error = request_firmware_nowait (THIS_MODULE, "sample_driver_fw", &ghost_device, "my device pointer", sample_probe_async_cont); @@ -97,6 +105,10 @@ 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 */