aboutsummaryrefslogtreecommitdiffstats
path: root/drivers
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@woody.linux-foundation.org>2008-03-10 21:45:51 -0400
committerLinus Torvalds <torvalds@woody.linux-foundation.org>2008-03-10 21:45:51 -0400
commit2f44bbb495dd3e6d0209eff2257438ab9c570e5b (patch)
tree5b65337043dd184b843e126226867a09fc7f4955 /drivers
parent2b752acd91ecee926483b5f64a8f8bfe06e081fb (diff)
parent3db691daa4f6c4b899e144ea54a65738402c94e3 (diff)
Merge branch 'upstream-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jgarzik/libata-dev
* 'upstream-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jgarzik/libata-dev: [libata] Add support for the RB500 PATA CompactFlash ahci: logical-bitwise and confusion in ahci_save_initial_config() libata: don't allow sysfs read access to force param ahci: add the Device IDs for nvidia MCP7B AHCI libata-sff: handle controllers w/o ctl register libata: allow LLDs w/o any reset method ata: replace remaining __FUNCTION__ occurrences
Diffstat (limited to 'drivers')
-rw-r--r--drivers/ata/Kconfig9
-rw-r--r--drivers/ata/Makefile1
-rw-r--r--drivers/ata/ahci.c14
-rw-r--r--drivers/ata/libata-acpi.c8
-rw-r--r--drivers/ata/libata-core.c17
-rw-r--r--drivers/ata/libata-eh.c10
-rw-r--r--drivers/ata/libata-sff.c36
-rw-r--r--drivers/ata/pata_pdc2027x.c2
-rw-r--r--drivers/ata/pata_rb500_cf.c314
9 files changed, 383 insertions, 28 deletions
diff --git a/drivers/ata/Kconfig b/drivers/ata/Kconfig
index ba8f7f4dfa11..e469647330de 100644
--- a/drivers/ata/Kconfig
+++ b/drivers/ata/Kconfig
@@ -538,6 +538,15 @@ config PATA_RADISYS
538 538
539 If unsure, say N. 539 If unsure, say N.
540 540
541config PATA_RB500
542 tristate "RouterBoard 500 PATA CompactFlash support"
543 depends on MIKROTIK_RB500
544 help
545 This option enables support for the RouterBoard 500
546 PATA CompactFlash controller.
547
548 If unsure, say N.
549
541config PATA_RZ1000 550config PATA_RZ1000
542 tristate "PC Tech RZ1000 PATA support" 551 tristate "PC Tech RZ1000 PATA support"
543 depends on PCI 552 depends on PCI
diff --git a/drivers/ata/Makefile b/drivers/ata/Makefile
index 701651e37c89..0511e6f0bb58 100644
--- a/drivers/ata/Makefile
+++ b/drivers/ata/Makefile
@@ -55,6 +55,7 @@ obj-$(CONFIG_PATA_PDC2027X) += pata_pdc2027x.o
55obj-$(CONFIG_PATA_PDC_OLD) += pata_pdc202xx_old.o 55obj-$(CONFIG_PATA_PDC_OLD) += pata_pdc202xx_old.o
56obj-$(CONFIG_PATA_QDI) += pata_qdi.o 56obj-$(CONFIG_PATA_QDI) += pata_qdi.o
57obj-$(CONFIG_PATA_RADISYS) += pata_radisys.o 57obj-$(CONFIG_PATA_RADISYS) += pata_radisys.o
58obj-$(CONFIG_PATA_RB500) += pata_rb500_cf.o
58obj-$(CONFIG_PATA_RZ1000) += pata_rz1000.o 59obj-$(CONFIG_PATA_RZ1000) += pata_rz1000.o
59obj-$(CONFIG_PATA_SC1200) += pata_sc1200.o 60obj-$(CONFIG_PATA_SC1200) += pata_sc1200.o
60obj-$(CONFIG_PATA_SERVERWORKS) += pata_serverworks.o 61obj-$(CONFIG_PATA_SERVERWORKS) += pata_serverworks.o
diff --git a/drivers/ata/ahci.c b/drivers/ata/ahci.c
index 8a49835bd0f8..6978469eb16d 100644
--- a/drivers/ata/ahci.c
+++ b/drivers/ata/ahci.c
@@ -567,6 +567,18 @@ static const struct pci_device_id ahci_pci_tbl[] = {
567 { PCI_VDEVICE(NVIDIA, 0x0abd), board_ahci }, /* MCP79 */ 567 { PCI_VDEVICE(NVIDIA, 0x0abd), board_ahci }, /* MCP79 */
568 { PCI_VDEVICE(NVIDIA, 0x0abe), board_ahci }, /* MCP79 */ 568 { PCI_VDEVICE(NVIDIA, 0x0abe), board_ahci }, /* MCP79 */
569 { PCI_VDEVICE(NVIDIA, 0x0abf), board_ahci }, /* MCP79 */ 569 { PCI_VDEVICE(NVIDIA, 0x0abf), board_ahci }, /* MCP79 */
570 { PCI_VDEVICE(NVIDIA, 0x0bc8), board_ahci }, /* MCP7B */
571 { PCI_VDEVICE(NVIDIA, 0x0bc9), board_ahci }, /* MCP7B */
572 { PCI_VDEVICE(NVIDIA, 0x0bca), board_ahci }, /* MCP7B */
573 { PCI_VDEVICE(NVIDIA, 0x0bcb), board_ahci }, /* MCP7B */
574 { PCI_VDEVICE(NVIDIA, 0x0bcc), board_ahci }, /* MCP7B */
575 { PCI_VDEVICE(NVIDIA, 0x0bcd), board_ahci }, /* MCP7B */
576 { PCI_VDEVICE(NVIDIA, 0x0bce), board_ahci }, /* MCP7B */
577 { PCI_VDEVICE(NVIDIA, 0x0bcf), board_ahci }, /* MCP7B */
578 { PCI_VDEVICE(NVIDIA, 0x0bd0), board_ahci }, /* MCP7B */
579 { PCI_VDEVICE(NVIDIA, 0x0bd1), board_ahci }, /* MCP7B */
580 { PCI_VDEVICE(NVIDIA, 0x0bd2), board_ahci }, /* MCP7B */
581 { PCI_VDEVICE(NVIDIA, 0x0bd3), board_ahci }, /* MCP7B */
570 582
571 /* SiS */ 583 /* SiS */
572 { PCI_VDEVICE(SI, 0x1184), board_ahci }, /* SiS 966 */ 584 { PCI_VDEVICE(SI, 0x1184), board_ahci }, /* SiS 966 */
@@ -672,7 +684,7 @@ static void ahci_save_initial_config(struct pci_dev *pdev,
672 cap &= ~HOST_CAP_NCQ; 684 cap &= ~HOST_CAP_NCQ;
673 } 685 }
674 686
675 if ((cap && HOST_CAP_PMP) && (hpriv->flags & AHCI_HFLAG_NO_PMP)) { 687 if ((cap & HOST_CAP_PMP) && (hpriv->flags & AHCI_HFLAG_NO_PMP)) {
676 dev_printk(KERN_INFO, &pdev->dev, 688 dev_printk(KERN_INFO, &pdev->dev,
677 "controller can't do PMP, turning off CAP_PMP\n"); 689 "controller can't do PMP, turning off CAP_PMP\n");
678 cap &= ~HOST_CAP_PMP; 690 cap &= ~HOST_CAP_PMP;
diff --git a/drivers/ata/libata-acpi.c b/drivers/ata/libata-acpi.c
index 9e8ec19260af..0770cb7391a4 100644
--- a/drivers/ata/libata-acpi.c
+++ b/drivers/ata/libata-acpi.c
@@ -382,7 +382,7 @@ static int ata_dev_get_GTF(struct ata_device *dev, struct ata_acpi_gtf **gtf)
382 382
383 if (ata_msg_probe(ap)) 383 if (ata_msg_probe(ap))
384 ata_dev_printk(dev, KERN_DEBUG, "%s: ENTER: port#: %d\n", 384 ata_dev_printk(dev, KERN_DEBUG, "%s: ENTER: port#: %d\n",
385 __FUNCTION__, ap->port_no); 385 __func__, ap->port_no);
386 386
387 /* _GTF has no input parameters */ 387 /* _GTF has no input parameters */
388 status = acpi_evaluate_object(dev->acpi_handle, "_GTF", NULL, &output); 388 status = acpi_evaluate_object(dev->acpi_handle, "_GTF", NULL, &output);
@@ -402,7 +402,7 @@ static int ata_dev_get_GTF(struct ata_device *dev, struct ata_acpi_gtf **gtf)
402 if (ata_msg_probe(ap)) 402 if (ata_msg_probe(ap))
403 ata_dev_printk(dev, KERN_DEBUG, "%s: Run _GTF: " 403 ata_dev_printk(dev, KERN_DEBUG, "%s: Run _GTF: "
404 "length or ptr is NULL (0x%llx, 0x%p)\n", 404 "length or ptr is NULL (0x%llx, 0x%p)\n",
405 __FUNCTION__, 405 __func__,
406 (unsigned long long)output.length, 406 (unsigned long long)output.length,
407 output.pointer); 407 output.pointer);
408 rc = -EINVAL; 408 rc = -EINVAL;
@@ -432,7 +432,7 @@ static int ata_dev_get_GTF(struct ata_device *dev, struct ata_acpi_gtf **gtf)
432 if (ata_msg_probe(ap)) 432 if (ata_msg_probe(ap))
433 ata_dev_printk(dev, KERN_DEBUG, 433 ata_dev_printk(dev, KERN_DEBUG,
434 "%s: returning gtf=%p, gtf_count=%d\n", 434 "%s: returning gtf=%p, gtf_count=%d\n",
435 __FUNCTION__, *gtf, rc); 435 __func__, *gtf, rc);
436 } 436 }
437 return rc; 437 return rc;
438 438
@@ -725,7 +725,7 @@ static int ata_acpi_push_id(struct ata_device *dev)
725 725
726 if (ata_msg_probe(ap)) 726 if (ata_msg_probe(ap))
727 ata_dev_printk(dev, KERN_DEBUG, "%s: ix = %d, port#: %d\n", 727 ata_dev_printk(dev, KERN_DEBUG, "%s: ix = %d, port#: %d\n",
728 __FUNCTION__, dev->devno, ap->port_no); 728 __func__, dev->devno, ap->port_no);
729 729
730 /* Give the drive Identify data to the drive via the _SDD method */ 730 /* Give the drive Identify data to the drive via the _SDD method */
731 /* _SDD: set up input parameters */ 731 /* _SDD: set up input parameters */
diff --git a/drivers/ata/libata-core.c b/drivers/ata/libata-core.c
index 4fbcce758b04..4bbe31f98ef8 100644
--- a/drivers/ata/libata-core.c
+++ b/drivers/ata/libata-core.c
@@ -106,7 +106,8 @@ static struct ata_force_ent *ata_force_tbl;
106static int ata_force_tbl_size; 106static int ata_force_tbl_size;
107 107
108static char ata_force_param_buf[PAGE_SIZE] __initdata; 108static char ata_force_param_buf[PAGE_SIZE] __initdata;
109module_param_string(force, ata_force_param_buf, sizeof(ata_force_param_buf), 0444); 109/* param_buf is thrown away after initialization, disallow read */
110module_param_string(force, ata_force_param_buf, sizeof(ata_force_param_buf), 0);
110MODULE_PARM_DESC(force, "Force ATA configurations including cable type, link speed and transfer mode (see Documentation/kernel-parameters.txt for details)"); 111MODULE_PARM_DESC(force, "Force ATA configurations including cable type, link speed and transfer mode (see Documentation/kernel-parameters.txt for details)");
111 112
112int atapi_enabled = 1; 113int atapi_enabled = 1;
@@ -1719,7 +1720,7 @@ void ata_port_flush_task(struct ata_port *ap)
1719 cancel_rearming_delayed_work(&ap->port_task); 1720 cancel_rearming_delayed_work(&ap->port_task);
1720 1721
1721 if (ata_msg_ctl(ap)) 1722 if (ata_msg_ctl(ap))
1722 ata_port_printk(ap, KERN_DEBUG, "%s: EXIT\n", __FUNCTION__); 1723 ata_port_printk(ap, KERN_DEBUG, "%s: EXIT\n", __func__);
1723} 1724}
1724 1725
1725static void ata_qc_complete_internal(struct ata_queued_cmd *qc) 1726static void ata_qc_complete_internal(struct ata_queued_cmd *qc)
@@ -2056,7 +2057,7 @@ int ata_dev_read_id(struct ata_device *dev, unsigned int *p_class,
2056 int rc; 2057 int rc;
2057 2058
2058 if (ata_msg_ctl(ap)) 2059 if (ata_msg_ctl(ap))
2059 ata_dev_printk(dev, KERN_DEBUG, "%s: ENTER\n", __FUNCTION__); 2060 ata_dev_printk(dev, KERN_DEBUG, "%s: ENTER\n", __func__);
2060 2061
2061 ata_dev_select(ap, dev->devno, 1, 1); /* select device 0/1 */ 2062 ata_dev_select(ap, dev->devno, 1, 1); /* select device 0/1 */
2062 retry: 2063 retry:
@@ -2253,12 +2254,12 @@ int ata_dev_configure(struct ata_device *dev)
2253 2254
2254 if (!ata_dev_enabled(dev) && ata_msg_info(ap)) { 2255 if (!ata_dev_enabled(dev) && ata_msg_info(ap)) {
2255 ata_dev_printk(dev, KERN_INFO, "%s: ENTER/EXIT -- nodev\n", 2256 ata_dev_printk(dev, KERN_INFO, "%s: ENTER/EXIT -- nodev\n",
2256 __FUNCTION__); 2257 __func__);
2257 return 0; 2258 return 0;
2258 } 2259 }
2259 2260
2260 if (ata_msg_probe(ap)) 2261 if (ata_msg_probe(ap))
2261 ata_dev_printk(dev, KERN_DEBUG, "%s: ENTER\n", __FUNCTION__); 2262 ata_dev_printk(dev, KERN_DEBUG, "%s: ENTER\n", __func__);
2262 2263
2263 /* set horkage */ 2264 /* set horkage */
2264 dev->horkage |= ata_dev_blacklisted(dev); 2265 dev->horkage |= ata_dev_blacklisted(dev);
@@ -2279,7 +2280,7 @@ int ata_dev_configure(struct ata_device *dev)
2279 ata_dev_printk(dev, KERN_DEBUG,