diff options
| author | Linus Torvalds <torvalds@woody.linux-foundation.org> | 2008-03-10 21:45:51 -0400 |
|---|---|---|
| committer | Linus Torvalds <torvalds@woody.linux-foundation.org> | 2008-03-10 21:45:51 -0400 |
| commit | 2f44bbb495dd3e6d0209eff2257438ab9c570e5b (patch) | |
| tree | 5b65337043dd184b843e126226867a09fc7f4955 /drivers | |
| parent | 2b752acd91ecee926483b5f64a8f8bfe06e081fb (diff) | |
| parent | 3db691daa4f6c4b899e144ea54a65738402c94e3 (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/Kconfig | 9 | ||||
| -rw-r--r-- | drivers/ata/Makefile | 1 | ||||
| -rw-r--r-- | drivers/ata/ahci.c | 14 | ||||
| -rw-r--r-- | drivers/ata/libata-acpi.c | 8 | ||||
| -rw-r--r-- | drivers/ata/libata-core.c | 17 | ||||
| -rw-r--r-- | drivers/ata/libata-eh.c | 10 | ||||
| -rw-r--r-- | drivers/ata/libata-sff.c | 36 | ||||
| -rw-r--r-- | drivers/ata/pata_pdc2027x.c | 2 | ||||
| -rw-r--r-- | drivers/ata/pata_rb500_cf.c | 314 |
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 | ||
| 541 | config 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 | |||
| 541 | config PATA_RZ1000 | 550 | config 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 | |||
| 55 | obj-$(CONFIG_PATA_PDC_OLD) += pata_pdc202xx_old.o | 55 | obj-$(CONFIG_PATA_PDC_OLD) += pata_pdc202xx_old.o |
| 56 | obj-$(CONFIG_PATA_QDI) += pata_qdi.o | 56 | obj-$(CONFIG_PATA_QDI) += pata_qdi.o |
| 57 | obj-$(CONFIG_PATA_RADISYS) += pata_radisys.o | 57 | obj-$(CONFIG_PATA_RADISYS) += pata_radisys.o |
| 58 | obj-$(CONFIG_PATA_RB500) += pata_rb500_cf.o | ||
| 58 | obj-$(CONFIG_PATA_RZ1000) += pata_rz1000.o | 59 | obj-$(CONFIG_PATA_RZ1000) += pata_rz1000.o |
| 59 | obj-$(CONFIG_PATA_SC1200) += pata_sc1200.o | 60 | obj-$(CONFIG_PATA_SC1200) += pata_sc1200.o |
| 60 | obj-$(CONFIG_PATA_SERVERWORKS) += pata_serverworks.o | 61 | obj-$(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; | |||
| 106 | static int ata_force_tbl_size; | 106 | static int ata_force_tbl_size; |
| 107 | 107 | ||
| 108 | static char ata_force_param_buf[PAGE_SIZE] __initdata; | 108 | static char ata_force_param_buf[PAGE_SIZE] __initdata; |
| 109 | module_param_string(force, ata_force_param_buf, sizeof(ata_force_param_buf), 0444); | 109 | /* param_buf is thrown away after initialization, disallow read */ |
| 110 | module_param_string(force, ata_force_param_buf, sizeof(ata_force_param_buf), 0); | ||
| 110 | MODULE_PARM_DESC(force, "Force ATA configurations including cable type, link speed and transfer mode (see Documentation/kernel-parameters.txt for details)"); | 111 | MODULE_PARM_DESC(force, "Force ATA configurations including cable type, link speed and transfer mode (see Documentation/kernel-parameters.txt for details)"); |
| 111 | 112 | ||
| 112 | int atapi_enabled = 1; | 113 | int 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 | ||
| 1725 | static void ata_qc_complete_internal(struct ata_queued_cmd *qc) | 1726 | static 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, | ||
