diff options
Diffstat (limited to 'drivers/ide/ide.c')
-rw-r--r-- | drivers/ide/ide.c | 39 |
1 files changed, 15 insertions, 24 deletions
diff --git a/drivers/ide/ide.c b/drivers/ide/ide.c index b3c0818c5c6c..dfbd74458522 100644 --- a/drivers/ide/ide.c +++ b/drivers/ide/ide.c | |||
@@ -126,8 +126,6 @@ | |||
126 | #define REVISION "Revision: 7.00alpha2" | 126 | #define REVISION "Revision: 7.00alpha2" |
127 | #define VERSION "Id: ide.c 7.00a2 20020906" | 127 | #define VERSION "Id: ide.c 7.00a2 20020906" |
128 | 128 | ||
129 | #undef REALLY_SLOW_IO /* most systems can safely undef this */ | ||
130 | |||
131 | #define _IDE_C /* Tell ide.h it's really us */ | 129 | #define _IDE_C /* Tell ide.h it's really us */ |
132 | 130 | ||
133 | #include <linux/module.h> | 131 | #include <linux/module.h> |
@@ -1486,23 +1484,23 @@ static int __init match_parm (char *s, const char *keywords[], int vals[], int m | |||
1486 | } | 1484 | } |
1487 | 1485 | ||
1488 | #ifdef CONFIG_BLK_DEV_ALI14XX | 1486 | #ifdef CONFIG_BLK_DEV_ALI14XX |
1489 | static int __initdata probe_ali14xx; | 1487 | extern int probe_ali14xx; |
1490 | extern int ali14xx_init(void); | 1488 | extern int ali14xx_init(void); |
1491 | #endif | 1489 | #endif |
1492 | #ifdef CONFIG_BLK_DEV_UMC8672 | 1490 | #ifdef CONFIG_BLK_DEV_UMC8672 |
1493 | static int __initdata probe_umc8672; | 1491 | extern int probe_umc8672; |
1494 | extern int umc8672_init(void); | 1492 | extern int umc8672_init(void); |
1495 | #endif | 1493 | #endif |
1496 | #ifdef CONFIG_BLK_DEV_DTC2278 | 1494 | #ifdef CONFIG_BLK_DEV_DTC2278 |
1497 | static int __initdata probe_dtc2278; | 1495 | extern int probe_dtc2278; |
1498 | extern int dtc2278_init(void); | 1496 | extern int dtc2278_init(void); |
1499 | #endif | 1497 | #endif |
1500 | #ifdef CONFIG_BLK_DEV_HT6560B | 1498 | #ifdef CONFIG_BLK_DEV_HT6560B |
1501 | static int __initdata probe_ht6560b; | 1499 | extern int probe_ht6560b; |
1502 | extern int ht6560b_init(void); | 1500 | extern int ht6560b_init(void); |
1503 | #endif | 1501 | #endif |
1504 | #ifdef CONFIG_BLK_DEV_QD65XX | 1502 | #ifdef CONFIG_BLK_DEV_QD65XX |
1505 | static int __initdata probe_qd65xx; | 1503 | extern int probe_qd65xx; |
1506 | extern int qd65xx_init(void); | 1504 | extern int qd65xx_init(void); |
1507 | #endif | 1505 | #endif |
1508 | 1506 | ||
@@ -1580,7 +1578,7 @@ static int __init ide_setup(char *s) | |||
1580 | */ | 1578 | */ |
1581 | if (s[0] == 'h' && s[1] == 'd' && s[2] >= 'a' && s[2] <= max_drive) { | 1579 | if (s[0] == 'h' && s[1] == 'd' && s[2] >= 'a' && s[2] <= max_drive) { |
1582 | const char *hd_words[] = { | 1580 | const char *hd_words[] = { |
1583 | "none", "noprobe", "nowerr", "cdrom", "serialize", | 1581 | "none", "noprobe", "nowerr", "cdrom", "minus5", |
1584 | "autotune", "noautotune", "minus8", "swapdata", "bswap", | 1582 | "autotune", "noautotune", "minus8", "swapdata", "bswap", |
1585 | "noflush", "remap", "remap63", "scsi", NULL }; | 1583 | "noflush", "remap", "remap63", "scsi", NULL }; |
1586 | unit = s[2] - 'a'; | 1584 | unit = s[2] - 'a'; |
@@ -1608,9 +1606,6 @@ static int __init ide_setup(char *s) | |||
1608 | drive->ready_stat = 0; | 1606 | drive->ready_stat = 0; |
1609 | hwif->noprobe = 0; | 1607 | hwif->noprobe = 0; |
1610 | goto done; | 1608 | goto done; |
1611 | case -5: /* "serialize" */ | ||
1612 | printk(" -- USE \"ide%d=serialize\" INSTEAD", hw); | ||
1613 | goto do_serialize; | ||
1614 | case -6: /* "autotune" */ | 1609 | case -6: /* "autotune" */ |
1615 | drive->autotune = IDE_TUNE_AUTO; | 1610 | drive->autotune = IDE_TUNE_AUTO; |
1616 | goto obsolete_option; | 1611 | goto obsolete_option; |
@@ -1671,7 +1666,7 @@ static int __init ide_setup(char *s) | |||
1671 | * (-8, -9, -10) are reserved to ease the hardcoding. | 1666 | * (-8, -9, -10) are reserved to ease the hardcoding. |
1672 | */ | 1667 | */ |
1673 | static const char *ide_words[] = { | 1668 | static const char *ide_words[] = { |
1674 | "noprobe", "serialize", "autotune", "noautotune", | 1669 | "noprobe", "serialize", "minus3", "minus4", |
1675 | "reset", "dma", "ata66", "minus8", "minus9", | 1670 | "reset", "dma", "ata66", "minus8", "minus9", |
1676 | "minus10", "four", "qd65xx", "ht6560b", "cmd640_vlb", | 1671 | "minus10", "four", "qd65xx", "ht6560b", "cmd640_vlb", |
1677 | "dtc2278", "umc8672", "ali14xx", NULL }; | 1672 | "dtc2278", "umc8672", "ali14xx", NULL }; |
@@ -1742,12 +1737,17 @@ static int __init ide_setup(char *s) | |||
1742 | hwif->chipset = mate->chipset = ide_4drives; | 1737 | hwif->chipset = mate->chipset = ide_4drives; |
1743 | mate->irq = hwif->irq; | 1738 | mate->irq = hwif->irq; |
1744 | memcpy(mate->io_ports, hwif->io_ports, sizeof(hwif->io_ports)); | 1739 | memcpy(mate->io_ports, hwif->io_ports, sizeof(hwif->io_ports)); |
1745 | goto do_serialize; | 1740 | hwif->mate = mate; |
1741 | mate->mate = hwif; | ||
1742 | hwif->serialized = mate->serialized = 1; | ||
1743 | goto obsolete_option; | ||
1746 | } | 1744 | } |
1747 | #endif /* CONFIG_BLK_DEV_4DRIVES */ | 1745 | #endif /* CONFIG_BLK_DEV_4DRIVES */ |
1748 | case -10: /* minus10 */ | 1746 | case -10: /* minus10 */ |
1749 | case -9: /* minus9 */ | 1747 | case -9: /* minus9 */ |
1750 | case -8: /* minus8 */ | 1748 | case -8: /* minus8 */ |
1749 | case -4: | ||
1750 | case -3: | ||
1751 | goto bad_option; | 1751 | goto bad_option; |
1752 | case -7: /* ata66 */ | 1752 | case -7: /* ata66 */ |
1753 | #ifdef CONFIG_BLK_DEV_IDEPCI | 1753 | #ifdef CONFIG_BLK_DEV_IDEPCI |
@@ -1762,16 +1762,7 @@ static int __init ide_setup(char *s) | |||
1762 | case -5: /* "reset" */ | 1762 | case -5: /* "reset" */ |
1763 | hwif->reset = 1; | 1763 | hwif->reset = 1; |
1764 | goto obsolete_option; | 1764 | goto obsolete_option; |
1765 | case -4: /* "noautotune" */ | ||
1766 | hwif->drives[0].autotune = IDE_TUNE_NOAUTO; | ||
1767 | hwif->drives[1].autotune = IDE_TUNE_NOAUTO; | ||
1768 | goto obsolete_option; | ||
1769 | case -3: /* "autotune" */ | ||
1770 | hwif->drives[0].autotune = IDE_TUNE_AUTO; | ||
1771 | hwif->drives[1].autotune = IDE_TUNE_AUTO; | ||
1772 | goto obsolete_option; | ||
1773 | case -2: /* "serialize" */ | 1765 | case -2: /* "serialize" */ |
1774 | do_serialize: | ||
1775 | hwif->mate = &ide_hwifs[hw^1]; | 1766 | hwif->mate = &ide_hwifs[hw^1]; |
1776 | hwif->mate->mate = hwif; | 1767 | hwif->mate->mate = hwif; |
1777 | hwif->serialized = hwif->mate->serialized = 1; | 1768 | hwif->serialized = hwif->mate->serialized = 1; |
@@ -1840,8 +1831,8 @@ static void __init probe_for_hwifs (void) | |||
1840 | #endif /* CONFIG_BLK_DEV_CMD640 */ | 1831 | #endif /* CONFIG_BLK_DEV_CMD640 */ |
1841 | #ifdef CONFIG_BLK_DEV_IDE_PMAC | 1832 | #ifdef CONFIG_BLK_DEV_IDE_PMAC |
1842 | { | 1833 | { |
1843 | extern void pmac_ide_probe(void); | 1834 | extern int pmac_ide_probe(void); |
1844 | pmac_ide_probe(); | 1835 | (void)pmac_ide_probe(); |
1845 | } | 1836 | } |
1846 | #endif /* CONFIG_BLK_DEV_IDE_PMAC */ | 1837 | #endif /* CONFIG_BLK_DEV_IDE_PMAC */ |
1847 | #ifdef CONFIG_BLK_DEV_GAYLE | 1838 | #ifdef CONFIG_BLK_DEV_GAYLE |