Commit 597049cc authored by Linus Torvalds's avatar Linus Torvalds

Merge master.kernel.org:/pub/scm/linux/kernel/git/bart/ide-2.6

* master.kernel.org:/pub/scm/linux/kernel/git/bart/ide-2.6:
  via82cxxx/pata_via: correct PCI_DEVICE_ID_VIA_SATA_EIDE ID and add support for CX700 and 8237S
  ide: unregister idepnp driver on unload
  ide: add missing __init tags to IDE PCI host drivers
  ia64: add pci_get_legacy_ide_irq()
  ide/generic: Jmicron has its own drivers now
  atiixp.c: add cable detection support for ATI IDE
  atiixp.c: sb600 ide only has one channel
  atiixp.c: remove unused code
  jmicron: fix warning
  ide: update MAINTAINERS entry
parents d3143e71 e0b874df
...@@ -1598,12 +1598,11 @@ M: ipslinux@adaptec.com ...@@ -1598,12 +1598,11 @@ M: ipslinux@adaptec.com
W: http://www.developer.ibm.com/welcome/netfinity/serveraid.html W: http://www.developer.ibm.com/welcome/netfinity/serveraid.html
S: Supported S: Supported
IDE DRIVER [GENERAL] IDE SUBSYSTEM
P: Bartlomiej Zolnierkiewicz P: Bartlomiej Zolnierkiewicz
M: B.Zolnierkiewicz@elka.pw.edu.pl M: bzolnier@gmail.com
L: linux-kernel@vger.kernel.org
L: linux-ide@vger.kernel.org L: linux-ide@vger.kernel.org
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 S: Maintained
IDE/ATAPI CDROM DRIVER IDE/ATAPI CDROM DRIVER
......
...@@ -95,6 +95,7 @@ static const struct via_isa_bridge { ...@@ -95,6 +95,7 @@ static const struct via_isa_bridge {
u8 rev_max; u8 rev_max;
u16 flags; u16 flags;
} via_isa_bridges[] = { } 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 }, { "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 }, { "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}, { "vt6410", PCI_DEVICE_ID_VIA_6410, 0x00, 0x2f, VIA_UDMA_133 | VIA_BAD_AST | VIA_NO_ENABLES},
......
...@@ -73,3 +73,8 @@ void __init pnpide_init(void) ...@@ -73,3 +73,8 @@ void __init pnpide_init(void)
{ {
pnp_register_driver(&idepnp_driver); pnp_register_driver(&idepnp_driver);
} }
void __exit pnpide_exit(void)
{
pnp_unregister_driver(&idepnp_driver);
}
...@@ -1782,6 +1782,7 @@ static int __init ide_setup(char *s) ...@@ -1782,6 +1782,7 @@ static int __init ide_setup(char *s)
} }
extern void pnpide_init(void); extern void pnpide_init(void);
extern void pnpide_exit(void);
extern void h8300_ide_init(void); extern void h8300_ide_init(void);
/* /*
...@@ -2094,6 +2095,10 @@ void cleanup_module (void) ...@@ -2094,6 +2095,10 @@ void cleanup_module (void)
for (index = 0; index < MAX_HWIFS; ++index) for (index = 0; index < MAX_HWIFS; ++index)
ide_unregister(index); ide_unregister(index);
#ifdef CONFIG_BLK_DEV_IDEPNP
pnpide_exit();
#endif
#ifdef CONFIG_PROC_FS #ifdef CONFIG_PROC_FS
proc_ide_destroy(); proc_ide_destroy();
#endif #endif
......
...@@ -441,7 +441,7 @@ static struct pci_driver driver = { ...@@ -441,7 +441,7 @@ static struct pci_driver driver = {
.probe = aec62xx_init_one, .probe = aec62xx_init_one,
}; };
static int aec62xx_ide_init(void) static int __init aec62xx_ide_init(void)
{ {
return ide_pci_register_driver(&driver); return ide_pci_register_driver(&driver);
} }
......
...@@ -907,7 +907,7 @@ static struct pci_driver driver = { ...@@ -907,7 +907,7 @@ static struct pci_driver driver = {
.probe = alim15x3_init_one, .probe = alim15x3_init_one,
}; };
static int ali15x3_ide_init(void) static int __init ali15x3_ide_init(void)
{ {
return ide_pci_register_driver(&driver); return ide_pci_register_driver(&driver);
} }
......
...@@ -544,7 +544,7 @@ static struct pci_driver driver = { ...@@ -544,7 +544,7 @@ static struct pci_driver driver = {
.probe = amd74xx_probe, .probe = amd74xx_probe,
}; };
static int amd74xx_ide_init(void) static int __init amd74xx_ide_init(void)
{ {
return ide_pci_register_driver(&driver); return ide_pci_register_driver(&driver);
} }
......
...@@ -291,8 +291,12 @@ static int atiixp_dma_check(ide_drive_t *drive) ...@@ -291,8 +291,12 @@ static int atiixp_dma_check(ide_drive_t *drive)
static void __devinit init_hwif_atiixp(ide_hwif_t *hwif) static void __devinit init_hwif_atiixp(ide_hwif_t *hwif)
{ {
u8 udma_mode = 0;
u8 ch = hwif->channel;
struct pci_dev *pdev = hwif->pci_dev;
if (!hwif->irq) if (!hwif->irq)
hwif->irq = hwif->channel ? 15 : 14; hwif->irq = ch ? 15 : 14;
hwif->autodma = 0; hwif->autodma = 0;
hwif->tuneproc = &atiixp_tuneproc; hwif->tuneproc = &atiixp_tuneproc;
...@@ -308,8 +312,12 @@ static void __devinit init_hwif_atiixp(ide_hwif_t *hwif) ...@@ -308,8 +312,12 @@ static void __devinit init_hwif_atiixp(ide_hwif_t *hwif)
hwif->mwdma_mask = 0x06; hwif->mwdma_mask = 0x06;
hwif->swdma_mask = 0x04; hwif->swdma_mask = 0x04;
/* FIXME: proper cable detection needed */ pci_read_config_byte(pdev, ATIIXP_IDE_UDMA_MODE + ch, &udma_mode);
hwif->udma_four = 1; if ((udma_mode & 0x07) >= 0x04 || (udma_mode & 0x70) >= 0x40)
hwif->udma_four = 1;
else
hwif->udma_four = 0;
hwif->ide_dma_host_on = &atiixp_ide_dma_host_on; hwif->ide_dma_host_on = &atiixp_ide_dma_host_on;
hwif->ide_dma_host_off = &atiixp_ide_dma_host_off; hwif->ide_dma_host_off = &atiixp_ide_dma_host_off;
hwif->ide_dma_check = &atiixp_dma_check; hwif->ide_dma_check = &atiixp_dma_check;
...@@ -320,19 +328,6 @@ static void __devinit init_hwif_atiixp(ide_hwif_t *hwif) ...@@ -320,19 +328,6 @@ static void __devinit init_hwif_atiixp(ide_hwif_t *hwif)
hwif->drives[0].autodma = hwif->autodma; hwif->drives[0].autodma = hwif->autodma;
} }
static void __devinit init_hwif_sb600_legacy(ide_hwif_t *hwif)
{
hwif->atapi_dma = 1;
hwif->ultra_mask = 0x7f;
hwif->mwdma_mask = 0x07;
hwif->swdma_mask = 0x07;
if (!noautodma)
hwif->autodma = 1;
hwif->drives[0].autodma = hwif->autodma;
hwif->drives[1].autodma = hwif->autodma;
}
static ide_pci_device_t atiixp_pci_info[] __devinitdata = { static ide_pci_device_t atiixp_pci_info[] __devinitdata = {
{ /* 0 */ { /* 0 */
...@@ -343,12 +338,13 @@ static ide_pci_device_t atiixp_pci_info[] __devinitdata = { ...@@ -343,12 +338,13 @@ static ide_pci_device_t atiixp_pci_info[] __devinitdata = {
.enablebits = {{0x48,0x01,0x00}, {0x48,0x08,0x00}}, .enablebits = {{0x48,0x01,0x00}, {0x48,0x08,0x00}},
.bootable = ON_BOARD, .bootable = ON_BOARD,
},{ /* 1 */ },{ /* 1 */
.name = "ATI SB600 SATA Legacy IDE", .name = "SB600_PATA",
.init_hwif = init_hwif_sb600_legacy, .init_hwif = init_hwif_atiixp,
.channels = 2, .channels = 1,
.autodma = AUTODMA, .autodma = AUTODMA,
.bootable = ON_BOARD, .enablebits = {{0x48,0x01,0x00}, {0x00,0x00,0x00}},
} .bootable = ON_BOARD,
},
}; };
/** /**
...@@ -369,7 +365,7 @@ static struct pci_device_id atiixp_pci_tbl[] = { ...@@ -369,7 +365,7 @@ static struct pci_device_id atiixp_pci_tbl[] = {
{ PCI_VENDOR_ID_ATI, PCI_DEVICE_ID_ATI_IXP200_IDE, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0}, { PCI_VENDOR_ID_ATI, PCI_DEVICE_ID_ATI_IXP200_IDE, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0},
{ PCI_VENDOR_ID_ATI, PCI_DEVICE_ID_ATI_IXP300_IDE, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0}, { PCI_VENDOR_ID_ATI, PCI_DEVICE_ID_ATI_IXP300_IDE, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0},
{ PCI_VENDOR_ID_ATI, PCI_DEVICE_ID_ATI_IXP400_IDE, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0}, { PCI_VENDOR_ID_ATI, PCI_DEVICE_ID_ATI_IXP400_IDE, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0},
{ PCI_VENDOR_ID_ATI, PCI_DEVICE_ID_ATI_IXP600_IDE, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0}, { PCI_VENDOR_ID_ATI, PCI_DEVICE_ID_ATI_IXP600_IDE, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 1},
{ 0, }, { 0, },
}; };
MODULE_DEVICE_TABLE(pci, atiixp_pci_tbl); MODULE_DEVICE_TABLE(pci, atiixp_pci_tbl);
...@@ -380,7 +376,7 @@ static struct pci_driver driver = { ...@@ -380,7 +376,7 @@ static struct pci_driver driver = {
.probe = atiixp_init_one, .probe = atiixp_init_one,
}; };
static int atiixp_ide_init(void) static int __init atiixp_ide_init(void)
{ {
return ide_pci_register_driver(&driver); return ide_pci_register_driver(&driver);
} }
......
...@@ -793,7 +793,7 @@ static struct pci_driver driver = { ...@@ -793,7 +793,7 @@ static struct pci_driver driver = {
.probe = cmd64x_init_one, .probe = cmd64x_init_one,
}; };
static int cmd64x_ide_init(void) static int __init cmd64x_ide_init(void)
{ {
return ide_pci_register_driver(&driver); return ide_pci_register_driver(&driver);
} }
......
...@@ -260,7 +260,7 @@ static struct pci_driver driver = { ...@@ -260,7 +260,7 @@ static struct pci_driver driver = {
.probe = cs5520_init_one, .probe = cs5520_init_one,
}; };
static int cs5520_ide_init(void) static int __init cs5520_ide_init(void)
{ {
return ide_pci_register_driver(&driver); return ide_pci_register_driver(&driver);
} }
......
...@@ -374,7 +374,7 @@ static struct pci_driver driver = { ...@@ -374,7 +374,7 @@ static struct pci_driver driver = {
.probe = cs5530_init_one, .probe = cs5530_init_one,
}; };
static int cs5530_ide_init(void) static int __init cs5530_ide_init(void)
{ {
return ide_pci_register_driver(&driver); return ide_pci_register_driver(&driver);
} }
......
...@@ -519,7 +519,7 @@ static struct pci_driver driver = { ...@@ -519,7 +519,7 @@ static struct pci_driver driver = {
.probe = cy82c693_init_one, .probe = cy82c693_init_one,
}; };
static int cy82c693_ide_init(void) static int __init cy82c693_ide_init(void)
{ {
return ide_pci_register_driver(&driver); return ide_pci_register_driver(&driver);
} }
......
...@@ -185,36 +185,6 @@ static ide_pci_device_t generic_chipsets[] __devinitdata = { ...@@ -185,36 +185,6 @@ static ide_pci_device_t generic_chipsets[] __devinitdata = {
.channels = 2, .channels = 2,
.autodma = AUTODMA, .autodma = AUTODMA,
.bootable = OFF_BOARD, .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[] = { ...@@ -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_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_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_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 */ /* 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}, { PCI_ANY_ID, PCI_ANY_ID, PCI_ANY_ID, PCI_ANY_ID, PCI_CLASS_STORAGE_IDE << 8, 0xFFFFFF00UL, 0},
{ 0, }, { 0, },
...@@ -298,7 +263,7 @@ static struct pci_driver driver = { ...@@ -298,7 +263,7 @@ static struct pci_driver driver = {
.probe = generic_init_one, .probe = generic_init_one,
}; };
static int generic_ide_init(void) static int __init generic_ide_init(void)
{ {
return ide_pci_register_driver(&driver); return ide_pci_register_driver(&driver);
} }
......
...@@ -265,7 +265,7 @@ static struct pci_driver driver = { ...@@ -265,7 +265,7 @@ static struct pci_driver driver = {
.probe = hpt34x_init_one, .probe = hpt34x_init_one,
}; };
static int hpt34x_ide_init(void) static int __init hpt34x_ide_init(void)
{ {
return ide_pci_register_driver(&driver); return ide_pci_register_driver(&driver);
} }
......
...@@ -1613,7 +1613,7 @@ static struct pci_driver driver = { ...@@ -1613,7 +1613,7 @@ static struct pci_driver driver = {
.probe = hpt366_init_one, .probe = hpt366_init_one,
}; };
static int hpt366_ide_init(void) static int __init hpt366_ide_init(void)
{ {
return ide_pci_register_driver(&driver); return ide_pci_register_driver(&driver);
} }
......
...@@ -93,8 +93,9 @@ static int __devinit ata66_jmicron(ide_hwif_t *hwif) ...@@ -93,8 +93,9 @@ static int __devinit ata66_jmicron(ide_hwif_t *hwif)
return 0; return 0;
return 1; return 1;
case PORT_SATA: 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) static void jmicron_tuneproc (ide_drive_t *drive, byte mode_wanted)
......
...@@ -302,7 +302,7 @@ static struct pci_driver driver = { ...@@ -302,7 +302,7 @@ static struct pci_driver driver = {
.probe = ns87415_init_one, .probe = ns87415_init_one,
}; };
static int ns87415_ide_init(void) static int __init ns87415_ide_init(void)
{ {
return ide_pci_register_driver(&driver); return ide_pci_register_driver(&driver);
} }
......
...@@ -382,7 +382,7 @@ static struct pci_driver driver = { ...@@ -382,7 +382,7 @@ static struct pci_driver driver = {
.probe = opti621_init_one, .probe = opti621_init_one,
}; };
static int opti621_ide_init(void) static int __init opti621_ide_init(void)
{ {
return ide_pci_register_driver(&driver); return ide_pci_register_driver(&driver);
} }
......
...@@ -756,7 +756,7 @@ static struct pci_driver driver = { ...@@ -756,7 +756,7 @@ static struct pci_driver driver = {
.probe = pdc202new_init_one, .probe = pdc202new_init_one,
}; };
static int pdc202new_ide_init(void) static int __init pdc202new_ide_init(void)
{ {
return ide_pci_register_driver(&driver); return ide_pci_register_driver(&driver);
} }
......
...@@ -719,7 +719,7 @@ static struct pci_driver driver = { ...@@ -719,7 +719,7 @@ static struct pci_driver driver = {
.probe = pdc202xx_init_one, .probe = pdc202xx_init_one,
}; };
static int pdc202xx_ide_init(void) static int __init pdc202xx_ide_init(void)
{ {
return ide_pci_register_driver(&driver); return ide_pci_register_driver(&driver);
} }
......
...@@ -77,7 +77,7 @@ static struct pci_driver driver = { ...@@ -77,7 +77,7 @@ static struct pci_driver driver = {
.probe = rz1000_init_one, .probe = rz1000_init_one,
}; };
static int rz1000_ide_init(void) static int __init rz1000_ide_init(void)
{ {
return ide_pci_register_driver(&driver); return ide_pci_register_driver(&driver);
} }
......
...@@ -507,7 +507,7 @@ static struct pci_driver driver = { ...@@ -507,7 +507,7 @@ static struct pci_driver driver = {
#endif #endif
}; };
static int sc1200_ide_init(void) static int __init sc1200_ide_init(void)
{ {
return ide_pci_register_driver(&driver); return ide_pci_register_driver(&driver);
} }
......
...@@ -666,7 +666,7 @@ static struct pci_driver driver = { ...@@ -666,7 +666,7 @@ static struct pci_driver driver = {
.probe = svwks_init_one, .probe = svwks_init_one,
}; };
static int svwks_ide_init(void) static int __init svwks_ide_init(void)
{ {
return ide_pci_register_driver(&driver); return ide_pci_register_driver(&driver);
} }
......
...@@ -762,8 +762,7 @@ static struct ioc4_submodule ioc4_ide_submodule = { ...@@ -762,8 +762,7 @@ static struct ioc4_submodule ioc4_ide_submodule = {
/* .is_remove = ioc4_ide_remove_one, */ /* .is_remove = ioc4_ide_remove_one, */
}; };
static int __devinit static int __init ioc4_ide_init(void)
ioc4_ide_init(void)
{ {
return ioc4_register_submodule(&ioc4_ide_submodule); return ioc4_register_submodule(&ioc4_ide_submodule);
} }
......
...@@ -1096,7 +1096,7 @@ static struct pci_driver driver = { ...@@ -1096,7 +1096,7 @@ static struct pci_driver driver = {
.probe = siimage_init_one, .probe = siimage_init_one,
}; };
static int siimage_ide_init(void) static int __init siimage_ide_init(void)
{ {
return ide_pci_register_driver(&driver); return ide_pci_register_driver(&driver);
} }
......
...@@ -968,7 +968,7 @@ static struct pci_driver driver = { ...@@ -968,7 +968,7 @@ static struct pci_driver driver = {
.probe = sis5513_init_one, .probe = sis5513_init_one,
}; };
static int sis5513_ide_init(void) static int __init sis5513_ide_init(void)
{ {
return ide_pci_register_driver(&driver); return ide_pci_register_driver(&driver);
} }
......
...@@ -492,7 +492,7 @@ static struct pci_driver driver = { ...@@ -492,7 +492,7 @@ static struct pci_driver driver = {
.probe = sl82c105_init_one, .probe = sl82c105_init_one,
}; };
static int sl82c105_ide_init(void) static int __init sl82c105_ide_init(void)
{ {
return ide_pci_register_driver(&driver); return ide_pci_register_driver(&driver);
} }
......
...@@ -253,7 +253,7 @@ static struct pci_driver driver = { ...@@ -253,7 +253,7 @@ static struct pci_driver driver = {
.probe = slc90e66_init_one, .probe = slc90e66_init_one,
}; };
static int slc90e66_ide_init(void) static int __init slc90e66_ide_init(void)
{ {
return ide_pci_register_driver(&driver); return ide_pci_register_driver(&driver);
} }
......
...@@ -173,7 +173,7 @@ static struct pci_driver driver = { ...@@ -173,7 +173,7 @@ static struct pci_driver driver = {
.probe = triflex_init_one, .probe = triflex_init_one,
}; };
static int triflex_ide_init(void) static int __init triflex_ide_init(void)
{ {
return ide_pci_register_driver(&driver); return ide_pci_register_driver(&driver);
} }
......
...@@ -355,7 +355,7 @@ static struct pci_driver driver = { ...@@ -355,7 +355,7 @@ static struct pci_driver driver = {
.probe = trm290_init_one, .probe = trm290_init_one,
}; };
static int trm290_ide_init(void) static int __init trm290_ide_init(void)
{ {
return ide_pci_register_driver(&driver); return ide_pci_register_driver(&driver);
} }
......
...@@ -78,6 +78,8 @@ static struct via_isa_bridge { ...@@ -78,6 +78,8 @@ static struct via_isa_bridge {
u8 rev_max; u8 rev_max;
u16 flags; u16 flags;
} via_isa_bridges[] = { } 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 }, { "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 }, { "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 }, { "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[] = { ...@@ -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_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_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_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, }, { 0, },
}; };
MODULE_DEVICE_TABLE(pci, via_pci_tbl); MODULE_DEVICE_TABLE(pci, via_pci_tbl);
...@@ -514,7 +517,7 @@ static struct pci_driver driver = { ...@@ -514,7 +517,7 @@ static struct pci_driver driver = {
.probe = via_init_one, .probe = via_init_one,
}; };
static int via_ide_init(void) static int __init via_ide_init(void)
{ {
return ide_pci_register_driver(&driver); return ide_pci_register_driver(&driver);
} }
......
...@@ -167,4 +167,10 @@ pcibios_select_root(struct pci_dev *pdev, struct resource *res) ...@@ -167,4 +167,10 @@ pcibios_select_root(struct pci_dev *pdev, struct resource *res)
#define pcibios_scan_all_fns(a, b) 0 #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 */ #endif /* _ASM_IA64_PCI_H */
...@@ -1283,7 +1283,6 @@ ...@@ -1283,7 +1283,6 @@
#define PCI_DEVICE_ID_VIA_82C561 0x0561 #define PCI_DEVICE_ID_VIA_82C561 0x0561
#define PCI_DEVICE_ID_VIA_82C586_1 0x0571 #define PCI_DEVICE_ID_VIA_82C586_1 0x0571
#define PCI_DEVICE_ID_VIA_82C576 0x0576 #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_82C586_0 0x0586
#define PCI_DEVICE_ID_VIA_82C596 0x0596 #define PCI_DEVICE_ID_VIA_82C596 0x0596
#define PCI_DEVICE_ID_VIA_82C597_0 0x0597 #define PCI_DEVICE_ID_VIA_82C597_0 0x0597
...@@ -1326,6 +1325,8 @@ ...@@ -1326,6 +1325,8 @@
#define PCI_DEVICE_ID_VIA_8237 0x3227 #define PCI_DEVICE_ID_VIA_8237 0x3227
#define PCI_DEVICE_ID_VIA_8251 0x3287 #define PCI_DEVICE_ID_VIA_8251 0x3287
#define PCI_DEVICE_ID_VIA_8237A 0x3337 #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 0x8231
#define PCI_DEVICE_ID_VIA_8231_4 0x8235 #define PCI_DEVICE_ID_VIA_8231_4 0x8235
#define PCI_DEVICE_ID_VIA_8365_1 0x8305 #define PCI_DEVICE_ID_VIA_8365_1 0x8305
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment