Merge branch 'master' into upstream
authorJeff Garzik <jeff@garzik.org>
Sun, 24 Sep 2006 05:52:47 +0000 (01:52 -0400)
committerJeff Garzik <jeff@garzik.org>
Sun, 24 Sep 2006 05:52:47 +0000 (01:52 -0400)
1  2 
drivers/ata/libata-eh.c
drivers/ata/sata_svw.c
drivers/scsi/Kconfig
drivers/scsi/Makefile

diff --combined drivers/ata/libata-eh.c
index b1b510493c2db24610b65bfeb0bdb7086d8e8de5,2c34af99627d3a78caefe8fcea233f1539c3afb1..3fa80f09f2ae8edf283b36e4553a7c9b119ea1e8
   *
   */
  
- #include <linux/config.h>
  #include <linux/kernel.h>
  #include <scsi/scsi.h>
  #include <scsi/scsi_host.h>
  #include <scsi/scsi_eh.h>
  #include <scsi/scsi_device.h>
  #include <scsi/scsi_cmnd.h>
 -#include "scsi_transport_api.h"
 +#include "../scsi/scsi_transport_api.h"
  
  #include <linux/libata.h>
  
@@@ -200,7 -199,7 +199,7 @@@ void ata_scsi_error(struct Scsi_Host *h
        /* synchronize with port task */
        ata_port_flush_task(ap);
  
 -      /* synchronize with host_set lock and sort out timeouts */
 +      /* synchronize with host lock and sort out timeouts */
  
        /* For new EH, all qcs are finished in one of three ways -
         * normal completion, error completion, and SCSI timeout.
@@@ -377,7 -376,7 +376,7 @@@ void ata_port_wait_eh(struct ata_port *
        spin_unlock_irqrestore(ap->lock, flags);
  
        /* make sure SCSI EH is complete */
 -      if (scsi_host_in_recovery(ap->host)) {
 +      if (scsi_host_in_recovery(ap->scsi_host)) {
                msleep(10);
                goto retry;
        }
@@@ -486,7 -485,7 +485,7 @@@ void ata_eng_timeout(struct ata_port *a
   *    other commands are drained.
   *
   *    LOCKING:
 - *    spin_lock_irqsave(host_set lock)
 + *    spin_lock_irqsave(host lock)
   */
  void ata_qc_schedule_eh(struct ata_queued_cmd *qc)
  {
   *    all commands are drained.
   *
   *    LOCKING:
 - *    spin_lock_irqsave(host_set lock)
 + *    spin_lock_irqsave(host lock)
   */
  void ata_port_schedule_eh(struct ata_port *ap)
  {
        WARN_ON(!ap->ops->error_handler);
  
        ap->pflags |= ATA_PFLAG_EH_PENDING;
 -      scsi_schedule_eh(ap->host);
 +      scsi_schedule_eh(ap->scsi_host);
  
        DPRINTK("port EH scheduled\n");
  }
   *    Abort all active qc's of @ap and schedule EH.
   *
   *    LOCKING:
 - *    spin_lock_irqsave(host_set lock)
 + *    spin_lock_irqsave(host lock)
   *
   *    RETURNS:
   *    Number of aborted qc's.
@@@ -575,7 -574,7 +574,7 @@@ int ata_port_abort(struct ata_port *ap
   *    is frozen.
   *
   *    LOCKING:
 - *    spin_lock_irqsave(host_set lock)
 + *    spin_lock_irqsave(host lock)
   */
  static void __ata_port_freeze(struct ata_port *ap)
  {
   *    Abort and freeze @ap.
   *
   *    LOCKING:
 - *    spin_lock_irqsave(host_set lock)
 + *    spin_lock_irqsave(host lock)
   *
   *    RETURNS:
   *    Number of aborted commands.
diff --combined drivers/ata/sata_svw.c
index 2a7e3495cf160b506dd2b9a7ee10b4e8a949c75d,6b70c3c76dfdb9c087fe502af95c1e709fd5a7b0..d6d6658d8328b0a7c4796bba71b121c93ada8356
@@@ -169,7 -169,7 +169,7 @@@ static void k2_sata_tf_read(struct ata_
   *    @qc: Info associated with this ATA transaction.
   *
   *    LOCKING:
 - *    spin_lock_irqsave(host_set lock)
 + *    spin_lock_irqsave(host lock)
   */
  
  static void k2_bmdma_setup_mmio (struct ata_queued_cmd *qc)
   *    @qc: Info associated with this ATA transaction.
   *
   *    LOCKING:
 - *    spin_lock_irqsave(host_set lock)
 + *    spin_lock_irqsave(host lock)
   */
  
  static void k2_bmdma_start_mmio (struct ata_queued_cmd *qc)
@@@ -261,14 -261,14 +261,14 @@@ static int k2_sata_proc_info(struct Scs
                return 0;
  
        /* Find the OF node for the PCI device proper */
 -      np = pci_device_to_OF_node(to_pci_dev(ap->host_set->dev));
 +      np = pci_device_to_OF_node(to_pci_dev(ap->host->dev));
        if (np == NULL)
                return 0;
  
        /* Match it to a port node */
 -      index = (ap == ap->host_set->ports[0]) ? 0 : 1;
 +      index = (ap == ap->host->ports[0]) ? 0 : 1;
        for (np = np->child; np != NULL; np = np->sibling) {
-               u32 *reg = (u32 *)get_property(np, "reg", NULL);
+               const u32 *reg = get_property(np, "reg", NULL);
                if (!reg)
                        continue;
                if (index == *reg)
@@@ -423,7 -423,7 +423,7 @@@ static int k2_sata_init_one (struct pci
        writel(0x0, mmio_base + K2_SATA_SIM_OFFSET);
  
        probe_ent->sht = &k2_sata_sht;
 -      probe_ent->host_flags = ATA_FLAG_SATA | ATA_FLAG_NO_LEGACY |
 +      probe_ent->port_flags = ATA_FLAG_SATA | ATA_FLAG_NO_LEGACY |
                                ATA_FLAG_MMIO;
        probe_ent->port_ops = &k2_sata_ops;
        probe_ent->n_ports = 4;
@@@ -488,7 -488,7 +488,7 @@@ static struct pci_driver k2_sata_pci_dr
  
  static int __init k2_sata_init(void)
  {
 -      return pci_module_init(&k2_sata_pci_driver);
 +      return pci_register_driver(&k2_sata_pci_driver);
  }
  
  
diff --combined drivers/scsi/Kconfig
index 2df4d15c963432624c1e05c61d8a5ed0bd0e153d,a6f920d218a0266844b4e0819f3fbc75b124dffe..c4dfcc91dddaa07ea474037fd60f9245ae962d98
@@@ -27,6 -27,11 +27,11 @@@ config SCS
          However, do not compile this as a module if your root file system
          (the one containing the directory /) is located on a SCSI device.
  
+ config SCSI_NETLINK
+       bool
+       default n
+       select NET
  config SCSI_PROC_FS
        bool "legacy /proc/scsi/ support"
        depends on SCSI && PROC_FS
@@@ -209,7 -214,7 +214,7 @@@ config SCSI_LOGGIN
          there should be no noticeable performance impact as long as you have
          logging turned off.
  
- menu "SCSI Transport Attributes"
+ menu "SCSI Transports"
        depends on SCSI
  
  config SCSI_SPI_ATTRS
  config SCSI_FC_ATTRS
        tristate "FiberChannel Transport Attributes"
        depends on SCSI
+       select SCSI_NETLINK
        help
          If you wish to export transport-specific information about
          each attached FiberChannel device to sysfs, say Y.
@@@ -242,6 -248,8 +248,8 @@@ config SCSI_SAS_ATTR
          If you wish to export transport-specific information about
          each attached SAS device to sysfs, say Y.
  
+ source "drivers/scsi/libsas/Kconfig"
  endmenu
  
  menu "SCSI low-level drivers"
@@@ -431,6 -439,7 +439,7 @@@ config SCSI_AIC7XXX_OL
          module will be called aic7xxx_old.
  
  source "drivers/scsi/aic7xxx/Kconfig.aic79xx"
+ source "drivers/scsi/aic94xx/Kconfig"
  
  # All the I2O code and drivers do not seem to be 64bit safe.
  config SCSI_DPT_I2O
@@@ -469,8 -478,83 +478,22 @@@ config SCSI_IN200
          To compile this driver as a module, choose M here: the
          module will be called in2000.
  
+ config SCSI_ARCMSR
+       tristate "ARECA ARC11X0[PCI-X]/ARC12X0[PCI-EXPRESS] SATA-RAID support"
+       depends on PCI && SCSI
+       help
+         This driver supports all of ARECA's SATA RAID controller cards.
+         This is an ARECA-maintained driver by Erich Chen.
+         If you have any problems, please mail to: < erich@areca.com.tw >
+         Areca supports Linux RAID config tools.
+         < http://www.areca.com.tw >
+         To compile this driver as a module, choose M here: the
+         module will be called arcmsr (modprobe arcmsr).
  source "drivers/scsi/megaraid/Kconfig.megaraid"
  
 -config SCSI_SATA
 -      tristate "Serial ATA (SATA) support"
 -      depends on SCSI
 -      help
 -        This driver family supports Serial ATA host controllers
 -        and devices.
 -
 -        If unsure, say N.
 -
 -config SCSI_SATA_AHCI
 -      tristate "AHCI SATA support"
 -      depends on SCSI_SATA && PCI
 -      help
 -        This option enables support for AHCI Serial ATA.
 -
 -        If unsure, say N.
 -
 -config SCSI_SATA_SVW
 -      tristate "ServerWorks Frodo / Apple K2 SATA support"
 -      depends on SCSI_SATA && PCI
 -      help
 -        This option enables support for Broadcom/Serverworks/Apple K2
 -        SATA support.
 -
 -        If unsure, say N.
 -
 -config SCSI_ATA_PIIX
 -      tristate "Intel PIIX/ICH SATA support"
 -      depends on SCSI_SATA && PCI
 -      help
 -        This option enables support for ICH5/6/7/8 Serial ATA.
 -        If PATA support was enabled previously, this enables
 -        support for select Intel PIIX/ICH PATA host controllers.
 -
 -        If unsure, say N.
 -
 -config SCSI_SATA_MV
 -      tristate "Marvell SATA support (HIGHLY EXPERIMENTAL)"
 -      depends on SCSI_SATA && PCI && EXPERIMENTAL
 -      help
 -        This option enables support for the Marvell Serial ATA family.
 -        Currently supports 88SX[56]0[48][01] chips.
 -
 -        If unsure, say N.
 -
 -config SCSI_SATA_NV
 -      tristate "NVIDIA SATA support"
 -      depends on SCSI_SATA && PCI && EXPERIMENTAL
 -      help
 -        This option enables support for NVIDIA Serial ATA.
 -
 -        If unsure, say N.
 -
 -config SCSI_PDC_ADMA
 -      tristate "Pacific Digital ADMA support"
 -      depends on SCSI_SATA && PCI
 -      help
 -        This option enables support for Pacific Digital ADMA controllers
 -
 -        If unsure, say N.
 -
  config SCSI_HPTIOP
        tristate "HighPoint RocketRAID 3xxx Controller support"
        depends on SCSI && PCI
          To compile this driver as a module, choose M here; the module
          will be called hptiop. If unsure, say N.
  
 -config SCSI_SATA_QSTOR
 -      tristate "Pacific Digital SATA QStor support"
 -      depends on SCSI_SATA && PCI
 -      help
 -        This option enables support for Pacific Digital Serial ATA QStor.
 -
 -        If unsure, say N.
 -
 -config SCSI_SATA_PROMISE
 -      tristate "Promise SATA TX2/TX4 support"
 -      depends on SCSI_SATA && PCI
 -      help
 -        This option enables support for Promise Serial ATA TX2/TX4.
 -
 -        If unsure, say N.
 -
 -config SCSI_SATA_SX4
 -      tristate "Promise SATA SX4 support"
 -      depends on SCSI_SATA && PCI && EXPERIMENTAL
 -      help
 -        This option enables support for Promise Serial ATA SX4.
 -
 -        If unsure, say N.
 -
 -config SCSI_SATA_SIL
 -      tristate "Silicon Image SATA support"
 -      depends on SCSI_SATA && PCI && EXPERIMENTAL
 -      help
 -        This option enables support for Silicon Image Serial ATA.
 -
 -        If unsure, say N.
 -
 -config SCSI_SATA_SIL24
 -      tristate "Silicon Image 3124/3132 SATA support"
 -      depends on SCSI_SATA && PCI && EXPERIMENTAL
 -      help
 -        This option enables support for Silicon Image 3124/3132 Serial ATA.
 -
 -        If unsure, say N.
 -
 -config SCSI_SATA_SIS
 -      tristate "SiS 964/180 SATA support"
 -      depends on SCSI_SATA && PCI && EXPERIMENTAL
 -      help
 -        This option enables support for SiS Serial ATA 964/180.
 -
 -        If unsure, say N.
 -
 -config SCSI_SATA_ULI
 -      tristate "ULi Electronics SATA support"
 -      depends on SCSI_SATA && PCI && EXPERIMENTAL
 -      help
 -        This option enables support for ULi Electronics SATA.
 -
 -        If unsure, say N.
 -
 -config SCSI_SATA_VIA
 -      tristate "VIA SATA support"
 -      depends on SCSI_SATA && PCI
 -      help
 -        This option enables support for VIA Serial ATA.
 -
 -        If unsure, say N.
 -
 -config SCSI_SATA_VITESSE
 -      tristate "VITESSE VSC-7174 / INTEL 31244 SATA support"
 -      depends on SCSI_SATA && PCI
 -      help
 -        This option enables support for Vitesse VSC7174 and Intel 31244 Serial ATA.
 -
 -        If unsure, say N.
 -
 -config SCSI_SATA_INTEL_COMBINED
 -      bool
 -      depends on IDE=y && !BLK_DEV_IDE_SATA && (SCSI_SATA_AHCI || SCSI_ATA_PIIX)
 -      default y
 -
  config SCSI_BUSLOGIC
        tristate "BusLogic SCSI support"
        depends on (PCI || ISA || MCA) && SCSI && ISA_DMA_API
@@@ -915,6 -1076,13 +938,13 @@@ config 53C700_LE_ON_B
        depends on SCSI_LASI700
        default y
  
+ config SCSI_STEX
+       tristate "Promise SuperTrak EX Series support"
+       depends on PCI && SCSI
+       ---help---
+         This driver supports Promise SuperTrak EX8350/8300/16350/16300
+         Storage controllers.
  config SCSI_SYM53C8XX_2
        tristate "SYM53C8XX Version 2 SCSI support"
        depends on PCI && SCSI
diff --combined drivers/scsi/Makefile
index b678f957cfe2c424f8564dce935df8d51b83f92f,8fc2c594b537b4293b5d9a17be6c5d16a15325fb..1ef951be7a5d1a5ff0716fa3f640df16386ab215
@@@ -32,6 -32,7 +32,7 @@@ obj-$(CONFIG_SCSI_SPI_ATTRS)  += scsi_tr
  obj-$(CONFIG_SCSI_FC_ATTRS)   += scsi_transport_fc.o
  obj-$(CONFIG_SCSI_ISCSI_ATTRS)        += scsi_transport_iscsi.o
  obj-$(CONFIG_SCSI_SAS_ATTRS)  += scsi_transport_sas.o
+ obj-$(CONFIG_SCSI_SAS_LIBSAS) += libsas/
  
  obj-$(CONFIG_ISCSI_TCP)       += libiscsi.o   iscsi_tcp.o
  obj-$(CONFIG_INFINIBAND_ISER)         += libiscsi.o
@@@ -59,6 -60,7 +60,7 @@@ obj-$(CONFIG_SCSI_PSI240I)    += psi240i.
  obj-$(CONFIG_SCSI_BUSLOGIC)   += BusLogic.o
  obj-$(CONFIG_SCSI_DPT_I2O)    += dpt_i2o.o
  obj-$(CONFIG_SCSI_U14_34F)    += u14-34f.o
+ obj-$(CONFIG_SCSI_ARCMSR)     += arcmsr/
  obj-$(CONFIG_SCSI_ULTRASTOR)  += ultrastor.o
  obj-$(CONFIG_SCSI_AHA152X)    += aha152x.o
  obj-$(CONFIG_SCSI_AHA1542)    += aha1542.o
@@@ -67,6 -69,7 +69,7 @@@ obj-$(CONFIG_SCSI_AIC7XXX)    += aic7xxx
  obj-$(CONFIG_SCSI_AIC79XX)    += aic7xxx/
  obj-$(CONFIG_SCSI_AACRAID)    += aacraid/
  obj-$(CONFIG_SCSI_AIC7XXX_OLD)        += aic7xxx_old.o
+ obj-$(CONFIG_SCSI_AIC94XX)    += aic94xx/
  obj-$(CONFIG_SCSI_IPS)                += ips.o
  obj-$(CONFIG_SCSI_FD_MCS)     += fd_mcs.o
  obj-$(CONFIG_SCSI_FUTURE_DOMAIN)+= fdomain.o
@@@ -122,7 -125,23 +125,8 @@@ obj-$(CONFIG_SCSI_LASI700)        += 53c700.o 
  obj-$(CONFIG_SCSI_NSP32)      += nsp32.o
  obj-$(CONFIG_SCSI_IPR)                += ipr.o
  obj-$(CONFIG_SCSI_IBMVSCSI)   += ibmvscsi/
 -obj-$(CONFIG_SCSI_SATA_AHCI)  += libata.o ahci.o
 -obj-$(CONFIG_SCSI_SATA_SVW)   += libata.o sata_svw.o
 -obj-$(CONFIG_SCSI_ATA_PIIX)   += libata.o ata_piix.o
 -obj-$(CONFIG_SCSI_SATA_PROMISE)       += libata.o sata_promise.o
 -obj-$(CONFIG_SCSI_SATA_QSTOR) += libata.o sata_qstor.o
 -obj-$(CONFIG_SCSI_SATA_SIL)   += libata.o sata_sil.o
 -obj-$(CONFIG_SCSI_SATA_SIL24) += libata.o sata_sil24.o
 -obj-$(CONFIG_SCSI_SATA_VIA)   += libata.o sata_via.o
 -obj-$(CONFIG_SCSI_SATA_VITESSE)       += libata.o sata_vsc.o
 -obj-$(CONFIG_SCSI_SATA_SIS)   += libata.o sata_sis.o
 -obj-$(CONFIG_SCSI_SATA_SX4)   += libata.o sata_sx4.o
 -obj-$(CONFIG_SCSI_SATA_NV)    += libata.o sata_nv.o
 -obj-$(CONFIG_SCSI_SATA_ULI)   += libata.o sata_uli.o
 -obj-$(CONFIG_SCSI_SATA_MV)    += libata.o sata_mv.o
 -obj-$(CONFIG_SCSI_PDC_ADMA)   += libata.o pdc_adma.o
  obj-$(CONFIG_SCSI_HPTIOP)     += hptiop.o
+ obj-$(CONFIG_SCSI_STEX)               += stex.o
  
  obj-$(CONFIG_ARM)             += arm/
  
@@@ -140,6 -159,7 +144,7 @@@ scsi_mod-y                 += scsi.o hosts.o scsi_ioc
                                   scsicam.o scsi_error.o scsi_lib.o \
                                   scsi_scan.o scsi_sysfs.o \
                                   scsi_devinfo.o
+ scsi_mod-$(CONFIG_SCSI_NETLINK)       += scsi_netlink.o
  scsi_mod-$(CONFIG_SYSCTL)     += scsi_sysctl.o
  scsi_mod-$(CONFIG_SCSI_PROC_FS)       += scsi_proc.o
  
@@@ -151,6 -171,7 +156,6 @@@ ncr53c8xx-flags-$(CONFIG_SCSI_ZALON) 
  CFLAGS_ncr53c8xx.o    := $(ncr53c8xx-flags-y) $(ncr53c8xx-flags-m)
  zalon7xx-objs := zalon.o ncr53c8xx.o
  NCR_Q720_mod-objs     := NCR_Q720.o ncr53c8xx.o
 -libata-objs   := libata-core.o libata-scsi.o libata-bmdma.o libata-eh.o
  oktagon_esp_mod-objs  := oktagon_esp.o oktagon_io.o
  
  # Files generated that shall be removed upon make clean