Skip to content

Commit

Permalink
Merge master.kernel.org:/pub/scm/linux/kernel/git/bart/ide-2.6
Browse files Browse the repository at this point in the history
* 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
  • Loading branch information
Linus Torvalds committed Jan 30, 2007
2 parents d3143e7 + e0b874d commit 597049c
Show file tree
Hide file tree
Showing 33 changed files with 71 additions and 90 deletions.
7 changes: 3 additions & 4 deletions MAINTAINERS
Original file line number Diff line number Diff line change
Expand Up @@ -1598,12 +1598,11 @@ M: ipslinux@adaptec.com
W: http://www.developer.ibm.com/welcome/netfinity/serveraid.html
S: Supported

IDE DRIVER [GENERAL]
IDE SUBSYSTEM
P: Bartlomiej Zolnierkiewicz
M: B.Zolnierkiewicz@elka.pw.edu.pl
L: linux-kernel@vger.kernel.org
M: bzolnier@gmail.com
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

IDE/ATAPI CDROM DRIVER
Expand Down
1 change: 1 addition & 0 deletions drivers/ata/pata_via.c
Original file line number Diff line number Diff line change
Expand Up @@ -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},
Expand Down
5 changes: 5 additions & 0 deletions drivers/ide/ide-pnp.c
Original file line number Diff line number Diff line change
Expand Up @@ -73,3 +73,8 @@ void __init pnpide_init(void)
{
pnp_register_driver(&idepnp_driver);
}

void __exit pnpide_exit(void)
{
pnp_unregister_driver(&idepnp_driver);
}
5 changes: 5 additions & 0 deletions drivers/ide/ide.c
Original file line number Diff line number Diff line change
Expand Up @@ -1782,6 +1782,7 @@ static int __init ide_setup(char *s)
}

extern void pnpide_init(void);
extern void pnpide_exit(void);
extern void h8300_ide_init(void);

/*
Expand Down Expand Up @@ -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
Expand Down
2 changes: 1 addition & 1 deletion drivers/ide/pci/aec62xx.c
Original file line number Diff line number Diff line change
Expand Up @@ -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);
}
Expand Down
2 changes: 1 addition & 1 deletion drivers/ide/pci/alim15x3.c
Original file line number Diff line number Diff line change
Expand Up @@ -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);
}
Expand Down
2 changes: 1 addition & 1 deletion drivers/ide/pci/amd74xx.c
Original file line number Diff line number Diff line change
Expand Up @@ -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);
}
Expand Down
42 changes: 19 additions & 23 deletions drivers/ide/pci/atiixp.c
Original file line number Diff line number Diff line change
Expand Up @@ -291,8 +291,12 @@ static int atiixp_dma_check(ide_drive_t *drive)

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)
hwif->irq = hwif->channel ? 15 : 14;
hwif->irq = ch ? 15 : 14;

hwif->autodma = 0;
hwif->tuneproc = &atiixp_tuneproc;
Expand All @@ -308,8 +312,12 @@ static void __devinit init_hwif_atiixp(ide_hwif_t *hwif)
hwif->mwdma_mask = 0x06;
hwif->swdma_mask = 0x04;

/* FIXME: proper cable detection needed */
hwif->udma_four = 1;
pci_read_config_byte(pdev, ATIIXP_IDE_UDMA_MODE + ch, &udma_mode);
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_off = &atiixp_ide_dma_host_off;
hwif->ide_dma_check = &atiixp_dma_check;
Expand All @@ -320,19 +328,6 @@ static void __devinit init_hwif_atiixp(ide_hwif_t *hwif)
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 = {
{ /* 0 */
Expand All @@ -343,12 +338,13 @@ static ide_pci_device_t atiixp_pci_info[] __devinitdata = {
.enablebits = {{0x48,0x01,0x00}, {0x48,0x08,0x00}},
.bootable = ON_BOARD,
},{ /* 1 */
.name = "ATI SB600 SATA Legacy IDE",
.init_hwif = init_hwif_sb600_legacy,
.channels = 2,
.name = "SB600_PATA",
.init_hwif = init_hwif_atiixp,
.channels = 1,
.autodma = AUTODMA,
.bootable = ON_BOARD,
}
.enablebits = {{0x48,0x01,0x00}, {0x00,0x00,0x00}},
.bootable = ON_BOARD,
},
};

