]> err.no Git - linux-2.6/blobdiff - drivers/ata/sata_via.c
Merge branch 'for-linus' of git://oss.sgi.com:8090/xfs/xfs-2.6
[linux-2.6] / drivers / ata / sata_via.c
index f0757023ce9d0fe6f7635dbcd8a24f12f2c8911e..30caa033719039c73350fee395c30fd6f374bc24 100644 (file)
@@ -3,7 +3,7 @@
  *
  *  Maintained by:  Jeff Garzik <jgarzik@pobox.com>
  *                Please ALWAYS copy linux-ide@vger.kernel.org
                 on emails.
*                on emails.
  *
  *  Copyright 2003-2004 Red Hat, Inc.  All rights reserved.
  *  Copyright 2003-2004 Jeff Garzik
@@ -30,8 +30,6 @@
  *  Hardware documentation available under NDA.
  *
  *
- *  To-do list:
- *  - VT6421 PATA support
  *
  */
 
@@ -57,7 +55,6 @@ enum {
        SATA_CHAN_ENAB          = 0x40, /* SATA channel enable */
        SATA_INT_GATE           = 0x41, /* SATA interrupt gating */
        SATA_NATIVE_MODE        = 0x42, /* Native mode enable */
-       SATA_PATA_SHARING       = 0x49, /* PATA/SATA sharing func ctrl */
        PATA_UDMA_TIMING        = 0xB3, /* PATA timing for DMA/ cable detect */
        PATA_PIO_TIMING         = 0xAB, /* PATA timing register */
 
@@ -68,10 +65,9 @@ enum {
        NATIVE_MODE_ALL         = (1 << 7) | (1 << 6) | (1 << 5) | (1 << 4),
 
        SATA_EXT_PHY            = (1 << 6), /* 0==use PATA, 1==ext phy */
-       SATA_2DEV               = (1 << 5), /* SATA is master/slave */
 };
 
-static int svia_init_one (struct pci_dev *pdev, const struct pci_device_id *ent);
+static int svia_init_one(struct pci_dev *pdev, const struct pci_device_id *ent);
 static int svia_scr_read(struct ata_port *ap, unsigned int sc_reg, u32 *val);
 static int svia_scr_write(struct ata_port *ap, unsigned int sc_reg, u32 val);
 static void svia_noop_freeze(struct ata_port *ap);
@@ -374,12 +370,12 @@ static const unsigned int vt6421_bar_sizes[] = {
        16, 16, 16, 16, 32, 128
 };
 
-static void __iomem * svia_scr_addr(void __iomem *addr, unsigned int port)
+static void __iomem *svia_scr_addr(void __iomem *addr, unsigned int port)
 {
        return addr + (port * 128);
 }
 
-static void __iomem * vt6421_scr_addr(void __iomem *addr, unsigned int port)
+static void __iomem *vt6421_scr_addr(void __iomem *addr, unsigned int port)
 {
        return addr + (port * 64);
 }
@@ -474,7 +470,7 @@ static void svia_configure(struct pci_dev *pdev)
        if ((tmp8 & ALL_PORTS) != ALL_PORTS) {
                dev_printk(KERN_DEBUG, &pdev->dev,
                           "enabling SATA channels (0x%x)\n",
-                          (int) tmp8);
+                          (int) tmp8);
                tmp8 |= ALL_PORTS;
                pci_write_config_byte(pdev, SATA_CHAN_ENAB, tmp8);
        }
@@ -484,7 +480,7 @@ static void svia_configure(struct pci_dev *pdev)
        if ((tmp8 & ALL_PORTS) != ALL_PORTS) {
                dev_printk(KERN_DEBUG, &pdev->dev,
                           "enabling SATA channel interrupts (0x%x)\n",
-                          (int) tmp8);
+                          (int) tmp8);
                tmp8 |= ALL_PORTS;
                pci_write_config_byte(pdev, SATA_INT_GATE, tmp8);
        }
@@ -494,21 +490,20 @@ static void svia_configure(struct pci_dev *pdev)
        if ((tmp8 & NATIVE_MODE_ALL) != NATIVE_MODE_ALL) {
                dev_printk(KERN_DEBUG, &pdev->dev,
                           "enabling SATA channel native mode (0x%x)\n",
-                          (int) tmp8);
+                          (int) tmp8);
                tmp8 |= NATIVE_MODE_ALL;
                pci_write_config_byte(pdev, SATA_NATIVE_MODE, tmp8);
        }
 }
 
-static int svia_init_one (struct pci_dev *pdev, const struct pci_device_id *ent)
+static int svia_init_one(struct pci_dev *pdev, const struct pci_device_id *ent)
 {
        static int printed_version;
        unsigned int i;
        int rc;
        struct ata_host *host;
        int board_id = (int) ent->driver_data;
-       const int *bar_sizes;
-       u8 tmp8;
+       const unsigned *bar_sizes;
 
        if (!printed_version++)
                dev_printk(KERN_DEBUG, &pdev->dev, "version " DRV_VERSION "\n");
@@ -517,19 +512,10 @@ static int svia_init_one (struct pci_dev *pdev, const struct pci_device_id *ent)
        if (rc)
                return rc;
 
-       if (board_id == vt6420) {
-               pci_read_config_byte(pdev, SATA_PATA_SHARING, &tmp8);
-               if (tmp8 & SATA_2DEV) {
-                       dev_printk(KERN_ERR, &pdev->dev,
-                                  "SATA master/slave not supported (0x%x)\n",
-                                  (int) tmp8);
-                       return -EIO;
-               }
-
+       if (board_id == vt6420)
                bar_sizes = &svia_bar_sizes[0];
-       } else {
+       else
                bar_sizes = &vt6421_bar_sizes[0];
-       }
 
        for (i = 0; i < ARRAY_SIZE(svia_bar_sizes); i++)
                if ((pci_resource_start(pdev, i) == 0) ||
@@ -537,8 +523,8 @@ static int svia_init_one (struct pci_dev *pdev, const struct pci_device_id *ent)
                        dev_printk(KERN_ERR, &pdev->dev,
                                "invalid PCI BAR %u (sz 0x%llx, val 0x%llx)\n",
                                i,
-                               (unsigned long long)pci_resource_start(pdev, i),
-                               (unsigned long long)pci_resource_len(pdev, i));
+                               (unsigned long long)pci_resource_start(pdev, i),
+                               (unsigned long long)pci_resource_len(pdev, i));
                        return -ENODEV;
                }