2.6.x libata updates
PATCH 1/1 2.6.x libata updates
Please do a
bk pull bk://gkernel.bkbits.net/libata-2.6
This will update the following files:
drivers/scsi/Kconfig | 14 ++++---- drivers/scsi/ahci.c | 16 ++++----- drivers/scsi/ata_piix.c | 16 +++++---- drivers/scsi/libata-core.c | 71 ++++++++++++++++++++++++-------------------- drivers/scsi/libata-scsi.c | 2 - drivers/scsi/libata.h | 2 - drivers/scsi/sata_nv.c | 13 ++++---- drivers/scsi/sata_promise.c | 13 ++++---- drivers/scsi/sata_sil.c | 5 +-- drivers/scsi/sata_sis.c | 9 +++-- drivers/scsi/sata_svw.c | 5 +-- drivers/scsi/sata_sx4.c | 13 ++++---- drivers/scsi/sata_uli.c | 9 +++-- drivers/scsi/sata_via.c | 3 + drivers/scsi/sata_vsc.c | 5 +-- include/linux/libata.h | 44 ++++++++++++++++++--------- 16 files changed, 141 insertions(+), 99 deletions(-)
through these ChangeSets:
<[email protected]> (04/11/13 1.2095)
[libata] bump versions, add MODULE_VERSION() tags
Also remove dep on CONFIG_EXPERIMENTAL for libata itself, and several libata drivers.
<[email protected]> (04/11/12 1.2094)
[libata] remove dependence on PCI
Most of this work was done by "Mat Loikkanen" <[email protected]>.
* use struct device rather than struct pci_dev
* use generic DMA routines (dma_xxx) and generic struct device routines (dev_xxx)
* isolate PCI-specific helpers inside CONFIG_PCI
drivers/scsi/Kconfig +7 -7
@@ -399,7 +399,7 @@ config SCSI_SATA bool "Serial ATA (SATA) support" - depends on SCSI && EXPERIMENTAL + depends on SCSI help This driver family supports Serial ATA host controllers and devices.
@@ -408,15 +408,15 @@ config SCSI_SATA_AHCI tristate "AHCI SATA support" - depends on SCSI_SATA && PCI && EXPERIMENTAL + 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 (EXPERIMENTAL)" - depends on SCSI_SATA && PCI && EXPERIMENTAL + tristate "ServerWorks Frodo / Apple K2 SATA support" + depends on SCSI_SATA && PCI help This option enables support for Broadcom/Serverworks/Apple K2 SATA support.
@@ -467,7 +467,7 @@ config SCSI_SATA_SIS tristate "SiS 964/180 SATA support" - depends on SCSI_SATA && PCI + depends on SCSI_SATA && PCI && EXPERIMENTAL help This option enables support for SiS Serial ATA 964/180.
@@ -483,7 +483,7 @@ config SCSI_SATA_VIA tristate "VIA SATA support" - depends on SCSI_SATA && PCI && EXPERIMENTAL + depends on SCSI_SATA && PCI help This option enables support for VIA Serial ATA.
@@ -491,7 +491,7 @@ config SCSI_SATA_VITESSE tristate "VITESSE VSC-7174 SATA support" - depends on SCSI_SATA && PCI && EXPERIMENTAL + depends on SCSI_SATA && PCI help This option enables support for Vitesse VSC7174 Serial ATA.
drivers/scsi/ahci.c +8 -8
@@ -270,7 +270,7 @@static int ahci_port_start (struct ata_port *ap) { -struct pci_dev *pdev = ap->host_set->pdev; +struct device *dev = ap->host_set->dev;struct ahci_host_priv *hpriv = ap->host_set->private_data;struct ahci_port_priv *pp;int rc;
@@ -289,7 +289,7 @@ }memset (pp,0 ,sizeof (*pp)); - mem =pci_alloc_consistent (pdev,AHCI_PORT_PRIV_DMA_SZ , &mem_dma); + mem =dma_alloc_coherent (dev,AHCI_PORT_PRIV_DMA_SZ , &mem_dma,GFP_KERNEL );if (!mem) { rc = -ENOMEM ; goto err_out_kfree;
@@ -353,7 +353,7 @@static void ahci_port_stop (struct ata_port *ap) { -struct pci_dev *pdev = ap->host_set->pdev; +struct device *dev = ap->host_set->dev;struct ahci_port_priv *pp = ap->private_data;void *mmio = ap->host_set->mmio_base;void *port_mmio =ahci_port_base (mmio, ap->port_no);
@@ -370,8 +370,8 @@msleep (500 ); ap->private_data =NULL ; -pci_free_consistent (pdev,AHCI_PORT_PRIV_DMA_SZ , - pp->cmd_slot, pp->cmd_slot_dma); +dma_free_coherent (dev,AHCI_PORT_PRIV_DMA_SZ , + pp->cmd_slot, pp->cmd_slot_dma);kfree (pp);ata_port_stop (ap); }
@@ -703,7 +703,7 @@static int ahci_host_init (struct ata_probe_ent *probe_ent) {struct ahci_host_priv *hpriv = probe_ent->private_data; -struct pci_dev *pdev = probe_ent->pdev; +struct pci_dev *pdev =to_pci_dev (probe_ent->dev);void __iomem *mmio = probe_ent->mmio_base;u32 tmp, cap_save;u16 tmp16;
@@ -861,7 +861,7 @@static void ahci_print_info (struct ata_probe_ent *probe_ent) {struct ahci_host_priv *hpriv = probe_ent->private_data; -struct pci_dev *pdev = probe_ent->pdev; +struct pci_dev *pdev =to_pci_dev (probe_ent->dev);void *mmio = probe_ent->mmio_base;u32 vers, cap, impl, speed;const char *speed_s;
@@ -965,7 +965,7 @@ }memset (probe_ent,0 ,sizeof (*probe_ent)); - probe_ent->pdev = pdev; + probe_ent->dev =pci_dev_to_dev (pdev);INIT_LIST_HEAD (&probe_ent->node); mmio_base = ioremap(pci_resource_start(pdev, AHCI_PCI_BAR),
drivers/scsi/ata_piix.c +9 -7
@@ -32,7 +32,7 @@#include <linux/libata.h> #define DRV_NAME "ata_piix" -#define DRV_VERSION "1.02" +#define DRV_VERSION "1.03"enum {PIIX_IOCFG =0x54 ,/* IDE I/O configuration register */
@@ -247,6 +247,7 @@MODULE_DESCRIPTION ("SCSI low-level driver for Intel PIIX/ICH ATA controllers" );MODULE_LICENSE ("GPL" );MODULE_DEVICE_TABLE (pci, piix_pci_tbl); +MODULE_VERSION (DRV_VERSION );/** * piix_pata_cbl_detect - Probe host controller cable detect info
@@ -260,7 +261,7 @@*/ static void piix_pata_cbl_detect (struct ata_port *ap) { -struct pci_dev *pdev = ap->host_set->pdev; +struct pci_dev *pdev =to_pci_dev (ap->host_set->dev);u8 tmp, mask;/* no 80c support in host controller? */
@@ -293,8 +294,9 @@static void piix_pata_phy_reset (struct ata_port *ap) { -if (!pci_test_config_bits (ap->host_set->pdev, - &piix_enable_bits[ap->hard_port_no])) { +struct pci_dev *pdev =to_pci_dev (ap->host_set->dev); + +if (!pci_test_config_bits (pdev, &piix_enable_bits[ap->hard_port_no])) {ata_port_disable (ap);printk (KERN_INFO "ata%u: port disabled. ignoring.\n" , ap->id);return ;
@@ -322,7 +324,7 @@*/ static int piix_sata_probe (struct ata_port *ap) { -struct pci_dev *pdev = ap->host_set->pdev; +struct pci_dev *pdev =to_pci_dev (ap->host_set->dev);int combined = (ap->flags &ATA_FLAG_SLAVE_POSS );int orig_mask, mask, i;u8 pcs;
@@ -392,7 +394,7 @@static void piix_set_piomode (struct ata_port *ap,struct ata_device *adev) {unsigned int pio = adev->pio_mode -XFER_PIO_0 ; -struct pci_dev *dev = ap->host_set->pdev; +struct pci_dev *dev =to_pci_dev (ap->host_set->dev);unsigned int is_slave = (adev->devno !=0 );unsigned int master_port= ap->hard_port_no ?0x42 :0x40 ;unsigned int slave_port =0x44 ;
@@ -444,7 +446,7 @@static void piix_set_dmamode (struct ata_port *ap,struct ata_device *adev) {unsigned int udma = adev->dma_mode;/* FIXME: MWDMA too */ -struct pci_dev *dev = ap->host_set->pdev; +struct pci_dev *dev =to_pci_dev (ap->host_set->dev);u8 maslave = ap->hard_port_no ?0x42 :0x40 ;u8 speed = udma;unsigned int drive_dn = (ap->hard_port_no ?2 :0 ) + adev->devno;
drivers/scsi/libata-core.c +40 -31
234 lines not on this page · raw message
drivers/scsi/libata-scsi.c +1 -1
@@ -678,7 +678,7 @@ata_sg_init_one (qc, cmd->request_buffer, cmd->request_bufflen); - qc->pci_dma_dir =scsi_to_pci_dma_dir (cmd->sc_data_direction); + qc->dma_dir = cmd->sc_data_direction; } qc->complete_fn = ata_scsi_qc_complete;
drivers/scsi/libata.h +1 -1
@@ -26,7 +26,7 @@#define __LIBATA_H__#define DRV_NAME "libata" -#define DRV_VERSION "1.02"/* must be exactly four chars */ +#define DRV_VERSION "1.10"/* must be exactly four chars */ struct ata_scsi_args {u16 *id;
drivers/scsi/sata_nv.c +8 -5
@@ -44,7 +44,7 @@#include <linux/libata.h> #define DRV_NAME "sata_nv" -#define DRV_VERSION "0.03" +#define DRV_VERSION "0.5"#define NV_PORTS 2#define NV_PIO_MASK 0x1f
@@ -234,6 +234,7 @@MODULE_DESCRIPTION ("low-level driver for NVIDIA nForce SATA controller" );MODULE_LICENSE ("GPL" );MODULE_DEVICE_TABLE (pci, nv_pci_tbl); +MODULE_VERSION (DRV_VERSION );irqreturn_t nv_interrupt (int irq,void *dev_instance,struct pt_regs *regs) {
@@ -454,12 +455,13 @@static void nv_enable_hotplug_ck804 (struct ata_probe_ent *probe_ent) { +struct pci_dev *pdev =to_pci_dev (probe_ent->dev);u8 intr_mask;u8 regval; -pci_read_config_byte (probe_ent->pdev,NV_MCP_SATA_CFG_20 , ®val); +pci_read_config_byte (pdev,NV_MCP_SATA_CFG_20 , ®val); regval |=NV_MCP_SATA_CFG_20_SATA_SPACE_EN ; -pci_write_config_byte (probe_ent->pdev,NV_MCP_SATA_CFG_20 , regval); +pci_write_config_byte (pdev,NV_MCP_SATA_CFG_20 , regval);writeb (NV_INT_STATUS_HOTPLUG , probe_ent->mmio_base +NV_INT_STATUS_CK804 );
@@ -471,6 +473,7 @@static void nv_disable_hotplug_ck804 (struct ata_host_set *host_set) { +struct pci_dev *pdev =to_pci_dev (host_set->dev);u8 intr_mask;u8 regval;
@@ -480,9 +483,9 @@writeb (intr_mask, host_set->mmio_base +NV_INT_ENABLE_CK804 ); -pci_read_config_byte (host_set->pdev,NV_MCP_SATA_CFG_20 , ®val); +pci_read_config_byte (pdev,NV_MCP_SATA_CFG_20 , ®val); regval &= ~NV_MCP_SATA_CFG_20_SATA_SPACE_EN ; -pci_write_config_byte (host_set->pdev,NV_MCP_SATA_CFG_20 , regval); +pci_write_config_byte (pdev,NV_MCP_SATA_CFG_20 , regval); }static void nv_check_hotplug_ck804 (struct ata_host_set *host_set)
drivers/scsi/sata_promise.c +7 -6
@@ -40,7 +40,7 @@#include "sata_promise.h" #define DRV_NAME "sata_promise" -#define DRV_VERSION "1.00" +#define DRV_VERSION "1.01"enum {
@@ -174,7 +174,7 @@static int pdc_port_start (struct ata_port *ap) { -struct pci_dev *pdev = ap->host_set->pdev; +struct device *dev = ap->host_set->dev;struct pdc_port_priv *pp;int rc;
@@ -189,7 +189,7 @@ }memset (pp,0 ,sizeof (*pp)); - pp->pkt =pci_alloc_consistent (pdev,128 , &pp->pkt_dma); + pp->pkt =dma_alloc_coherent (dev,128 , &pp->pkt_dma,GFP_KERNEL );if (!pp->pkt) { rc = -ENOMEM ; goto err_out_kfree;
@@ -209,11 +209,11 @@static void pdc_port_stop (struct ata_port *ap) { -struct pci_dev *pdev = ap->host_set->pdev; +struct device *dev = ap->host_set->dev;struct pdc_port_priv *pp = ap->private_data; ap->private_data =NULL ; -pci_free_consistent (pdev,128 , pp->pkt, pp->pkt_dma); +dma_free_coherent (dev,128 , pp->pkt, pp->pkt_dma);kfree (pp);ata_port_stop (ap); }
@@ -577,7 +577,7 @@ }memset (probe_ent,0 ,sizeof (*probe_ent)); - probe_ent->pdev = pdev; + probe_ent->dev =pci_dev_to_dev (pdev);INIT_LIST_HEAD (&probe_ent->node); mmio_base = ioremap(pci_resource_start(pdev, 3),
@@ -661,6 +661,7 @@MODULE_DESCRIPTION ("Promise SATA TX2/TX4 low-level driver" );MODULE_LICENSE ("GPL" );MODULE_DEVICE_TABLE (pci, pdc_ata_pci_tbl); +MODULE_VERSION (DRV_VERSION );module_init (pdc_ata_init);module_exit (pdc_ata_exit);
drivers/scsi/sata_sil.c +3 -2
@@ -38,7 +38,7 @@#include <linux/libata.h> #define DRV_NAME "sata_sil" -#define DRV_VERSION "0.54" +#define DRV_VERSION "0.8"enum { sil_3112 =0 ,
@@ -190,6 +190,7 @@MODULE_DESCRIPTION ("low-level driver for Silicon Image SATA controller" );MODULE_LICENSE ("GPL" );MODULE_DEVICE_TABLE (pci, sil_pci_tbl); +MODULE_VERSION (DRV_VERSION );static void sil_post_set_mode (struct ata_port *ap) {
@@ -363,7 +364,7 @@memset (probe_ent,0 ,sizeof (*probe_ent));INIT_LIST_HEAD (&probe_ent->node); - probe_ent->pdev = pdev; + probe_ent->dev =pci_dev_to_dev (pdev); probe_ent->port_ops = sil_port_info[ent->driver_data].port_ops; probe_ent->sht = sil_port_info[ent->driver_data].sht; probe_ent->n_ports = (ent->driver_data == sil_3114) ?4 :2 ;
drivers/scsi/sata_sis.c +6 -3
@@ -38,7 +38,7 @@#include <linux/libata.h> #define DRV_NAME "sata_sis" -#define DRV_VERSION "0.10" +#define DRV_VERSION "0.5"enum { sis_180 =0 ,
@@ -128,6 +128,7 @@MODULE_DESCRIPTION ("low-level driver for Silicon Integratad Systems SATA controller" );MODULE_LICENSE ("GPL" );MODULE_DEVICE_TABLE (pci, sis_pci_tbl); +MODULE_VERSION (DRV_VERSION );static unsigned int get_scr_cfg_addr (unsigned int port_no,unsigned int sc_reg) {
@@ -140,22 +141,24 @@static u32 sis_scr_cfg_read (struct ata_port *ap,unsigned int sc_reg) { +struct pci_dev *pdev =to_pci_dev (ap->host_set->dev);unsigned int cfg_addr =get_scr_cfg_addr (ap->port_no, sc_reg);u32 val;if (sc_reg ==SCR_ERROR )/* doesn't exist in PCI cfg space */ return 0xffffffff ; -pci_read_config_dword (ap->host_set->pdev, cfg_addr, &val); +pci_read_config_dword (pdev, cfg_addr, &val);return val; }static void sis_scr_cfg_write (struct ata_port *ap,unsigned int scr,u32 val) { +struct pci_dev *pdev =to_pci_dev (ap->host_set->dev);unsigned int cfg_addr =get_scr_cfg_addr (ap->port_no, scr);if (scr ==SCR_ERROR )/* doesn't exist in PCI cfg space */ return ; -pci_write_config_dword (ap->host_set->pdev, cfg_addr, val); +pci_write_config_dword (pdev, cfg_addr, val); }static u32 sis_scr_read (struct ata_port *ap,unsigned int sc_reg)
drivers/scsi/sata_svw.c +3 -2
@@ -49,7 +49,7 @@#endif /* CONFIG_PPC_OF */ #define DRV_NAME "sata_svw" -#define DRV_VERSION "1.04" +#define DRV_VERSION "1.05"/* Taskfile registers offsets */ #define K2_SATA_TF_CMD_OFFSET 0x00
@@ -376,7 +376,7 @@ }memset (probe_ent,0 ,sizeof (*probe_ent)); - probe_ent->pdev = pdev; + probe_ent->dev =pci_dev_to_dev (pdev);INIT_LIST_HEAD (&probe_ent->node); mmio_base = ioremap(pci_resource_start(pdev, 5),
@@ -470,6 +470,7 @@MODULE_DESCRIPTION ("low-level driver for K2 SATA controller" );MODULE_LICENSE ("GPL" );MODULE_DEVICE_TABLE (pci, k2_sata_pci_tbl); +MODULE_VERSION (DRV_VERSION );module_init (k2_sata_init);module_exit (k2_sata_exit);
drivers/scsi/sata_sx4.c +7 -6
@@ -40,7 +40,7 @@#include "sata_promise.h" #define DRV_NAME "sata_sx4" -#define DRV_VERSION "0.50" +#define DRV_VERSION "0.7"enum {
@@ -248,7 +248,7 @@static int pdc_port_start (struct ata_port *ap) { -struct pci_dev *pdev = ap->host_set->pdev; +struct device *dev = ap->host_set->dev;struct pdc_port_priv *pp;int rc;
@@ -263,7 +263,7 @@ }memset (pp,0 ,sizeof (*pp)); - pp->pkt =pci_alloc_consistent (pdev,128 , &pp->pkt_dma); + pp->pkt =dma_alloc_coherent (dev,128 , &pp->pkt_dma,GFP_KERNEL );if (!pp->pkt) { rc = -ENOMEM ; goto err_out_kfree;
@@ -283,11 +283,11 @@static void pdc_port_stop (struct ata_port *ap) { -struct pci_dev *pdev = ap->host_set->pdev; +struct device *dev = ap->host_set->dev;struct pdc_port_priv *pp = ap->private_data; ap->private_data =NULL ; -pci_free_consistent (pdev,128 , pp->pkt, pp->pkt_dma); +dma_free_coherent (dev,128 , pp->pkt, pp->pkt_dma);kfree (pp);ata_port_stop (ap); }
@@ -1397,7 +1397,7 @@ }memset (probe_ent,0 ,sizeof (*probe_ent)); - probe_ent->pdev = pdev; + probe_ent->dev =pci_dev_to_dev (pdev);INIT_LIST_HEAD (&probe_ent->node); mmio_base = ioremap(pci_resource_start(pdev, 3),
@@ -1492,6 +1492,7 @@MODULE_DESCRIPTION ("Promise SATA low-level driver" );MODULE_LICENSE ("GPL" );MODULE_DEVICE_TABLE (pci, pdc_sata_pci_tbl); +MODULE_VERSION (DRV_VERSION );module_init (pdc_sata_init);module_exit (pdc_sata_exit);
drivers/scsi/sata_uli.c +6 -3
@@ -32,7 +32,7 @@#include <linux/libata.h> #define DRV_NAME "sata_uli" -#define DRV_VERSION "0.11" +#define DRV_VERSION "0.2"enum { uli_5289 =0 ,
@@ -123,6 +123,7 @@MODULE_DESCRIPTION ("low-level driver for ULi Electronics SATA controller" );MODULE_LICENSE ("GPL" );MODULE_DEVICE_TABLE (pci, uli_pci_tbl); +MODULE_VERSION (DRV_VERSION );static unsigned int get_scr_cfg_addr (unsigned int port_no,unsigned int sc_reg) {
@@ -149,18 +150,20 @@static u32 uli_scr_cfg_read (struct ata_port *ap,unsigned int sc_reg) { +struct pci_dev *pdev =to_pci_dev (ap->host_set->dev);unsigned int cfg_addr =get_scr_cfg_addr (ap->port_no, sc_reg);u32 val; -pci_read_config_dword (ap->host_set->pdev, cfg_addr, &val); +pci_read_config_dword (pdev, cfg_addr, &val);return val; }static void uli_scr_cfg_write (struct ata_port *ap,unsigned int scr,u32 val) { +struct pci_dev *pdev =to_pci_dev (ap->host_set->dev);unsigned int cfg_addr =get_scr_cfg_addr (ap->port_no, scr); -pci_write_config_dword (ap->host_set->pdev, cfg_addr, val); +pci_write_config_dword (pdev, cfg_addr, val); }static u32 uli_scr_read (struct ata_port *ap,unsigned int sc_reg)
drivers/scsi/sata_via.c +2 -1
@@ -38,7 +38,7 @@#include <asm/io.h> #define DRV_NAME "sata_via" -#define DRV_VERSION "0.20" +#define DRV_VERSION "1.0"enum { via_sata =0 ,
@@ -138,6 +138,7 @@MODULE_DESCRIPTION ("SCSI low-level driver for VIA SATA controllers" );MODULE_LICENSE ("GPL" );MODULE_DEVICE_TABLE (pci, svia_pci_tbl); +MODULE_VERSION (DRV_VERSION );static u32 svia_scr_read (struct ata_port *ap,unsigned int sc_reg) {
drivers/scsi/sata_vsc.c +3 -2
@@ -26,7 +26,7 @@#include <linux/libata.h> #define DRV_NAME "sata_vsc" -#define DRV_VERSION "0.01" +#define DRV_VERSION "1.0"/* Interrupt register offsets (from chip base address) */ #define VSC_SATA_INT_STAT_OFFSET 0x00
@@ -293,7 +293,7 @@ goto err_out_regions; }memset (probe_ent,0 ,sizeof (*probe_ent)); - probe_ent->pdev = pdev; + probe_ent->dev =pci_dev_to_dev (pdev);INIT_LIST_HEAD (&probe_ent->node); mmio_base = ioremap(pci_resource_start(pdev, 0),
@@ -393,6 +393,7 @@MODULE_DESCRIPTION ("low-level driver for Vitesse VSC7174 SATA controller" );MODULE_LICENSE ("GPL" );MODULE_DEVICE_TABLE (pci, vsc_sata_pci_tbl); +MODULE_VERSION (DRV_VERSION );module_init (vsc_sata_init);module_exit (vsc_sata_exit);
include/linux/libata.h +30 -14
107 lines not on this page · raw message