From 774fbcc6a8946a8437cac9a38465cdb2952c5d79 Mon Sep 17 00:00:00 2001 From: Ben Hutchings Date: Sat, 16 Jan 2010 01:20:31 +0000 Subject: [PATCH] Add MODULE_FIRMWARE declarations to several drivers that lacked them More patches accepted upstream. svn path=/dists/trunk/linux-2.6/; revision=14943 --- debian/changelog | 1 + ...e-MODULE_FIRMWARE-in-various-drivers.patch | 69 +++++++++++++ ...e-MODULE_FIRMWARE-in-various-drivers.patch | 97 +++++++++++++++++++ ...de-driver-name-in-firmware-filenames.patch | 29 ++++++ .../0028-sep-declare-MODULE_FIRMWARE.patch | 26 +++++ ...ght-firmware-declare-MODULE_FIRMWARE.patch | 25 +++++ ...-btmrvl-sdio-declare-MODULE_FIRMWARE.patch | 24 +++++ debian/patches/series/6 | 6 ++ 8 files changed, 277 insertions(+) create mode 100644 debian/patches/features/all/module-firmware/0025-tty-declare-MODULE_FIRMWARE-in-various-drivers.patch create mode 100644 debian/patches/features/all/module-firmware/0026-staging-declare-MODULE_FIRMWARE-in-various-drivers.patch create mode 100644 debian/patches/features/all/module-firmware/0027-sep-include-driver-name-in-firmware-filenames.patch create mode 100644 debian/patches/features/all/module-firmware/0028-sep-declare-MODULE_FIRMWARE.patch create mode 100644 debian/patches/features/all/module-firmware/0029-isight-firmware-declare-MODULE_FIRMWARE.patch create mode 100644 debian/patches/features/all/module-firmware/0030-btmrvl-sdio-declare-MODULE_FIRMWARE.patch diff --git a/debian/changelog b/debian/changelog index 8b301d853..109a44913 100644 --- a/debian/changelog +++ b/debian/changelog @@ -16,6 +16,7 @@ linux-2.6 (2.6.32-6) UNRELEASED; urgency=low * Fix DMA mapping for i915 driver (Closes: #558237) - agp/intel-agp: Clear entire GTT on startup - drm: remove address mask param for drm_pci_alloc() + * Add MODULE_FIRMWARE declarations to several drivers that lacked them [ Ian Campbell ] * xen: Enable up to 32G of guest memory on i386. diff --git a/debian/patches/features/all/module-firmware/0025-tty-declare-MODULE_FIRMWARE-in-various-drivers.patch b/debian/patches/features/all/module-firmware/0025-tty-declare-MODULE_FIRMWARE-in-various-drivers.patch new file mode 100644 index 000000000..682aaa799 --- /dev/null +++ b/debian/patches/features/all/module-firmware/0025-tty-declare-MODULE_FIRMWARE-in-various-drivers.patch @@ -0,0 +1,69 @@ +Based on: + +From: Ben Hutchings +Subject: [PATCH] tty: declare MODULE_FIRMWARE in various drivers + +--- a/drivers/char/cyclades.c ++++ b/drivers/char/cyclades.c +@@ -4195,3 +4195,4 @@ module_exit(cy_cleanup_module); + MODULE_LICENSE("GPL"); + MODULE_VERSION(CY_VERSION); + MODULE_ALIAS_CHARDEV_MAJOR(CYCLADES_MAJOR); ++MODULE_FIRMWARE("cyzfirm.bin"); +--- a/drivers/char/ip2/ip2main.c ++++ b/drivers/char/ip2/ip2main.c +@@ -3196,3 +3196,5 @@ static struct pci_device_id ip2main_pci_tbl[] __devinitdata = { + }; + + MODULE_DEVICE_TABLE(pci, ip2main_pci_tbl); ++ ++MODULE_FIRMWARE("intelliport2.bin"); +--- a/drivers/char/isicom.c ++++ b/drivers/char/isicom.c +@@ -1720,3 +1720,8 @@ module_exit(isicom_exit); + MODULE_AUTHOR("MultiTech"); + MODULE_DESCRIPTION("Driver for the ISI series of cards by MultiTech"); + MODULE_LICENSE("GPL"); ++MODULE_FIRMWARE("isi608.bin"); ++MODULE_FIRMWARE("isi608em.bin"); ++MODULE_FIRMWARE("isi616em.bin"); ++MODULE_FIRMWARE("isi4608.bin"); ++MODULE_FIRMWARE("isi4616.bin"); +--- a/drivers/char/moxa.c ++++ b/drivers/char/moxa.c +@@ -172,6 +172,9 @@ static unsigned int numports[MAX_BOARDS]; + MODULE_AUTHOR("William Chen"); + MODULE_DESCRIPTION("MOXA Intellio Family Multiport Board Device Driver"); + MODULE_LICENSE("GPL"); ++MODULE_FIRMWARE("c218tunx.cod"); ++MODULE_FIRMWARE("cp204unx.cod"); ++MODULE_FIRMWARE("c320tunx.cod"); + #ifdef MODULE + module_param_array(type, uint, NULL, 0); + MODULE_PARM_DESC(type, "card type: C218=2, C320=4"); +--- a/drivers/serial/icom.c ++++ b/drivers/serial/icom.c +@@ -1654,4 +1654,6 @@ MODULE_DESCRIPTION("IBM iSeries Serial IOA driver"); + MODULE_SUPPORTED_DEVICE + ("IBM iSeries 2745, 2771, 2772, 2742, 2793 and 2805 Communications adapters"); + MODULE_LICENSE("GPL"); +- ++MODULE_FIRMWARE("icom_call_setup.bin"); ++MODULE_FIRMWARE("icom_res_dce.bin"); ++MODULE_FIRMWARE("icom_asc.bin"); +--- a/drivers/usb/serial/keyspan_pda.c ++++ b/drivers/usb/serial/keyspan_pda.c +@@ -789,6 +789,13 @@ static int keyspan_pda_fake_startup(struct usb_serial *serial) + return 1; + } + ++#ifdef KEYSPAN ++MODULE_FIRMWARE("keyspan_pda/keyspan_pda.fw"); ++#endif ++#ifdef XIRCOM ++MODULE_FIRMWARE("keyspan_pda/xircom_pgs.fw"); ++#endif ++ + static int keyspan_pda_startup(struct usb_serial *serial) + { + diff --git a/debian/patches/features/all/module-firmware/0026-staging-declare-MODULE_FIRMWARE-in-various-drivers.patch b/debian/patches/features/all/module-firmware/0026-staging-declare-MODULE_FIRMWARE-in-various-drivers.patch new file mode 100644 index 000000000..4f423034f --- /dev/null +++ b/debian/patches/features/all/module-firmware/0026-staging-declare-MODULE_FIRMWARE-in-various-drivers.patch @@ -0,0 +1,97 @@ +Based on: + +From: Ben Hutchings +Subject: [PATCH] staging: declare MODULE_FIRMWARE in various drivers + +--- a/drivers/staging/comedi/drivers/jr3_pci.c ++++ b/drivers/staging/comedi/drivers/jr3_pci.c +@@ -954,6 +954,8 @@ out: + return result; + } + ++MODULE_FIRMWARE("comedi/jr3pci.idm"); ++ + static int jr3_pci_detach(struct comedi_device *dev) + { + int i; +--- a/drivers/staging/go7007/go7007-driver.c ++++ b/drivers/staging/go7007/go7007-driver.c +@@ -128,6 +128,8 @@ static int go7007_load_encoder(struct go7007 *go) + return rv; + } + ++MODULE_FIRMWARE("go7007fw.bin"); ++ + /* + * Boot the encoder and register the I2C adapter if requested. Do the + * minimum initialization necessary, since the board-specific code may +--- a/drivers/staging/go7007/go7007-usb.c ++++ b/drivers/staging/go7007/go7007-usb.c +@@ -444,6 +444,8 @@ static struct go7007_usb_board board_sensoray_2250 = { + }, + }; + ++MODULE_FIRMWARE("go7007tv.bin"); ++ + static struct usb_device_id go7007_usb_id_table[] = { + { + .match_flags = USB_DEVICE_ID_MATCH_DEVICE_AND_VERSION | +--- a/drivers/staging/go7007/saa7134-go7007.c ++++ b/drivers/staging/go7007/saa7134-go7007.c +@@ -84,6 +84,7 @@ static struct go7007_board_info board_voyager = { + }, + }, + }; ++MODULE_FIRMWARE("go7007tv.bin"); + + /********************* Driver for GPIO HPI interface *********************/ + +--- a/drivers/staging/rtl8192e/r819xE_firmware.c ++++ b/drivers/staging/rtl8192e/r819xE_firmware.c +@@ -365,3 +365,7 @@ download_firmware_fail: + return rt_status; + + } ++ ++MODULE_FIRMWARE("RTL8192E/boot.img"); ++MODULE_FIRMWARE("RTL8192E/main.img"); ++MODULE_FIRMWARE("RTL8192E/data.img"); +--- a/drivers/staging/rtl8192su/r8192S_firmware.c ++++ b/drivers/staging/rtl8192su/r8192S_firmware.c +@@ -538,3 +538,4 @@ bool FirmwareDownload92S(struct net_device *dev) + return rtStatus; + } + ++MODULE_FIRMWARE("RTL8192SU/rtl8192sfw.bin"); +--- a/drivers/staging/slicoss/slicoss.c ++++ b/drivers/staging/slicoss/slicoss.c +@@ -1866,6 +1866,9 @@ static int slic_card_download_gbrcv(struct adapter *adapter) + return 0; + } + ++MODULE_FIRMWARE("slicoss/oasisrcvucode.sys"); ++MODULE_FIRMWARE("slicoss/gbrcvucode.sys"); ++ + static int slic_card_download(struct adapter *adapter) + { + const struct firmware *fw; +@@ -1977,6 +1980,9 @@ static int slic_card_download(struct adapter *adapter) + return STATUS_SUCCESS; + } + ++MODULE_FIRMWARE("slicoss/oasisdownload.sys"); ++MODULE_FIRMWARE("slicoss/gbdownload.sys"); ++ + static void slic_adapter_set_hwaddr(struct adapter *adapter) + { + struct sliccard *card = adapter->card; +--- a/drivers/staging/wlan-ng/prism2fw.c ++++ b/drivers/staging/wlan-ng/prism2fw.c +@@ -53,6 +53,7 @@ + /* Local Constants */ + + #define PRISM2_USB_FWFILE "prism2_ru.fw" ++MODULE_FIRMWARE(PRISM2_USB_FWFILE); + + #define S3DATA_MAX 5000 + #define S3PLUG_MAX 200 diff --git a/debian/patches/features/all/module-firmware/0027-sep-include-driver-name-in-firmware-filenames.patch b/debian/patches/features/all/module-firmware/0027-sep-include-driver-name-in-firmware-filenames.patch new file mode 100644 index 000000000..789841e23 --- /dev/null +++ b/debian/patches/features/all/module-firmware/0027-sep-include-driver-name-in-firmware-filenames.patch @@ -0,0 +1,29 @@ +From 9210aeb3bd3ad862f2063b7128ba4b33799b4092 Mon Sep 17 00:00:00 2001 +From: Ben Hutchings +Date: Sat, 7 Nov 2009 20:09:26 +0000 +Subject: [PATCH] sep: include driver name in firmware filenames + +The current names "cache.image.bin" and "resident.image.bin" are far +too generic. +--- + drivers/staging/sep/sep_driver.c | 4 ++-- + 1 files changed, 2 insertions(+), 2 deletions(-) + +diff --git a/drivers/staging/sep/sep_driver.c b/drivers/staging/sep/sep_driver.c +index e7bc9ec..6b763b7 100644 +--- a/drivers/staging/sep/sep_driver.c ++++ b/drivers/staging/sep/sep_driver.c +@@ -182,8 +182,8 @@ static DECLARE_WAIT_QUEUE_HEAD(sep_event); + static int sep_load_firmware(struct sep_device *sep) + { + const struct firmware *fw; +- char *cache_name = "cache.image.bin"; +- char *res_name = "resident.image.bin"; ++ char *cache_name = "sep/cache.image.bin"; ++ char *res_name = "sep/resident.image.bin"; + int error; + + edbg("SEP Driver:rar_virtual is %p\n", sep->rar_addr); +-- +1.6.6 + diff --git a/debian/patches/features/all/module-firmware/0028-sep-declare-MODULE_FIRMWARE.patch b/debian/patches/features/all/module-firmware/0028-sep-declare-MODULE_FIRMWARE.patch new file mode 100644 index 000000000..4c06ba3de --- /dev/null +++ b/debian/patches/features/all/module-firmware/0028-sep-declare-MODULE_FIRMWARE.patch @@ -0,0 +1,26 @@ +From 94820c94108bf46801939d3e342e9a07a81da64e Mon Sep 17 00:00:00 2001 +From: Ben Hutchings +Date: Sat, 7 Nov 2009 20:10:23 +0000 +Subject: [PATCH] sep: declare MODULE_FIRMWARE + +--- + drivers/staging/sep/sep_driver.c | 3 +++ + 1 files changed, 3 insertions(+), 0 deletions(-) + +diff --git a/drivers/staging/sep/sep_driver.c b/drivers/staging/sep/sep_driver.c +index 6b763b7..916a9c1 100644 +--- a/drivers/staging/sep/sep_driver.c ++++ b/drivers/staging/sep/sep_driver.c +@@ -222,6 +222,9 @@ static int sep_load_firmware(struct sep_device *sep) + return 0; + } + ++MODULE_FIRMWARE("sep/cache.image.bin"); ++MODULE_FIRMWARE("sep/resident.image.bin"); ++ + /** + * sep_map_and_alloc_shared_area - allocate shared block + * @sep: security processor +-- +1.6.6 + diff --git a/debian/patches/features/all/module-firmware/0029-isight-firmware-declare-MODULE_FIRMWARE.patch b/debian/patches/features/all/module-firmware/0029-isight-firmware-declare-MODULE_FIRMWARE.patch new file mode 100644 index 000000000..548c290bd --- /dev/null +++ b/debian/patches/features/all/module-firmware/0029-isight-firmware-declare-MODULE_FIRMWARE.patch @@ -0,0 +1,25 @@ +From 34e37eaacc94a27d50151d1ab4fae67f1c3ffda5 Mon Sep 17 00:00:00 2001 +From: Ben Hutchings +Date: Sat, 7 Nov 2009 20:21:37 +0000 +Subject: [PATCH] isight-firmware: declare MODULE_FIRMWARE + +--- + drivers/usb/misc/isight_firmware.c | 2 ++ + 1 files changed, 2 insertions(+), 0 deletions(-) + +diff --git a/drivers/usb/misc/isight_firmware.c b/drivers/usb/misc/isight_firmware.c +index b897f65..1a88e27 100644 +--- a/drivers/usb/misc/isight_firmware.c ++++ b/drivers/usb/misc/isight_firmware.c +@@ -112,6 +112,8 @@ out: + return ret; + } + ++MODULE_FIRMWARE("isight.fw"); ++ + static void isight_firmware_disconnect(struct usb_interface *intf) + { + } +-- +1.6.6 + diff --git a/debian/patches/features/all/module-firmware/0030-btmrvl-sdio-declare-MODULE_FIRMWARE.patch b/debian/patches/features/all/module-firmware/0030-btmrvl-sdio-declare-MODULE_FIRMWARE.patch new file mode 100644 index 000000000..1e48133de --- /dev/null +++ b/debian/patches/features/all/module-firmware/0030-btmrvl-sdio-declare-MODULE_FIRMWARE.patch @@ -0,0 +1,24 @@ +From 2861453b1b5e022fd5e1294b8fbf39254440b661 Mon Sep 17 00:00:00 2001 +From: Ben Hutchings +Date: Sat, 7 Nov 2009 21:41:18 +0000 +Subject: [PATCH] Bluetooth: Declare MODULE_FIRMWARE for Marvell SDIO driver + +Signed-off-by: Ben Hutchings +Signed-off-by: Marcel Holtmann +--- + drivers/bluetooth/btmrvl_sdio.c | 2 ++ + 1 files changed, 2 insertions(+), 0 deletions(-) + +diff --git a/drivers/bluetooth/btmrvl_sdio.c b/drivers/bluetooth/btmrvl_sdio.c +index d6aaf51..1e6eb1a 100644 +--- a/drivers/bluetooth/btmrvl_sdio.c ++++ b/drivers/bluetooth/btmrvl_sdio.c +@@ -1003,3 +1003,5 @@ MODULE_AUTHOR("Marvell International Ltd."); + MODULE_DESCRIPTION("Marvell BT-over-SDIO driver ver " VERSION); + MODULE_VERSION(VERSION); + MODULE_LICENSE("GPL v2"); ++MODULE_FIRMWARE("sd8688_helper.bin"); ++MODULE_FIRMWARE("sd8688.bin"); +-- +1.6.6 + diff --git a/debian/patches/series/6 b/debian/patches/series/6 index e4cf7a9dc..99855d1b1 100644 --- a/debian/patches/series/6 +++ b/debian/patches/series/6 @@ -15,3 +15,9 @@ + bugfix/all/intel-agp-Clear-entire-GTT-on-startup.patch + bugfix/all/drm-remove-address-mask-param-for-drm_pci_alloc.patch + bugfix/all/fasync-split-fasync_helper.patch ++ features/all/module-firmware/0025-tty-declare-MODULE_FIRMWARE-in-various-drivers.patch ++ features/all/module-firmware/0026-staging-declare-MODULE_FIRMWARE-in-various-drivers.patch ++ features/all/module-firmware/0027-sep-include-driver-name-in-firmware-filenames.patch ++ features/all/module-firmware/0028-sep-declare-MODULE_FIRMWARE.patch ++ features/all/module-firmware/0029-isight-firmware-declare-MODULE_FIRMWARE.patch ++ features/all/module-firmware/0030-btmrvl-sdio-declare-MODULE_FIRMWARE.patch