Merge git://git.infradead.org/~dwmw2/firmware-2.6
Linus Torvalds [Fri, 10 Apr 2009 19:01:22 +0000 (12:01 -0700)]
* git://git.infradead.org/~dwmw2/firmware-2.6:
  qla1280: Fix off-by-some error in firmware loading.
  Add README.AddingFirmware file. Basically telling people not to.
  firmware: Remove newly-added slicoss and sxg firmware images
  firmware/WHENCE: Add missing origin information for Ambassador atmsar11.fw
  ALSA: wavefront - Always use request_firmware()
  Remove fdump tool for av7110 firmware
  firmware: convert av7110 driver to request_firmware()
  Partially revert "V4L/DVB (9533): cx88: Add support for TurboSight TBS8910 DVB-S PCI card"
  Revert "fix modules_install via NFS"

Add-add conflicts in firmware/WHENCE fixed manually

1  2 
drivers/scsi/qla1280.c
firmware/Makefile
firmware/WHENCE

diff --combined drivers/scsi/qla1280.c
@@@ -1663,7 -1663,7 +1663,7 @@@ qla1280_load_firmware_pio(struct scsi_q
  
        /* Load RISC code. */
        risc_address = ha->fwstart;
-       fw_data = (const __le16 *)&fw->data[4];
+       fw_data = (const __le16 *)&fw->data[6];
        risc_code_size = (fw->size - 6) / 2;
  
        for (i = 0; i < risc_code_size; i++) {
@@@ -1722,7 -1722,7 +1722,7 @@@ qla1280_load_firmware_dma(struct scsi_q
  
        /* Load RISC code. */
        risc_address = ha->fwstart;
-       fw_data = (const __le16 *)&fw->data[4];
+       fw_data = (const __le16 *)&fw->data[6];
        risc_code_size = (fw->size - 6) / 2;
  
        dprintk(1, "%s: DMA RISC code (%i) words\n",
@@@ -4275,8 -4275,8 +4275,8 @@@ qla1280_probe_one(struct pci_dev *pdev
        ha->devnum = devnum;    /* specifies microcode load address */
  
  #ifdef QLA_64BIT_PTR
 -      if (pci_set_dma_mask(ha->pdev, DMA_64BIT_MASK)) {
 -              if (pci_set_dma_mask(ha->pdev, DMA_32BIT_MASK)) {
 +      if (pci_set_dma_mask(ha->pdev, DMA_BIT_MASK(64))) {
 +              if (pci_set_dma_mask(ha->pdev, DMA_BIT_MASK(32))) {
                        printk(KERN_WARNING "scsi(%li): Unable to set a "
                               "suitable DMA mask - aborting\n", ha->host_no);
                        error = -ENODEV;
                dprintk(2, "scsi(%li): 64 Bit PCI Addressing Enabled\n",
                        ha->host_no);
  #else
 -      if (pci_set_dma_mask(ha->pdev, DMA_32BIT_MASK)) {
 +      if (pci_set_dma_mask(ha->pdev, DMA_BIT_MASK(32))) {
                printk(KERN_WARNING "scsi(%li): Unable to set a "
                       "suitable DMA mask - aborting\n", ha->host_no);
                error = -ENODEV;
diff --combined firmware/Makefile
@@@ -32,19 -32,15 +32,20 @@@ fw-shipped-$(CONFIG_ADAPTEC_STARFIRE) +
                                         adaptec/starfire_tx.bin
  fw-shipped-$(CONFIG_ATARI_DSP56K) += dsp56k/bootstrap.bin
  fw-shipped-$(CONFIG_ATM_AMBASSADOR) += atmsar11.fw
 +fw-shipped-$(CONFIG_BNX2) += bnx2/bnx2-mips-09-4.6.17.fw \
 +                           bnx2/bnx2-rv2p-09-4.6.15.fw \
 +                           bnx2/bnx2-mips-06-4.6.16.fw \
 +                           bnx2/bnx2-rv2p-06-4.6.16.fw
  fw-shipped-$(CONFIG_CASSINI) += sun/cassini.bin
  fw-shipped-$(CONFIG_COMPUTONE) += intelliport2.bin
  fw-shipped-$(CONFIG_CHELSIO_T3) += cxgb3/t3b_psram-1.1.0.bin \
                                   cxgb3/t3c_psram-1.1.0.bin \
                                   cxgb3/t3fw-7.1.0.bin
+ fw-shipped-$(CONFIG_DVB_AV7110) += av7110/bootcode.bin
  fw-shipped-$(CONFIG_DVB_TTUSB_BUDGET) += ttusb-budget/dspbootcode.bin
  fw-shipped-$(CONFIG_E100) += e100/d101m_ucode.bin e100/d101s_ucode.bin \
                             e100/d102e_ucode.bin
 +fw-shipped-$(CONFIG_MYRI_SBUS) += myricom/lanai.bin
  fw-shipped-$(CONFIG_PCMCIA_SMC91C92) += ositech/Xilinx7OD.bin
  fw-shipped-$(CONFIG_SCSI_ADVANSYS) += advansys/mcode.bin advansys/38C1600.bin \
                                      advansys/3550.bin advansys/38C0800.bin
@@@ -59,14 -55,9 +60,9 @@@ fw-shipped-$(CONFIG_SND_SB16_CSP) += sb
                                     sb16/ima_adpcm_init.csp \
                                     sb16/ima_adpcm_playback.csp \
                                     sb16/ima_adpcm_capture.csp
- fw-shipped-$(CONFIG_SLICOSS) += slicoss/gbdownload.sys slicoss/gbrcvucode.sys \
-                               slicoss/oasisdbgdownload.sys \
-                               slicoss/oasisdownload.sys \
-                               slicoss/oasisrcvucode.sys
- fw-shipped-$(CONFIG_SXG) += sxg/saharadownloadB.sys \
-                               sxg/saharadbgdownloadB.sys
  fw-shipped-$(CONFIG_SND_YMFPCI) += yamaha/ds1_ctrl.fw yamaha/ds1_dsp.fw \
                                   yamaha/ds1e_ctrl.fw
+ fw-shipped-$(CONFIG_SND_WAVEFRONT) += yamaha/yss225_registers.bin
  fw-shipped-$(CONFIG_TEHUTI) += tehuti/bdx.bin
  fw-shipped-$(CONFIG_TIGON3) += tigon/tg3.bin tigon/tg3_tso.bin \
                               tigon/tg3_tso5.bin
@@@ -123,10 -114,10 +119,10 @@@ quiet_cmd_ihex  = IHEX    $
        cmd_ihex  = $(OBJCOPY) -Iihex -Obinary $< $@
  
  quiet_cmd_ihex2fw  = IHEX2FW $@
-       cmd_ihex2fw  = $(objtree)/scripts/ihex2fw $< $@
+       cmd_ihex2fw  = $(objtree)/$(obj)/ihex2fw $< $@
  
  quiet_cmd_h16tofw  = H16TOFW $@
-       cmd_h16tofw  = $(objtree)/scripts/ihex2fw -w $< $@
+       cmd_h16tofw  = $(objtree)/$(obj)/ihex2fw -w $< $@
  
  quiet_cmd_fwbin = MK_FW   $@
        cmd_fwbin = FWNAME="$(patsubst firmware/%.gen.S,%,$@)";              \
@@@ -185,15 -176,27 +181,27 @@@ $(patsubst %,$(obj)/%.gen.o, $(fw-exter
  $(obj)/%: $(obj)/%.ihex | $(objtree)/$(obj)/$$(dir %)
        $(call cmd,ihex)
  
+ # Don't depend on ihex2fw if we're installing and it already exists.
+ # Putting it after | in the dependencies doesn't seem sufficient when
+ # we're installing after a cross-compile, because ihex2fw has dependencies
+ # on stuff like /usr/lib/gcc/ppc64-redhat-linux/4.3.0/include/stddef.h and 
+ # thus wants to be rebuilt. Which it can't be, if the prebuilt kernel tree
+ # is exported read-only for someone to run 'make install'.
+ ifeq ($(INSTALL):$(wildcard $(obj)/ihex2fw),install:$(obj)/ihex2fw)
+ ihex2fw_dep :=
+ else
+ ihex2fw_dep := $(obj)/ihex2fw
+ endif
  # .HEX is also Intel HEX, but where the offset and length in each record
  # is actually meaningful, because the firmware has to be loaded in a certain
  # order rather than as a single binary blob. Thus, we convert them into our
  # more compact binary representation of ihex records (<linux/ihex.h>)
- $(obj)/%.fw: $(obj)/%.HEX  | $(objtree)/$(obj)/$$(dir %)
+ $(obj)/%.fw: $(obj)/%.HEX $(ihex2fw_dep) | $(objtree)/$(obj)/$$(dir %)
        $(call cmd,ihex2fw)
  
  # .H16 is our own modified form of Intel HEX, with 16-bit length for records.
- $(obj)/%.fw: $(obj)/%.H16 | $(objtree)/$(obj)/$$(dir %)
+ $(obj)/%.fw: $(obj)/%.H16 $(ihex2fw_dep) | $(objtree)/$(obj)/$$(dir %)
        $(call cmd,h16tofw)
  
  $(firmware-dirs):
@@@ -210,3 -213,5 +218,5 @@@ targets := $(fw-shipped-) $(patsubst $(
  # Without this, built-in.o won't be created when it's empty, and the
  # final vmlinux link will fail.
  obj-n := dummy
+ hostprogs-y := ihex2fw
diff --combined firmware/WHENCE
@@@ -8,6 -8,24 +8,24 @@@ kernel
  
  --------------------------------------------------------------------------
  
+ Driver: ambassador -- Madge Ambassador (Collage PCI 155 Server) ATM NIC.
+ File: firmware/atmsar11.fw
+ Licence: Allegedly GPLv2+, but no source visible. Marked:
+   Madge Ambassador ATM Adapter microcode.
+   Copyright (C) 1995-1999  Madge Networks Ltd.
+   This microcode data is placed under the terms of the GNU General
+   Public License. The GPL is contained in /usr/doc/copyright/GPL on a
+   Debian system and in the file COPYING in the Linux kernel source.
+   We would prefer you not to distribute modified versions without
+   consultation and not to ask for assembly/other microcode source.
+ --------------------------------------------------------------------------
  Driver: korg1212 -- Korg 1212 IO audio device
  
  File: korg/k1212.dsp
@@@ -390,59 -408,6 +408,6 @@@ Found in hex form in kernel source
  
  --------------------------------------------------------------------------
  
- Driver: SLICOSS - Alacritech IS-NIC products
- File: slicoss/gbdownload.sys.ihex
- File: slicoss/gbrcvucode.sys.ihex
- File: slicoss/oasisdbgdownload.sys.ihex
- File: slicoss/oasisdownload.sys.ihex
- File: slicoss/oasisrcvucode.sys.ihex
- Licence:
-               Copyright (C) 1999-2009 Alacritech, Inc.
-       as an unpublished work. This notice does not imply unrestricted or
-       public access to the source code from which this firmware image is
-       derived.  Except as noted below this firmware image may not be
-       reproduced, used, sold or transferred to any third party without
-       Alacritech's prior written consent.  All Rights Reserved.
-       Permission is hereby granted for the distribution of this firmware
-       image as part of a Linux or other Open Source operating system kernel
-       in text or binary form as required.
-       This firmware may not be modified and may only be used with
-       Alacritech hardware.
- Found in hex form in kernel source.
- --------------------------------------------------------------------------
- Driver: SXG - Alacritech IS-NIC products
- File: sxg/saharadownloadB.sys.ihex
- File: sxg/saharadbgdownloadB.sys.ihex
- Licence:
-               Copyright (C) 1999-2009 Alacritech, Inc.
-       as an unpublished work. This notice does not imply unrestricted or
-       public access to the source code from which this firmware image is
-       derived.  Except as noted below this firmware image may not be
-       reproduced, used, sold or transferred to any third party without
-       Alacritech's prior written consent.  All Rights Reserved.
-       Permission is hereby granted for the distribution of this firmware
-       image as part of a Linux or other Open Source operating system kernel
-       in text or binary form as required.
-       This firmware may not be modified and may only be used with
-       Alacritech hardware.
- Found in hex form in kernel source.
- --------------------------------------------------------------------------
  Driver: cxgb3 - Chelsio Terminator 3 1G/10G Ethernet adapter
  
  File: cxgb3/t3b_psram-1.1.0.bin.ihex
@@@ -633,32 -598,24 +598,53 @@@ Found in hex form in kernel source
  
  --------------------------------------------------------------------------
  
 +Driver: MYRI_SBUS - MyriCOM Gigabit Ethernet
 +
 +File: myricom/lanai.bin
 +
 +Licence: Unknown
 +
 +Found in hex form in kernel source.
 +
 +--------------------------------------------------------------------------
 +
 +Driver: BNX2 - Broadcom NetXtremeII
 +
 +File: bnx2/bnx2-mips-06-4.6.16.fw
 +File: bnx2/bnx2-rv2p-06-4.6.16.fw
 +File: bnx2/bnx2-mips-09-4.6.17.fw
 +File: bnx2/bnx2-rv2p-09-4.6.15.fw
 +
 +Licence:
 +
 + This file contains firmware data derived from proprietary unpublished
 + source code, Copyright (c) 2004 - 2009 Broadcom Corporation.
 +
 + Permission is hereby granted for the distribution of this firmware data
 + in hexadecimal or equivalent format, provided this copyright notice is
 + accompanying it.
 +
 +Found in hex form in kernel source.
 +
 +--------------------------------------------------------------------------
++
+ Driver: DVB AV7110 -- AV7110 cards
+ File: av7110/bootcode.bin
+ Licence: GPLv2 or later
+ ARM assembly source code available at http://www.linuxtv.org/downloads/firmware/Boot.S
+ --------------------------------------------------------------------------
+ Driver: wavefront - ISA WaveFront sound card
+ File: yamaha/yss225_registers.bin
+ Licence: Allegedly GPLv2+, but no source visible.
+ Found in hex form in kernel source, with the following comment:
+    Copyright (c) 1998-2002 by Paul Davis <pbd@op.net>
 -
+ --------------------------------------------------------------------------