/**
Expand All @@ -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_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_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, },
};
MODULE_DEVICE_TABLE(pci, atiixp_pci_tbl);
Expand All @@ -380,7 +376,7 @@ static struct pci_driver driver = {
.probe = atiixp_init_one,
};

static int atiixp_ide_init(void)
static int __init atiixp_ide_init(void)
{
return ide_pci_register_driver(&driver);
}
Expand Down
2 changes: 1 addition & 1 deletion drivers/ide/pci/cmd64x.c
Original file line number Diff line number Diff line change
Expand Up @@ -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);
}
Expand Down
2 changes: 1 addition & 1 deletion drivers/ide/pci/cs5520.c
Original file line number Diff line number Diff line change
Expand Up @@ -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);
}
Expand Down
2 changes: 1 addition & 1 deletion drivers/ide/pci/cs5530.c
Original file line number Diff line number Diff line change
Expand Up @@ -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);
}
Expand Down
2 changes: 1 addition & 1 deletion drivers/ide/pci/cy82c693.c
Original file line number Diff line number Diff line change
Expand Up @@ -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);
}
Expand Down
37 changes: 1 addition & 36 deletions drivers/ide/pci/generic.c
Original file line number Diff line number Diff line change
Expand Up @@ -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,
}
};

Expand Down Expand Up @@ -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, },
Expand All @@ -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);
}
Expand Down
2 changes: 1 addition & 1 deletion drivers/ide/pci/hpt34x.c
Original file line number Diff line number Diff line change
Expand Up @@ -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);
}
Expand Down
2 changes: 1 addition & 1 deletion drivers/ide/pci/hpt366.c
Original file line number Diff line number Diff line change
Expand Up @@ -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);
}
Expand Down
3 changes: 2 additions & 1 deletion drivers/ide/pci/jmicron.c
Original file line number Diff line number Diff line change
Expand Up @@ -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)
Expand Down
2 changes: 1 addition & 1 deletion drivers/ide/pci/ns87415.c
Original file line number Diff line number Diff line change
Expand Up @@ -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);
}
Expand Down
2 changes: 1 addition & 1 deletion drivers/ide/pci/opti621.c
Original file line number Diff line number Diff line change
Expand Up @@ -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);
}
Expand Down
2 changes: 1 addition & 1 deletion drivers/ide/pci/pdc202xx_new.c
Original file line number Diff line number Diff line change
Expand Up @@ -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);
}
Expand Down
2 changes: 1 addition & 1 deletion drivers/ide/pci/pdc202xx_old.c
Original file line number Diff line number Diff line change
Expand Up @@ -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);
}
Expand Down
2 changes: 1 addition & 1 deletion drivers/ide/pci/rz1000.c
Original file line number Diff line number Diff line change
Expand Up @@ -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);
}
Expand Down
2 changes: 1 addition & 1 deletion drivers/ide/pci/sc1200.c
Original file line number Diff line number Diff line change
Expand Up @@ -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);
}
Expand Down
2 changes: 1 addition & 1 deletion drivers/ide/pci/serverworks.c
Original file line number Diff line number Diff line change
Expand Up @@ -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);
}
Expand Down
3 changes: 1 addition & 2 deletions drivers/ide/pci/sgiioc4.c
Original file line number Diff line number Diff line change
Expand Up @@ -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);
}
Expand Down
2 changes: 1 addition & 1 deletion drivers/ide/pci/siimage.c
Original file line number Diff line number Diff line change
Expand Up @@ -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);
}
Expand Down
2 changes: 1 addition & 1 deletion drivers/ide/pci/sis5513.c
Original file line number Diff line number Diff line change
Expand Up @@ -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);
}
Expand Down
2 changes: 1 addition & 1 deletion drivers/ide/pci/sl82c105.c
Original file line number Diff line number Diff line change
Expand Up @@ -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);
}
Expand Down
2 changes: 1 addition & 1 deletion drivers/ide/pci/slc90e66.c
Original file line number Diff line number Diff line change
Expand Up @@ -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);
}
Expand Down
Loading

0 comments on commit 597049c

Please sign in to comment.