The patch titled drivers/base/firmware_class.c: cleanups has been removed from the -mm tree. Its filename is drivers-base-firmware_classc-cleanups.patch This patch was probably dropped from -mm because it has now been merged into a subsystem tree or into Linus's tree, or because it was folded into its parent patch in the -mm tree. ------------------------------------------------------ Subject: drivers/base/firmware_class.c: cleanups From: Adrian Bunk <bunk@xxxxxxxxx> - remove the following global function that is both unused and unimplemented: - register_firmware() - make the following needlessly global function static: - firmware_class_uevent() Signed-off-by: Adrian Bunk <bunk@xxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxx> --- Documentation/firmware_class/README | 17 ---- Documentation/firmware_class/firmware_sample_driver.c | 11 -- drivers/base/firmware_class.c | 39 ++-------- include/linux/firmware.h | 1 4 files changed, 8 insertions(+), 60 deletions(-) diff -puN Documentation/firmware_class/firmware_sample_driver.c~drivers-base-firmware_classc-cleanups Documentation/firmware_class/firmware_sample_driver.c --- devel/Documentation/firmware_class/firmware_sample_driver.c~drivers-base-firmware_classc-cleanups 2006-05-20 14:59:37.000000000 -0700 +++ devel-akpm/Documentation/firmware_class/firmware_sample_driver.c 2006-05-20 14:59:37.000000000 -0700 @@ -5,8 +5,6 @@ * * Sample code on how to use request_firmware() from drivers. * - * Note that register_firmware() is currently useless. - * */ #include <linux/module.h> @@ -17,11 +15,6 @@ #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 = { .bus_id = "ghost0", }; @@ -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 */ diff -puN Documentation/firmware_class/README~drivers-base-firmware_classc-cleanups Documentation/firmware_class/README --- devel/Documentation/firmware_class/README~drivers-base-firmware_classc-cleanups 2006-05-20 14:59:37.000000000 -0700 +++ devel-akpm/Documentation/firmware_class/README 2006-05-20 14:59:37.000000000 -0700 @@ -105,20 +105,3 @@ on the setup, so I think that the choice on what firmware to make persistent should be left to userspace. - - Why register_firmware()+__init can be useful: - - For boot devices needing firmware. - - To make the transition easier: - The firmware can be declared __init and register_firmware() - called on module_init. Then the firmware is warranted to be - there even if "firmware hotplug userspace" is not there yet or - it doesn't yet provide the needed firmware. - Once the firmware is widely available in userspace, it can be - removed from the kernel. Or made optional (CONFIG_.*_FIRMWARE). - - In either case, if firmware hotplug support is there, it can move the - firmware out of kernel memory into the real filesystem for later - usage. - - Note: If persistence is implemented on top of initramfs, - register_firmware() may not be appropriate. - diff -puN drivers/base/firmware_class.c~drivers-base-firmware_classc-cleanups drivers/base/firmware_class.c --- devel/drivers/base/firmware_class.c~drivers-base-firmware_classc-cleanups 2006-05-20 14:59:37.000000000 -0700 +++ devel-akpm/drivers/base/firmware_class.c 2006-05-20 14:59:37.000000000 -0700 @@ -86,18 +86,9 @@ firmware_timeout_store(struct class *cla static CLASS_ATTR(timeout, 0644, firmware_timeout_show, firmware_timeout_store); static void fw_class_dev_release(struct class_device *class_dev); -int firmware_class_uevent(struct class_device *dev, char **envp, - int num_envp, char *buffer, int buffer_size); -static struct class firmware_class = { - .name = "firmware", - .uevent = firmware_class_uevent, - .release = fw_class_dev_release, -}; - -int -firmware_class_uevent(struct class_device *class_dev, char **envp, - int num_envp, char *buffer, int buffer_size) +static int firmware_class_uevent(struct class_device *class_dev, char **envp, + int num_envp, char *buffer, int buffer_size) { struct firmware_priv *fw_priv = class_get_devdata(class_dev); int i = 0, len = 0; @@ -116,6 +107,12 @@ firmware_class_uevent(struct class_devic return 0; } +static struct class firmware_class = { + .name = "firmware", + .uevent = firmware_class_uevent, + .release = fw_class_dev_release, +}; + static ssize_t firmware_loading_show(struct class_device *class_dev, char *buf) { @@ -493,25 +490,6 @@ release_firmware(const struct firmware * } } -/** - * register_firmware: - provide a firmware image for later usage - * @name: name of firmware image file - * @data: buffer pointer for the firmware image - * @size: size of the data buffer area - * - * Make sure that @data will be available by requesting firmware @name. - * - * Note: This will not be possible until some kind of persistence - * is available. - **/ -void -register_firmware(const char *name, const u8 *data, size_t size) -{ - /* This is meaningless without firmware caching, so until we - * decide if firmware caching is reasonable just leave it as a - * noop */ -} - /* Async support */ struct firmware_work { struct work_struct work; @@ -630,4 +608,3 @@ module_exit(firmware_class_exit); EXPORT_SYMBOL(release_firmware); EXPORT_SYMBOL(request_firmware); EXPORT_SYMBOL(request_firmware_nowait); -EXPORT_SYMBOL(register_firmware); diff -puN include/linux/firmware.h~drivers-base-firmware_classc-cleanups include/linux/firmware.h --- devel/include/linux/firmware.h~drivers-base-firmware_classc-cleanups 2006-05-20 14:59:37.000000000 -0700 +++ devel-akpm/include/linux/firmware.h 2006-05-20 14:59:37.000000000 -0700 @@ -19,5 +19,4 @@ int request_firmware_nowait( void (*cont)(const struct firmware *fw, void *context)); void release_firmware(const struct firmware *fw); -void register_firmware(const char *name, const u8 *data, size_t size); #endif _ Patches currently in -mm which might be from bunk@xxxxxxxxx are origin.patch git-acpi.patch acpiphp-use-new-dock-driver-fix.patch git-dvb.patch git-gfs2.patch git-intelfb.patch git-mtd.patch drivers-char-hw_randomc-remove-asserts.patch drivers-net-s2ioc-make-bus_speed-static.patch git-nfs.patch git-ocfs2.patch gregkh-pci-acpiphp-configure-_prt-v3-cleanup.patch drivers-scsi-aic7xxx-possible-cleanups.patch drivers-scsi-small-cleanups.patch drivers-scsi-megaraidc-add-a-dummy-mega_create_proc_entry-for-proc_fs=y.patch drivers-scsi-gdthc-make-__gdth_execute-static.patch drivers-scsi-qla2xxx-make-some-functions-static.patch drivers-scsi-aic7xxx-aic79xx_corec-make-ahd_done_with_status-static.patch remove-drivers-scsi-constantscscsi_print_req_sense.patch drivers-scsi-aic7xxx-aic79xx_corec-make-ahd_match_scb-static.patch drivers-scsi-aic7xxx-possible-cleanups-2.patch x86_64-unexport-ia32_sys_call_table.patch swsusp-rework-memory-shrinker-rev-2-fix.patch acx1xx-wireless-driver.patch arch-i386-kernel-apicc-make-modern_apic-static.patch kernel-power-snapshotc-cleanups.patch remove-fs-jffs2-ioctlc.patch fs-locksc-make-posix_locks_deadlock-static.patch remove-config_parport_arc-drivers-parport-parport_arcc.patch fs-fat-miscc-unexport-fat_sync_bhs.patch the-scheduled-unexport-of-insert_resource.patch fs-bufferc-possible-cleanups.patch drivers-md-raid6algosc-fix-a-null-dereference.patch drivers-char-applicomc-proper-module_initexit.patch kernel-sysc-cleanups.patch kernel-sysc-cleanups-fix.patch time-i386-clocksource-drivers.patch reiser4.patch fs-reiser4-misc-cleanups.patch fbdev-cleanup-the-config_video_select-mess.patch fbdev-remove-duplicate-includes.patch md-make-md_print_devices-static.patch slab-cache-shrinker-statistics.patch i386-enable-4k-stacks-by-default.patch mutex-subsystem-synchro-test-module.patch drivers-char-ipmi-ipmi_msghandlerc-make-proc_ipmi_root-static.patch drivers-message-i2o-iopc-unexport-i2o_msg_nop.patch - To unsubscribe from this list: send the line "unsubscribe mm-commits" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html