IDE fixes for 2.6.20-rc6
PATCH 1/1 IDE fixes for 2.6.20-rc6
Hi,
The resend of the 2.6.20-rc6 fixes that I've sent you as patches. This time in the git form for easier merging and with proper cc:.
Please pull from:
master.kernel.org:/pub/scm/linux/kernel/git/bart/ide-2.6.git/
to receive the following updates:
MAINTAINERS | 7 ++---- drivers/ata/pata_via.c | 1 drivers/ide/ide-pnp.c | 5 ++++ drivers/ide/ide.c | 5 ++++ drivers/ide/pci/aec62xx.c | 2 - drivers/ide/pci/alim15x3.c | 2 - drivers/ide/pci/amd74xx.c | 2 - drivers/ide/pci/atiixp.c | 42 ++++++++++++++++++----------------------- drivers/ide/pci/cmd64x.c | 2 - drivers/ide/pci/cs5520.c | 2 - drivers/ide/pci/cs5530.c | 2 - drivers/ide/pci/cy82c693.c | 2 - drivers/ide/pci/generic.c | 37 ------------------------------------ drivers/ide/pci/hpt34x.c | 2 - drivers/ide/pci/hpt366.c | 2 - drivers/ide/pci/jmicron.c | 3 +- drivers/ide/pci/ns87415.c | 2 - drivers/ide/pci/opti621.c | 2 - drivers/ide/pci/pdc202xx_new.c | 2 - drivers/ide/pci/pdc202xx_old.c | 2 - drivers/ide/pci/rz1000.c | 2 - drivers/ide/pci/sc1200.c | 2 - drivers/ide/pci/serverworks.c | 2 - drivers/ide/pci/sgiioc4.c | 3 -- drivers/ide/pci/siimage.c | 2 - drivers/ide/pci/sis5513.c | 2 - drivers/ide/pci/sl82c105.c | 2 - drivers/ide/pci/slc90e66.c | 2 - drivers/ide/pci/triflex.c | 2 - drivers/ide/pci/trm290.c | 2 - drivers/ide/pci/via82cxxx.c | 5 +++- include/asm-ia64/pci.h | 6 +++++ include/linux/pci_ids.h | 3 +- 33 files changed, 71 insertions(+), 90 deletions(-)
Alan Cox (1):
ide/generic: Jmicron has its own drivers now
Andrew Morton (1):
jmicron: fix warning
Bartlomiej Zolnierkiewicz (3):
ide: update MAINTAINERS entry
ia64: add pci_get_legacy_ide_irq()
ide: add missing __init tags to IDE PCI host drivers
Conke Hu (3):
atiixp.c: remove unused code
atiixp.c: sb600 ide only has one channel atiixp.c: add cable detection support for ATI IDE
Josepch Chan (1):
via82cxxx/pata_via: correct PCI_DEVICE_ID_VIA_SATA_EIDE ID and add support for CX700 and 8237S
Tejun Heo (1):
ide: unregister idepnp driver on unload
MAINTAINERS +3 -4
@@ -1598,12 +1598,11 @@ M: [email protected] W: http://www.developer.ibm.com/welcome/netfinity/serveraid.html S: Supported -IDE DRIVER [GENERAL] +IDE SUBSYSTEM P: Bartlomiej Zolnierkiewicz -M: [email protected] -L: [email protected] +M: [email protected] L: [email protected] -T: git kernel.org:/pub/scm/linux/kernel/git/bart/ide-2.6.git +T: quilt kernel.org/pub/linux/kernel/people/bart/pata-2.6/ S: Maintained IDE/ATAPI CDROM DRIVER
drivers/ata/pata_via.c +1 -0
@@ -95,6 +95,7 @@ static const struct via_isa_bridge {u8 rev_max;u16 flags; } via_isa_bridges[] = { + { "vt8237s", PCI_DEVICE_ID_VIA_8237S, 0x00, 0x2f, VIA_UDMA_133 | VIA_BAD_AST }, { "vt8251", PCI_DEVICE_ID_VIA_8251, 0x00, 0x2f, VIA_UDMA_133 | VIA_BAD_AST }, { "cx700", PCI_DEVICE_ID_VIA_CX700, 0x00, 0x2f, VIA_UDMA_133 | VIA_BAD_AST }, { "vt6410", PCI_DEVICE_ID_VIA_6410, 0x00, 0x2f, VIA_UDMA_133 | VIA_BAD_AST | VIA_NO_ENABLES},
drivers/ide/ide-pnp.c +5 -0
@@ -73,3 +73,8 @@ void __init pnpide_init(void) {pnp_register_driver (&idepnp_driver); } + +void __exit pnpide_exit(void) +{ +pnp_unregister_driver (&idepnp_driver); +}
drivers/ide/ide.c +5 -0
@@ -1782,6 +1782,7 @@ done: }extern void pnpide_init (void ); +extern void pnpide_exit (void );extern void h8300_ide_init (void );/*
@@ -2094,6 +2095,10 @@ void cleanup_module (void)for (index =0 ; index <MAX_HWIFS ; ++index)ide_unregister (index); +#ifdef CONFIG_BLK_DEV_IDEPNP +pnpide_exit (); +#endif +#ifdef CONFIG_PROC_FS proc_ide_destroy ();#endif
drivers/ide/pci/aec62xx.c +1 -1
@@ -441,7 +441,7 @@ static struct pci_driver driver = { .probe = aec62xx_init_one, }; -static int aec62xx_ide_init (void ) +static int __init aec62xx_ide_init (void ) {return ide_pci_register_driver (&driver); }
drivers/ide/pci/alim15x3.c +1 -1
@@ -907,7 +907,7 @@ static struct pci_driver driver = { .probe = alim15x3_init_one, }; -static int ali15x3_ide_init (void ) +static int __init ali15x3_ide_init (void ) {return ide_pci_register_driver (&driver); }
drivers/ide/pci/amd74xx.c +1 -1
@@ -544,7 +544,7 @@ static struct pci_driver driver = { .probe = amd74xx_probe, }; -static int amd74xx_ide_init (void ) +static int __init amd74xx_ide_init (void ) {return ide_pci_register_driver (&driver); }
drivers/ide/pci/atiixp.c +19 -23
80 lines not on this page · raw message
drivers/ide/pci/cmd64x.c +1 -1
@@ -793,7 +793,7 @@ static struct pci_driver driver = { .probe = cmd64x_init_one, }; -static int cmd64x_ide_init (void ) +static int __init cmd64x_ide_init (void ) {return ide_pci_register_driver (&driver); }
drivers/ide/pci/cs5520.c +1 -1
@@ -260,7 +260,7 @@ static struct pci_driver driver = { .probe = cs5520_init_one, }; -static int cs5520_ide_init (void ) +static int __init cs5520_ide_init (void ) {return ide_pci_register_driver (&driver); }
drivers/ide/pci/cs5530.c +1 -1
@@ -374,7 +374,7 @@ static struct pci_driver driver = { .probe = cs5530_init_one, }; -static int cs5530_ide_init (void ) +static int __init cs5530_ide_init (void ) {return ide_pci_register_driver (&driver); }
drivers/ide/pci/cy82c693.c +1 -1
@@ -519,7 +519,7 @@ static struct pci_driver driver = { .probe = cy82c693_init_one, }; -static int cy82c693_ide_init (void ) +static int __init cy82c693_ide_init (void ) {return ide_pci_register_driver (&driver); }
drivers/ide/pci/generic.c +1 -36
@@ -185,36 +185,6 @@ static ide_pci_device_t generic_chipsets[] __devinitdata = { .channels = 2, .autodma = AUTODMA, .bootable = OFF_BOARD, - },{ /* 15 */ - .name = "JMB361", - .init_hwif = init_hwif_generic, - .channels = 2, - .autodma = AUTODMA, - .bootable = OFF_BOARD, - },{ /* 16 */ - .name = "JMB363", - .init_hwif = init_hwif_generic, - .channels = 2, - .autodma = AUTODMA, - .bootable = OFF_BOARD, - },{ /* 17 */ - .name = "JMB365", - .init_hwif = init_hwif_generic, - .channels = 2, - .autodma = AUTODMA, - .bootable = OFF_BOARD, - },{ /* 18 */ - .name = "JMB366", - .init_hwif = init_hwif_generic, - .channels = 2, - .autodma = AUTODMA, - .bootable = OFF_BOARD, - },{ /* 19 */ - .name = "JMB368", - .init_hwif = init_hwif_generic, - .channels = 2, - .autodma = AUTODMA, - .bootable = OFF_BOARD, } };
@@ -281,11 +251,6 @@ static struct pci_device_id generic_pci_tbl[] = { { PCI_VENDOR_ID_TOSHIBA,PCI_DEVICE_ID_TOSHIBA_PICCOLO_1, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 12}, { PCI_VENDOR_ID_TOSHIBA,PCI_DEVICE_ID_TOSHIBA_PICCOLO_2, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 13}, { PCI_VENDOR_ID_NETCELL,PCI_DEVICE_ID_REVOLUTION, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 14}, - { PCI_VENDOR_ID_JMICRON, PCI_DEVICE_ID_JMICRON_JMB361, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 15}, - { PCI_VENDOR_ID_JMICRON, PCI_DEVICE_ID_JMICRON_JMB363, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 16}, - { PCI_VENDOR_ID_JMICRON, PCI_DEVICE_ID_JMICRON_JMB365, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 17}, - { PCI_VENDOR_ID_JMICRON, PCI_DEVICE_ID_JMICRON_JMB366, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 18}, - { PCI_VENDOR_ID_JMICRON, PCI_DEVICE_ID_JMICRON_JMB368, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 19},/* Must come last. If you add entries adjust this table appropriately and the init_one code */ { PCI_ANY_ID, PCI_ANY_ID, PCI_ANY_ID, PCI_ANY_ID, PCI_CLASS_STORAGE_IDE << 8, 0xFFFFFF00UL, 0}, { 0, },
@@ -298,7 +263,7 @@ static struct pci_driver driver = { .probe = generic_init_one, }; -static int generic_ide_init (void ) +static int __init generic_ide_init (void ) {return ide_pci_register_driver (&driver); }
drivers/ide/pci/hpt34x.c +1 -1
@@ -265,7 +265,7 @@ static struct pci_driver driver = { .probe = hpt34x_init_one, }; -static int hpt34x_ide_init (void ) +static int __init hpt34x_ide_init (void ) {return ide_pci_register_driver (&driver); }
drivers/ide/pci/hpt366.c +1 -1
@@ -1613,7 +1613,7 @@ static struct pci_driver driver = { .probe = hpt366_init_one, }; -static int hpt366_ide_init (void ) +static int __init hpt366_ide_init (void ) {return ide_pci_register_driver (&driver); }
drivers/ide/pci/jmicron.c +2 -1
@@ -93,8 +93,9 @@ static int __devinit ata66_jmicron(ide_hwif_t *hwif)return 0 ;return 1 ;case PORT_SATA : -return 1 ; +break ; } +return 1 ;/* Avoid bogus "control reaches end of non-void function" */ }static void jmicron_tuneproc (ide_drive_t *drive,byte mode_wanted)
drivers/ide/pci/ns87415.c +1 -1
@@ -302,7 +302,7 @@ static struct pci_driver driver = { .probe = ns87415_init_one, }; -static int ns87415_ide_init (void ) +static int __init ns87415_ide_init (void ) {return ide_pci_register_driver (&driver); }
drivers/ide/pci/opti621.c +1 -1
@@ -382,7 +382,7 @@ static struct pci_driver driver = { .probe = opti621_init_one, }; -static int opti621_ide_init (void ) +static int __init opti621_ide_init (void ) {return ide_pci_register_driver (&driver); }
drivers/ide/pci/pdc202xx_new.c +1 -1
@@ -756,7 +756,7 @@ static struct pci_driver driver = { .probe = pdc202new_init_one, }; -static int pdc202new_ide_init (void ) +static int __init pdc202new_ide_init (void ) {return ide_pci_register_driver (&driver); }
drivers/ide/pci/pdc202xx_old.c +1 -1
@@ -719,7 +719,7 @@ static struct pci_driver driver = { .probe = pdc202xx_init_one, }; -static int pdc202xx_ide_init (void ) +static int __init pdc202xx_ide_init (void ) {return ide_pci_register_driver (&driver); }
drivers/ide/pci/rz1000.c +1 -1
@@ -77,7 +77,7 @@ static struct pci_driver driver = { .probe = rz1000_init_one, }; -static int rz1000_ide_init (void ) +static int __init rz1000_ide_init (void ) {return ide_pci_register_driver (&driver); }
drivers/ide/pci/sc1200.c +1 -1
@@ -507,7 +507,7 @@ static struct pci_driver driver = {#endif }; -static int sc1200_ide_init (void ) +static int __init sc1200_ide_init (void ) {return ide_pci_register_driver (&driver); }
drivers/ide/pci/serverworks.c +1 -1
@@ -666,7 +666,7 @@ static struct pci_driver driver = { .probe = svwks_init_one, }; -static int svwks_ide_init (void ) +static int __init svwks_ide_init (void ) {return ide_pci_register_driver (&driver); }
drivers/ide/pci/sgiioc4.c +1 -2
@@ -762,8 +762,7 @@ static struct ioc4_submodule ioc4_ide_submodule = {/* .is_remove = ioc4_ide_remove_one, */ }; -static int __devinit -ioc4_ide_init (void ) +static int __init ioc4_ide_init (void ) {return ioc4_register_submodule (&ioc4_ide_submodule); }
drivers/ide/pci/siimage.c +1 -1
@@ -1096,7 +1096,7 @@ static struct pci_driver driver = { .probe = siimage_init_one, }; -static int siimage_ide_init (void ) +static int __init siimage_ide_init (void ) {return ide_pci_register_driver (&driver); }
drivers/ide/pci/sis5513.c +1 -1
@@ -968,7 +968,7 @@ static struct pci_driver driver = { .probe = sis5513_init_one, }; -static int sis5513_ide_init (void ) +static int __init sis5513_ide_init (void ) {return ide_pci_register_driver (&driver); }
drivers/ide/pci/sl82c105.c +1 -1
@@ -492,7 +492,7 @@ static struct pci_driver driver = { .probe = sl82c105_init_one, }; -static int sl82c105_ide_init (void ) +static int __init sl82c105_ide_init (void ) {return ide_pci_register_driver (&driver); }
drivers/ide/pci/slc90e66.c +1 -1
@@ -253,7 +253,7 @@ static struct pci_driver driver = { .probe = slc90e66_init_one, }; -static int slc90e66_ide_init (void ) +static int __init slc90e66_ide_init (void ) {return ide_pci_register_driver (&driver); }
drivers/ide/pci/triflex.c +1 -1
@@ -173,7 +173,7 @@ static struct pci_driver driver = { .probe = triflex_init_one, }; -static int triflex_ide_init (void ) +static int __init triflex_ide_init (void ) {return ide_pci_register_driver (&driver); }
drivers/ide/pci/trm290.c +1 -1
@@ -355,7 +355,7 @@ static struct pci_driver driver = { .probe = trm290_init_one, }; -static int trm290_ide_init (void ) +static int __init trm290_ide_init (void ) {return ide_pci_register_driver (&driver); }
drivers/ide/pci/via82cxxx.c +4 -1
@@ -78,6 +78,8 @@ static struct via_isa_bridge {u8 rev_max;u16 flags; } via_isa_bridges[] = { + { "cx7000", PCI_DEVICE_ID_VIA_CX700, 0x00, 0x2f, VIA_UDMA_133 | VIA_BAD_AST }, + { "vt8237s", PCI_DEVICE_ID_VIA_8237S, 0x00, 0x2f, VIA_UDMA_133 | VIA_BAD_AST }, { "vt6410", PCI_DEVICE_ID_VIA_6410, 0x00, 0x2f, VIA_UDMA_133 | VIA_BAD_AST }, { "vt8251", PCI_DEVICE_ID_VIA_8251, 0x00, 0x2f, VIA_UDMA_133 | VIA_BAD_AST }, { "vt8237", PCI_DEVICE_ID_VIA_8237, 0x00, 0x2f, VIA_UDMA_133 | VIA_BAD_AST },
@@ -504,6 +506,7 @@ static struct pci_device_id via_pci_tbl[] = { { PCI_VENDOR_ID_VIA, PCI_DEVICE_ID_VIA_82C576_1, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0}, { PCI_VENDOR_ID_VIA, PCI_DEVICE_ID_VIA_82C586_1, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0}, { PCI_VENDOR_ID_VIA, PCI_DEVICE_ID_VIA_6410, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 1}, + { PCI_VENDOR_ID_VIA, PCI_DEVICE_ID_VIA_SATA_EIDE, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 1}, { 0, }, };MODULE_DEVICE_TABLE (pci, via_pci_tbl);
@@ -514,7 +517,7 @@ static struct pci_driver driver = { .probe = via_init_one, }; -static int via_ide_init (void ) +static int __init via_ide_init (void ) {return ide_pci_register_driver (&driver); }
include/asm-ia64/pci.h +6 -0
@@ -167,4 +167,10 @@ pcibios_select_root(struct pci_dev *pdev, struct resource *res)#define pcibios_scan_all_fns (a, b) 0 +#define HAVE_ARCH_PCI_GET_LEGACY_IDE_IRQ +static inline int pci_get_legacy_ide_irq (struct pci_dev *dev,int channel) +{ +return channel ?15 :14 ; +} +#endif /* _ASM_IA64_PCI_H */
include/linux/pci_ids.h +2 -1
@@ -1283,7 +1283,6 @@#define PCI_DEVICE_ID_VIA_82C561 0x0561#define PCI_DEVICE_ID_VIA_82C586_1 0x0571#define PCI_DEVICE_ID_VIA_82C576 0x0576 -#define PCI_DEVICE_ID_VIA_SATA_EIDE 0x0581#define PCI_DEVICE_ID_VIA_82C586_0 0x0586#define PCI_DEVICE_ID_VIA_82C596 0x0596#define PCI_DEVICE_ID_VIA_82C597_0 0x0597
@@ -1326,6 +1325,8 @@#define PCI_DEVICE_ID_VIA_8237 0x3227#define PCI_DEVICE_ID_VIA_8251 0x3287#define PCI_DEVICE_ID_VIA_8237A 0x3337 +#define PCI_DEVICE_ID_VIA_8237S 0x3372 +#define PCI_DEVICE_ID_VIA_SATA_EIDE 0x5324#define PCI_DEVICE_ID_VIA_8231 0x8231#define PCI_DEVICE_ID_VIA_8231_4 0x8235#define PCI_DEVICE_ID_VIA_8365_1 0x8305