Commit 22cd4c11 authored by Martin Dalecki's avatar Martin Dalecki Committed by Linus Torvalds

[PATCH] 2.5.18 IDE 74

- Simplify the ide-pci code further.
parent eb796b17
...@@ -685,20 +685,35 @@ static void __init ali15x3_init_dma(struct ata_channel *ch, unsigned long dmabas ...@@ -685,20 +685,35 @@ static void __init ali15x3_init_dma(struct ata_channel *ch, unsigned long dmabas
/* module data table */ /* module data table */
static struct ata_pci_device chipset __initdata = { static struct ata_pci_device chipsets[] __initdata = {
vendor: PCI_VENDOR_ID_AL, {
device: PCI_DEVICE_ID_AL_M5229, vendor: PCI_VENDOR_ID_AL,
init_chipset: ali15x3_init_chipset, device: PCI_DEVICE_ID_AL_M5219,
ata66_check: ali15x3_ata66_check, /* FIXME: Perhaps we should use the same init routines
init_channel: ali15x3_init_channel, * as below here. */
init_dma: ali15x3_init_dma, enablebits: { {0x00,0x00,0x00}, {0x00,0x00,0x00} },
enablebits: { {0x00,0x00,0x00}, {0x00,0x00,0x00} }, bootable: ON_BOARD,
bootable: ON_BOARD flags: ATA_F_SIMPLEX
},
{
vendor: PCI_VENDOR_ID_AL,
device: PCI_DEVICE_ID_AL_M5229,
init_chipset: ali15x3_init_chipset,
ata66_check: ali15x3_ata66_check,
init_channel: ali15x3_init_channel,
init_dma: ali15x3_init_dma,
enablebits: { {0x00,0x00,0x00}, {0x00,0x00,0x00} },
bootable: ON_BOARD
}
}; };
int __init init_ali15x3(void) int __init init_ali15x3(void)
{ {
ata_register_chipset(&chipset); int i;
for (i = 0; i < ARRAY_SIZE(chipsets); ++i) {
ata_register_chipset(&chipsets[i]);
}
return 0; return 0;
} }
...@@ -443,7 +443,8 @@ static struct ata_pci_device chipsets[] __initdata = { ...@@ -443,7 +443,8 @@ static struct ata_pci_device chipsets[] __initdata = {
init_channel: amd74xx_init_channel, init_channel: amd74xx_init_channel,
init_dma: amd74xx_init_dma, init_dma: amd74xx_init_dma,
enablebits: {{0x40,0x01,0x01}, {0x40,0x02,0x02}}, enablebits: {{0x40,0x01,0x01}, {0x40,0x02,0x02}},
bootable: ON_BOARD bootable: ON_BOARD,
flags: ATA_F_SIMPLEX
}, },
{ {
vendor: PCI_VENDOR_ID_AMD, vendor: PCI_VENDOR_ID_AMD,
......
...@@ -1099,6 +1099,7 @@ static struct ata_pci_device chipsets[] __initdata = { ...@@ -1099,6 +1099,7 @@ static struct ata_pci_device chipsets[] __initdata = {
init_chipset: cmd64x_init_chipset, init_chipset: cmd64x_init_chipset,
init_channel: cmd64x_init_channel, init_channel: cmd64x_init_channel,
bootable: ON_BOARD, bootable: ON_BOARD,
flags: ATA_F_SIMPLEX,
}, },
{ {
vendor: PCI_VENDOR_ID_CMD, vendor: PCI_VENDOR_ID_CMD,
......
...@@ -374,7 +374,7 @@ static struct ata_pci_device chipset __initdata = { ...@@ -374,7 +374,7 @@ static struct ata_pci_device chipset __initdata = {
init_chipset: pci_init_cs5530, init_chipset: pci_init_cs5530,
init_channel: ide_init_cs5530, init_channel: ide_init_cs5530,
bootable: ON_BOARD, bootable: ON_BOARD,
flags: ATA_F_DMA flags: ATA_F_DMA | ATA_F_FDMA
}; };
int __init init_cs5530(void) int __init init_cs5530(void)
......
This diff is collapsed.
...@@ -102,14 +102,16 @@ typedef struct ide_pci_enablebit_s { ...@@ -102,14 +102,16 @@ typedef struct ide_pci_enablebit_s {
/* Flags used to untangle quirk handling. /* Flags used to untangle quirk handling.
*/ */
#define ATA_F_DMA 0x01 #define ATA_F_DMA 0x001
#define ATA_F_NODMA 0x02 /* no DMA mode supported at all */ #define ATA_F_NODMA 0x002 /* no DMA mode supported at all */
#define ATA_F_NOADMA 0x04 /* DMA has to be enabled explicitely */ #define ATA_F_NOADMA 0x004 /* DMA has to be enabled explicitely */
#define ATA_F_FIXIRQ 0x08 /* fixed irq wiring */ #define ATA_F_FDMA 0x008 /* force autodma */
#define ATA_F_SER 0x10 /* serialize on first and second channel interrupts */ #define ATA_F_FIXIRQ 0x010 /* fixed irq wiring */
#define ATA_F_IRQ 0x20 /* trust IRQ information from config */ #define ATA_F_SER 0x020 /* serialize on first and second channel interrupts */
#define ATA_F_PHACK 0x40 /* apply PROMISE hacks */ #define ATA_F_IRQ 0x040 /* trust IRQ information from config */
#define ATA_F_HPTHACK 0x80 /* apply HPT366 hacks */ #define ATA_F_PHACK 0x080 /* apply PROMISE hacks */
#define ATA_F_HPTHACK 0x100 /* apply HPT366 hacks */
#define ATA_F_SIMPLEX 0x200 /* force treatment as simple device */
struct ata_pci_device { struct ata_pci_device {
......
...@@ -679,7 +679,8 @@ static struct ata_pci_device chipsets[] __initdata = { ...@@ -679,7 +679,8 @@ static struct ata_pci_device chipsets[] __initdata = {
init_chipset: svwks_init_chipset, init_chipset: svwks_init_chipset,
ata66_check: svwks_ata66_check, ata66_check: svwks_ata66_check,
init_channel: ide_init_svwks, init_channel: ide_init_svwks,
bootable: ON_BOARD bootable: ON_BOARD,
flags: ATA_F_SIMPLEX
}, },
}; };
......
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