From: Ian Abbott Date: Fri, 14 Sep 2012 16:34:16 +0000 (+0100) Subject: staging: comedi: ni_pcidio: use request_firmware() X-Git-Tag: omap-for-v3.7-rc1/fixes-cpufreq-signed~75^2~211 X-Git-Url: http://git.openpandora.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=9fb5c14ceba8841ece02b5185501e1d999a2bcf6;p=pandora-kernel.git staging: comedi: ni_pcidio: use request_firmware() The PCI-6534 needs three firmware files loading to work with the driver. That is currently done by passing the firmware data using the `COMEDI_DEVCONFIG` ioctl that uses the comedi `attach()` hook in the driver. This doesn't work for auto-configured PCI devices (which also currently use the `attach()` hook in this driver, but doesn't have the firmware-loading options set in the `struct comedi_devconfig *` parameter). Change the driver to request the firmware files using `request_firmware()`, ignoring any firmware-loading options set in the `struct comedi_devconfig`. The PCI-6534 has a main FPGA which needs to be loaded first, and two "scarabs". Scarab A is loaded with firmware to support digital input mode, and scarab B is loaded with firmware to support digital output mode. I don't think the order of loading the scarab firmwares matters as long as they are loaded with the correct firmware files. This update loads scarab B first, whereas the original code loaded scarab A first. The firmware files are loaded in the following order: A) main FPGA: "ni6534a.bin" (FW_PCI_6534_MAIN) B) scarab B: "niscrb02.bin" (FW_PCI_6534_SCARAB_DO) C) scarab A: "niscrb01.bin" (FW_PCI_6534_SCARAB_DI) The required firmware files can be found in the "comedi-nonfree-firmware" tar-ball at . Signed-off-by: Ian Abbott Reviewed-by: H Hartley Sweeten Signed-off-by: Greg Kroah-Hartman --- Reading git-diff-tree failed