summaryrefslogtreecommitdiff
path: root/firmware
AgeCommit message (Collapse)Author
2009-04-03Staging: sxg: Add support to download the firmware using request_firmware()Mithlesh Thukral
Add support for downloading the firmware using kernel-builtin mechanism. This will remove the need for the firmware files in the driver source code. Signed-off-by: Christopher Harrer <charrer@alacritech.com> Signed-off-by: Mithlesh Thukral <mithlesh@linsyssoft.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2009-04-03Staging: slicoss: add binary firmware to firmware directoryLior Dotan
Adds the firmware to the firmware directory in ihex format so it can be installed when doing make firmware_install. Also update the firmware location in the driver code so it can locate the files in the right place. This should conclude the move to request_firmware(). Signed-off-by: Lior Dotan <liodot@gmail.com> Cc: Christopher Harrer <charrer@alacritech.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2009-03-30smc91c92_cs: use request_firmwareJaswinder Singh Rajput
Added osi_load_firmware() instead of copying same thing twice Signed-off-by: Jaswinder Singh Rajput <jaswinderrajput@gmail.com>
2009-03-303C359: use request_firmwareJaswinder Singh Rajput
Signed-off-by: Jaswinder Singh Rajput <jaswinderrajput@gmail.com>
2009-03-30yam: use request_firmwareJaswinder Singh Rajput
Added predef variable in add_mcs() to support predefined mcs data Signed-off-by: Jaswinder Singh Rajput <jaswinderrajput@gmail.com>
2009-03-13cxgb3: update FWDivy Le Ray
Update FW to 7.1 Signed-off-by: Divy Le Ray <divy@chelsio.com> Signed-off-by: David S. Miller <davem@davemloft.net>
2009-02-27typhoon: Use request_firmware()Ben Hutchings
Based on a patch by Jaswinder Singh <jaswinder@infradead.org>. Compile-tested only. Signed-off-by: Ben Hutchings <ben@decadent.org.uk> Signed-off-by: David S. Miller <davem@davemloft.net>
2009-02-27tehuti: Use request_firmware()Ben Hutchings
Firmware blob is little endian. Compile-tested only. Signed-off-by: Ben Hutchings <ben@decadent.org.uk> Signed-off-by: David S. Miller <davem@davemloft.net>
2009-01-13ti_usb_3410_5052: add Multi-Tech firmwareChris Adams
Add the Multi-Tech cellular modem firmware to the TI USB serial driver. This firmware was extracted from: ftp://ftp.multitech.com/wireless/wireless_linux.zip Firmware licence: "all firmware components are redistributable in binary form" per support@multitech.com Copyright (C) 2005 Multi-Tech Systems, Inc. Signed-off-by: Chris Adams <cmadams@hiwaay.net> Signed-off-by: Alan Cox <alan@redhat.com> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2009-01-08Merge branch 'master' of ↵David S. Miller
master.kernel.org:/pub/scm/linux/kernel/git/torvalds/linux-2.6
2009-01-07firmware: convert e100 driver to request_firmware()Jaswinder Singh Rajput
Thanks to David Woodhouse for help. Signed-off-by: Jaswinder Singh Rajput <jaswinderrajput@gmail.com> Signed-off-by: David S. Miller <davem@davemloft.net>
2009-01-07fix modules_install via NFSSam Ravnborg
Rafael reported: I get the following error from 'make modules_install' on my test boxes: HOSTCC firmware/ihex2fw /home/rafael/src/linux-2.6/firmware/ihex2fw.c:268: fatal error: opening dependency file firmware/.ihex2fw.d: Read-only file system compilation terminated. make[3]: *** [firmware/ihex2fw] Error 1 make[2]: *** [_modinst_post] Error 2 make[1]: *** [sub-make] Error 2 make: *** [all] Error 2 where the configuration is that the kernel is compiled on a build box with 'make O=<destdir> -j5' and then <destdir> is mounted over NFS read-only by each test box (full path to this directory is the same on the build box and on the test boxes). Then, I cd into <destdir>, run 'make modules_install' and get the error above. The issue turns out to be that we when we install firmware pick up the list of firmware blobs from firmware/Makefile. And this triggers the Makefile rules to update ihex2fw. There were two solutions for this issue: 1) Move the list of firmware blobs to a separate file 2) Avoid ihex2fw rebuild by moving it to scripts As I seriously beleive that the list of firmware blobs should be done in a fundamental different way solution 2) was selected. Reported-and-tested-by: "Rafael J. Wysocki" <rjw@sisk.pl> Signed-off-by: Sam Ravnborg <sam@ravnborg.org> Cc: David Woodhouse <dwmw2@infradead.org>
2009-01-06make firmware/dsp56k/bootstrap.asm buildable on a56Robert Millan
Make firmware/dsp56k/bootstrap.asm buildable on a56, the free Motorola DSP56001 assembler (http://www.zdomain.com/a56.html). Summary of changes: - Remove '<' and '>' candy (they specify explicit addressing modes, which a56 don't grok, but uses implicitly anyway). - Replace 'move' with 'movem' when accessing program memory. - Rename a few labels to avoid duplicates (which a56 can't handle). Signed-off-by: Robert Millan <rmh@aybabtu.com> Cc: Jaswinder Singh <jaswinder@infradead.org> Cc: David Woodhouse <dwmw2@infradead.org> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2009-01-06Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6Linus Torvalds
* git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6: (44 commits) qlge: Fix sparse warnings for tx ring indexes. qlge: Fix sparse warning regarding rx buffer queues. qlge: Fix sparse endian warning in ql_hw_csum_setup(). qlge: Fix sparse endian warning for inbound packet control block flags. qlge: Fix sparse warnings for byte swapping in qlge_ethool.c myri10ge: print MAC and serial number on probe failure pkt_sched: cls_u32: Fix locking in u32_change() iucv: fix cpu hotplug af_iucv: Free iucv path/socket in path_pending callback af_iucv: avoid left over IUCV connections from failing connects af_iucv: New error return codes for connect() net/ehea: bitops work on unsigned longs Revert "net: Fix for initial link state in 2.6.28" tcp: Kill extraneous SPLICE_F_NONBLOCK checks. tcp: don't mask EOF and socket errors on nonblocking splice receive dccp: Integrate the TFRC library with DCCP dccp: Clean up ccid.c after integration of CCID plugins dccp: Lockless integration of CCID congestion-control plugins qeth: get rid of extra argument after printk to dev_* conversion qeth: No large send using EDDP for HiperSockets. ...
2009-01-05starfire: use request_firmware()Jaswinder Singh Rajput
Firmware blob is big endian Signed-off-by: Jaswinder Singh Rajput <jaswinderrajput@gmail.com> Signed-off-by: David S. Miller <davem@davemloft.net>
2009-01-05firmware: convert tg3 driver to request_firmware()Jaswinder Singh Rajput
Firmware blob looks like this... u8 firmware_major u8 firmware_minor u8 firmware_fix u8 pad __be32 start_address __be32 length (total, including BSS sections to be zeroed) data... (in __be32 words, which is native for the firmware) Signed-off-by: Jaswinder Singh Rajput <jaswinderrajput@gmail.com> Signed-off-by: David S. Miller <davem@davemloft.net>
2009-01-05firmware: convert acenic driver to request_firmware()Jaswinder Singh
We store the firmware in its native big-endian form now, so the loop in ace_copy() is modified to use be32_to_cpup() when writing it out. We can forget the BSS,SBSS sections of the firmware, since we were clearing all the device's RAM anyway. And the text,rodata,data sections can all be loaded as a single chunk since they're contiguous (give or take a few dozen bytes in between). Signed-off-by: Jaswinder Singh <jaswinder@infradead.org> Signed-off-by: David Woodhouse <dwmw2@infradead.org> Acked-by: Jes Sorensen <jes@sgi.com> Signed-off-by: David S. Miller <davem@davemloft.net>
2008-12-29V4L/DVB (9533): cx88: Add support for TurboSight TBS8910 DVB-S PCI cardIgor M. Liplianin
The card based on stv0299 or stv0288 demodulators. Signed-off-by: Igor M. Liplianin <liplianin@me.by> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2008-11-26cxgb3: integrate FW and protocol engines in the kernelDivy Le Ray
Include firmware and protocol images in the kernel image if requested Signed-off-by: Divy Le Ray <divy@chelsio.com> Signed-off-by: David S. Miller <davem@davemloft.net>
2008-09-23cassini: use request_firmwareJaswinder Singh
Firmware blob looks like this... __le16 load_address unsigned char data[] [akpm@linux-foundation.org: include vmalloc.h] Signed-off-by: Jaswinder Singh <jaswinder@infradead.org> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: David S. Miller <davem@davemloft.net>
2008-09-02Fix modules_install on RO nfs-exported trees.David Woodhouse
Fixes http://bugzilla.kernel.org/show_bug.cgi?id=11355 by avoiding a needless rebuild of the firmware/ihex2fw tool. Signed-off-by: David Woodhouse <David.Woodhouse@intel.com>
2008-08-02Fix IHEX firmware generation/loadingMarc Zyngier
Fix both the IHEX firmware generation (len field always null, and EOF marker a byte too short) and loading (struct ihex_binrec needs to be packed to reflect the on-disk structure). Signed-off-by: Marc Zyngier <maz@misterjones.org> Signed-off-by: David Woodhouse <David.Woodhouse@intel.com>
2008-07-16Fix 'make clean' and .gitignore for firmware/ directory.David Woodhouse
Provide a .gitignore file, and fix a typo which prevented some of the generated binary files from being removed on 'make clean'. Signed-off-by: David Woodhouse <David.Woodhouse@intel.com> Reported-and-tested-by: Alexey Dobriyan <adobriyan@gmail.com> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2008-07-15Fix accidental reference to tg3 firmwareDavid Woodhouse
We're not updating the tg3 driver to use request_firmware() yet, but a reference to its firmware accidentally slipped in as part of commit c4667746 ("dabusb: use request_firmware()"). Remove it again. Signed-off-by: David Woodhouse <David.Woodhouse@intel.com> Reported-by: Yinghai Lu <yhlu.kernel@gmail.com> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2008-07-15firmware: Correct dependency on CONFIG_EXTRA_FIRMWARE_DIRDavid Woodhouse
When CONFIG_EXTRA_FIRMWARE_DIR gets changed, the filename in the .S file (which uses .incbin to include the binary) needs to change. When we renamed the BUILTIN_FIRMWARE_DIR option to EXTRA_FIRMWARE_DIR, we forgot to update the manual dependency in firmware/Makefile, so it was depending on a non-existent file in include/config/ Signed-off-by: David Woodhouse <David.Woodhouse@intel.com> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2008-07-14firmware: convert sb16_csp driver to use firmware loader exclusivelyJaswinder Singh
Signed-off-by: Jaswinder Singh <jaswinder@infradead.org> Signed-off-by: David Woodhouse <David.Woodhouse@intel.com>
2008-07-14dsp56k: use request_firmwareJaswinder Singh
Signed-off-by: Jaswinder Singh <jaswinder@infradead.org> Signed-off-by: David Woodhouse <David.Woodhouse@intel.com>
2008-07-14edgeport-ti: use request_firmware()Jaswinder Singh
Firmware blob looks like this... uint8_t MajorVersion uint8_t MinorVersion __le16 BuildNumber uint8_t data[] Signed-off-by: Jaswinder Singh <jaswinder@infradead.org> Signed-off-by: David Woodhouse <David.Woodhouse@intel.com>
2008-07-14edgeport: use request_firmware()Jaswinder Singh
Version number provided in first HEX record. Signed-off-by: Jaswinder Singh <jaswinder@infradead.org> Signed-off-by: David Woodhouse <David.Woodhouse@intel.com>
2008-07-14vicam: use request_firmware()Jaswinder Singh
Although it wasn't actually using ihex records before, we use the Intel HEX record format for this firmware -- because that gives us a simple way to split it into separate chunks internally as we need, without loading each part as a separate file. Signed-off-by: Jaswinder Singh <jaswinder@infradead.org> Signed-off-by: David Woodhouse <David.Woodhouse@intel.com>
2008-07-14dabusb: use request_firmware()David Woodhouse
Signed-off-by: David Woodhouse <David.Woodhouse@intel.com>
2008-07-14cpia2: use request_firmware()David Woodhouse
Thanks for Jaswinder Singh for converting the firmware blob itself to ihex. Signed-off-by: David Woodhouse <David.Woodhouse@intel.com>
2008-07-10ip2: use request_firmware()David Woodhouse
Converted with help from Jaswinder Singh Signed-off-by: David Woodhouse <dwmw2@infradead.org> Acked-by: Alan Cox <alan@redhat.com>
2008-07-10firmware: convert Ambassador ATM driver to request_firmware()David Woodhouse
Since it had various regions to be loaded to separate addresses, and it wanted to do them in fairly small chunks anyway, switch it to use the new ihex code. Encode the start address in the first record. Signed-off-by: David Woodhouse <dwmw2@infradead.org> Acked-by: Chas Williams <chas@cmf.nrl.navy.mil>
2008-07-10whiteheat: use request_firmware()David Woodhouse
Signed-off-by: David Woodhouse <dwmw2@infradead.org>
2008-07-10ti_usb_3410_5052: use request_firmware()David Woodhouse
Signed-off-by: David Woodhouse <dwmw2@infradead.org>
2008-07-10emi62: use request_firmware()David Woodhouse
Signed-off-by: David Woodhouse <dwmw2@infradead.org>
2008-07-10emi26: use request_firmware()David Woodhouse
Signed-off-by: David Woodhouse <dwmw2@infradead.org>
2008-07-10keyspan_pda: use request_firmware()David Woodhouse
Signed-off-by: David Woodhouse <dwmw2@infradead.org>
2008-07-10keyspan: use request_firmware()David Woodhouse
Signed-off-by: David Woodhouse <dwmw2@infradead.org>
2008-07-10ttusb-budget: use request_firmware()David Woodhouse
Signed-off-by: David Woodhouse <dwmw2@infradead.org> Acked-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2008-07-10kaweth: use request_firmware()David Woodhouse
Signed-off-by: David Woodhouse <dwmw2@infradead.org>
2008-07-10smctr: use request_firmware()David Woodhouse
Signed-off-by: David Woodhouse <dwmw2@infradead.org>
2008-07-10firmware: convert ymfpci driver to use firmware loader exclusivelyDavid Woodhouse
Signed-off-by: David Woodhouse <dwmw2@infradead.org>
2008-07-10firmware: convert maestro3 driver to use firmware loader exclusivelyDavid Woodhouse
Signed-off-by: David Woodhouse <dwmw2@infradead.org>
2008-07-10firmware: convert korg1212 driver to use firmware loader exclusivelyDavid Woodhouse
Signed-off-by: David Woodhouse <dwmw2@infradead.org>
2008-07-10ihex: Add support for long records to ihex2fw.cDavid Woodhouse
Some drivers could do with using records like Intel HEX, but with each record being larger than 256 bytes. This has been possible in the binary representation (struct ihex_binrec) in the kernel since the beginning -- at least of the the current version of history. But we haven't been able to represent that in the .HEX files which get converted to .fw files. This adds a '-w' option to ihex2fw to make it interpret the first _two_ bytes of each line as the record length, instead of only one byte. And adds makefile rules for %.H16->%.fw which use that. Signed-off-by: David Woodhouse <dwmw2@infradead.org>
2008-07-10ihex: add ihex2fw tool for converting HEX files into firmware imagesDavid Woodhouse
Not the straight conversion to binary which objcopy can do for us, but actually representing each record with its original {addr, length}, because some drivers need that information preserved. Fix up 'firmware_install' to be able to build $(hostprogs-y) too. Signed-off-by: David Woodhouse <dwmw2@infradead.org>
2008-07-10firmware: Add firmware installation to modules_install, add firmware_installDavid Woodhouse
For 'make modules_install', install any firmware required by the modules which are being installed. Also add a 'make firmware_install' target which doesn't depend on the configuration, but installs _all_ available in-kernel-tree firmware into $(INSTALL_FW_PATH), which defaults to /lib/firmware. This is intended for distributors to make arch-independent (and config-independent) packages containing firmware. Signed-off-by: David Woodhouse <David.Woodhouse@intel.com>
2008-07-10firmware: Add CONFIG_FIRMWARE_IN_KERNEL option.David Woodhouse
This will control whether we build firmware into the kernel image for _every_ driver which we convert to request_firmware(), to avoid a proliferation of 'CONFIG_XXX_FIRMWARE' options for each one. Default to 'y' for now, which is the wrong thing to do but people seem to be insisting on it and refusing to even review patches until it's done. And it does preserve the existing behaviour for built-in drivers. Signed-off-by: David Woodhouse <dwmw2@infradead.org>