diff options
author | Bartlomiej Zolnierkiewicz <bzolnier@gmail.com> | 2007-10-18 18:30:06 -0400 |
---|---|---|
committer | Bartlomiej Zolnierkiewicz <bzolnier@gmail.com> | 2007-10-18 18:30:06 -0400 |
commit | 7cab14a79973893392111b8f887856a54621f759 (patch) | |
tree | 925ad89a10daa3584e05806eadffb628ef97313b | |
parent | 33c1002ed912ac9dacedd5d5b166da3b72d18460 (diff) |
ide: add IDE_HFLAG_BOOTABLE host flag
Add IDE_HFLAG_BOOTABLE host flag and IDE_HFLAG_OFF_BOARD define. Convert
all host drivers using ide_pci_device_t to use IDE_HFLAG_{BOOTABLE,OFF_BOARD}
instead of d->bootable and then remove no longer needed d->bootable.
Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
34 files changed, 109 insertions, 136 deletions
diff --git a/drivers/ide/pci/aec62xx.c b/drivers/ide/pci/aec62xx.c index 7bf922fc7a07..eaf839fa5165 100644 --- a/drivers/ide/pci/aec62xx.c +++ b/drivers/ide/pci/aec62xx.c | |||
@@ -246,8 +246,7 @@ static ide_pci_device_t aec62xx_chipsets[] __devinitdata = { | |||
246 | .init_hwif = init_hwif_aec62xx, | 246 | .init_hwif = init_hwif_aec62xx, |
247 | .autodma = AUTODMA, | 247 | .autodma = AUTODMA, |
248 | .enablebits = {{0x4a,0x02,0x02}, {0x4a,0x04,0x04}}, | 248 | .enablebits = {{0x4a,0x02,0x02}, {0x4a,0x04,0x04}}, |
249 | .bootable = OFF_BOARD, | 249 | .host_flags = IDE_HFLAG_NO_ATAPI_DMA | IDE_HFLAG_OFF_BOARD, |
250 | .host_flags = IDE_HFLAG_NO_ATAPI_DMA, | ||
251 | .pio_mask = ATA_PIO4, | 250 | .pio_mask = ATA_PIO4, |
252 | .udma_mask = 0x07, /* udma0-2 */ | 251 | .udma_mask = 0x07, /* udma0-2 */ |
253 | },{ /* 1 */ | 252 | },{ /* 1 */ |
@@ -256,8 +255,7 @@ static ide_pci_device_t aec62xx_chipsets[] __devinitdata = { | |||
256 | .init_chipset = init_chipset_aec62xx, | 255 | .init_chipset = init_chipset_aec62xx, |
257 | .init_hwif = init_hwif_aec62xx, | 256 | .init_hwif = init_hwif_aec62xx, |
258 | .autodma = NOAUTODMA, | 257 | .autodma = NOAUTODMA, |
259 | .bootable = OFF_BOARD, | 258 | .host_flags = IDE_HFLAG_NO_ATAPI_DMA | IDE_HFLAG_OFF_BOARD, |
260 | .host_flags = IDE_HFLAG_NO_ATAPI_DMA, | ||
261 | .pio_mask = ATA_PIO4, | 259 | .pio_mask = ATA_PIO4, |
262 | .udma_mask = 0x1f, /* udma0-4 */ | 260 | .udma_mask = 0x1f, /* udma0-4 */ |
263 | },{ /* 2 */ | 261 | },{ /* 2 */ |
@@ -267,7 +265,6 @@ static ide_pci_device_t aec62xx_chipsets[] __devinitdata = { | |||
267 | .init_hwif = init_hwif_aec62xx, | 265 | .init_hwif = init_hwif_aec62xx, |
268 | .autodma = AUTODMA, | 266 | .autodma = AUTODMA, |
269 | .enablebits = {{0x4a,0x02,0x02}, {0x4a,0x04,0x04}}, | 267 | .enablebits = {{0x4a,0x02,0x02}, {0x4a,0x04,0x04}}, |
270 | .bootable = NEVER_BOARD, | ||
271 | .host_flags = IDE_HFLAG_NO_ATAPI_DMA, | 268 | .host_flags = IDE_HFLAG_NO_ATAPI_DMA, |
272 | .pio_mask = ATA_PIO4, | 269 | .pio_mask = ATA_PIO4, |
273 | .udma_mask = 0x1f, /* udma0-4 */ | 270 | .udma_mask = 0x1f, /* udma0-4 */ |
@@ -277,8 +274,7 @@ static ide_pci_device_t aec62xx_chipsets[] __devinitdata = { | |||
277 | .init_chipset = init_chipset_aec62xx, | 274 | .init_chipset = init_chipset_aec62xx, |
278 | .init_hwif = init_hwif_aec62xx, | 275 | .init_hwif = init_hwif_aec62xx, |
279 | .autodma = AUTODMA, | 276 | .autodma = AUTODMA, |
280 | .bootable = OFF_BOARD, | 277 | .host_flags = IDE_HFLAG_NO_ATAPI_DMA | IDE_HFLAG_OFF_BOARD, |
281 | .host_flags = IDE_HFLAG_NO_ATAPI_DMA, | ||
282 | .pio_mask = ATA_PIO4, | 278 | .pio_mask = ATA_PIO4, |
283 | .udma_mask = 0x3f, /* udma0-5 */ | 279 | .udma_mask = 0x3f, /* udma0-5 */ |
284 | },{ /* 4 */ | 280 | },{ /* 4 */ |
@@ -288,8 +284,7 @@ static ide_pci_device_t aec62xx_chipsets[] __devinitdata = { | |||
288 | .init_hwif = init_hwif_aec62xx, | 284 | .init_hwif = init_hwif_aec62xx, |
289 | .autodma = AUTODMA, | 285 | .autodma = AUTODMA, |
290 | .enablebits = {{0x4a,0x02,0x02}, {0x4a,0x04,0x04}}, | 286 | .enablebits = {{0x4a,0x02,0x02}, {0x4a,0x04,0x04}}, |
291 | .bootable = OFF_BOARD, | 287 | .host_flags = IDE_HFLAG_NO_ATAPI_DMA | IDE_HFLAG_OFF_BOARD, |
292 | .host_flags = IDE_HFLAG_NO_ATAPI_DMA, | ||
293 | .pio_mask = ATA_PIO4, | 288 | .pio_mask = ATA_PIO4, |
294 | .udma_mask = 0x3f, /* udma0-5 */ | 289 | .udma_mask = 0x3f, /* udma0-5 */ |
295 | } | 290 | } |
diff --git a/drivers/ide/pci/alim15x3.c b/drivers/ide/pci/alim15x3.c index 6f8ebc959d85..b6b44e9eb492 100644 --- a/drivers/ide/pci/alim15x3.c +++ b/drivers/ide/pci/alim15x3.c | |||
@@ -777,7 +777,7 @@ static ide_pci_device_t ali15x3_chipset __devinitdata = { | |||
777 | .init_hwif = init_hwif_ali15x3, | 777 | .init_hwif = init_hwif_ali15x3, |
778 | .init_dma = init_dma_ali15x3, | 778 | .init_dma = init_dma_ali15x3, |
779 | .autodma = AUTODMA, | 779 | .autodma = AUTODMA, |
780 | .bootable = ON_BOARD, | 780 | .host_flags = IDE_HFLAG_BOOTABLE, |
781 | .pio_mask = ATA_PIO5, | 781 | .pio_mask = ATA_PIO5, |
782 | }; | 782 | }; |
783 | 783 | ||
diff --git a/drivers/ide/pci/amd74xx.c b/drivers/ide/pci/amd74xx.c index 9e9e2b6ef6cb..11d20bb7b85f 100644 --- a/drivers/ide/pci/amd74xx.c +++ b/drivers/ide/pci/amd74xx.c | |||
@@ -280,10 +280,10 @@ static void __devinit init_hwif_amd74xx(ide_hwif_t *hwif) | |||
280 | .init_hwif = init_hwif_amd74xx, \ | 280 | .init_hwif = init_hwif_amd74xx, \ |
281 | .autodma = AUTODMA, \ | 281 | .autodma = AUTODMA, \ |
282 | .enablebits = {{0x40,0x02,0x02}, {0x40,0x01,0x01}}, \ | 282 | .enablebits = {{0x40,0x02,0x02}, {0x40,0x01,0x01}}, \ |
283 | .bootable = ON_BOARD, \ | 283 | .host_flags = IDE_HFLAG_PIO_NO_BLACKLIST | \ |
284 | .host_flags = IDE_HFLAG_PIO_NO_BLACKLIST \ | 284 | IDE_HFLAG_PIO_NO_DOWNGRADE | \ |
285 | | IDE_HFLAG_PIO_NO_DOWNGRADE \ | 285 | IDE_HFLAG_POST_SET_MODE | \ |
286 | | IDE_HFLAG_POST_SET_MODE, \ | 286 | IDE_HFLAG_BOOTABLE, \ |
287 | .pio_mask = ATA_PIO5, \ | 287 | .pio_mask = ATA_PIO5, \ |
288 | } | 288 | } |
289 | 289 | ||
@@ -294,10 +294,10 @@ static void __devinit init_hwif_amd74xx(ide_hwif_t *hwif) | |||
294 | .init_hwif = init_hwif_amd74xx, \ | 294 | .init_hwif = init_hwif_amd74xx, \ |
295 | .autodma = AUTODMA, \ | 295 | .autodma = AUTODMA, \ |
296 | .enablebits = {{0x50,0x02,0x02}, {0x50,0x01,0x01}}, \ | 296 | .enablebits = {{0x50,0x02,0x02}, {0x50,0x01,0x01}}, \ |
297 | .bootable = ON_BOARD, \ | 297 | .host_flags = IDE_HFLAG_PIO_NO_BLACKLIST | \ |
298 | .host_flags = IDE_HFLAG_PIO_NO_BLACKLIST \ | 298 | IDE_HFLAG_PIO_NO_DOWNGRADE | \ |
299 | | IDE_HFLAG_PIO_NO_DOWNGRADE \ | 299 | IDE_HFLAG_POST_SET_MODE | \ |
300 | | IDE_HFLAG_POST_SET_MODE, \ | 300 | IDE_HFLAG_BOOTABLE, \ |
301 | .pio_mask = ATA_PIO5, \ | 301 | .pio_mask = ATA_PIO5, \ |
302 | } | 302 | } |
303 | 303 | ||
diff --git a/drivers/ide/pci/atiixp.c b/drivers/ide/pci/atiixp.c index 9bb1b93325c6..f546a86f8b19 100644 --- a/drivers/ide/pci/atiixp.c +++ b/drivers/ide/pci/atiixp.c | |||
@@ -204,15 +204,14 @@ static ide_pci_device_t atiixp_pci_info[] __devinitdata = { | |||
204 | .init_hwif = init_hwif_atiixp, | 204 | .init_hwif = init_hwif_atiixp, |
205 | .autodma = AUTODMA, | 205 | .autodma = AUTODMA, |
206 | .enablebits = {{0x48,0x01,0x00}, {0x48,0x08,0x00}}, | 206 | .enablebits = {{0x48,0x01,0x00}, {0x48,0x08,0x00}}, |
207 | .bootable = ON_BOARD, | 207 | .host_flags = IDE_HFLAG_BOOTABLE, |
208 | .pio_mask = ATA_PIO4, | 208 | .pio_mask = ATA_PIO4, |
209 | },{ /* 1 */ | 209 | },{ /* 1 */ |
210 | .name = "SB600_PATA", | 210 | .name = "SB600_PATA", |
211 | .init_hwif = init_hwif_atiixp, | 211 | .init_hwif = init_hwif_atiixp, |
212 | .autodma = AUTODMA, | 212 | .autodma = AUTODMA, |
213 | .enablebits = {{0x48,0x01,0x00}, {0x00,0x00,0x00}}, | 213 | .enablebits = {{0x48,0x01,0x00}, {0x00,0x00,0x00}}, |
214 | .bootable = ON_BOARD, | 214 | .host_flags = IDE_HFLAG_SINGLE | IDE_HFLAG_BOOTABLE, |
215 | .host_flags = IDE_HFLAG_SINGLE, | ||
216 | .pio_mask = ATA_PIO4, | 215 | .pio_mask = ATA_PIO4, |
217 | }, | 216 | }, |
218 | }; | 217 | }; |
diff --git a/drivers/ide/pci/cmd64x.c b/drivers/ide/pci/cmd64x.c index bd9adfbe982e..8e0ece5400b6 100644 --- a/drivers/ide/pci/cmd64x.c +++ b/drivers/ide/pci/cmd64x.c | |||
@@ -585,8 +585,7 @@ static ide_pci_device_t cmd64x_chipsets[] __devinitdata = { | |||
585 | .init_hwif = init_hwif_cmd64x, | 585 | .init_hwif = init_hwif_cmd64x, |
586 | .autodma = AUTODMA, | 586 | .autodma = AUTODMA, |
587 | .enablebits = {{0x00,0x00,0x00}, {0x51,0x08,0x08}}, | 587 | .enablebits = {{0x00,0x00,0x00}, {0x51,0x08,0x08}}, |
588 | .bootable = ON_BOARD, | 588 | .host_flags = IDE_HFLAG_ABUSE_PREFETCH | IDE_HFLAG_BOOTABLE, |
589 | .host_flags = IDE_HFLAG_ABUSE_PREFETCH, | ||
590 | .pio_mask = ATA_PIO5, | 589 | .pio_mask = ATA_PIO5, |
591 | .udma_mask = 0x00, /* no udma */ | 590 | .udma_mask = 0x00, /* no udma */ |
592 | },{ /* 1 */ | 591 | },{ /* 1 */ |
@@ -596,8 +595,7 @@ static ide_pci_device_t cmd64x_chipsets[] __devinitdata = { | |||
596 | .init_hwif = init_hwif_cmd64x, | 595 | .init_hwif = init_hwif_cmd64x, |
597 | .autodma = AUTODMA, | 596 | .autodma = AUTODMA, |
598 | .enablebits = {{0x51,0x04,0x04}, {0x51,0x08,0x08}}, | 597 | .enablebits = {{0x51,0x04,0x04}, {0x51,0x08,0x08}}, |
599 | .bootable = ON_BOARD, | 598 | .host_flags = IDE_HFLAG_ABUSE_PREFETCH | IDE_HFLAG_BOOTABLE, |
600 | .host_flags = IDE_HFLAG_ABUSE_PREFETCH, | ||
601 | .pio_mask = ATA_PIO5, | 599 | .pio_mask = ATA_PIO5, |
602 | .udma_mask = 0x07, /* udma0-2 */ | 600 | .udma_mask = 0x07, /* udma0-2 */ |
603 | },{ /* 2 */ | 601 | },{ /* 2 */ |
@@ -607,8 +605,7 @@ static ide_pci_device_t cmd64x_chipsets[] __devinitdata = { | |||
607 | .init_hwif = init_hwif_cmd64x, | 605 | .init_hwif = init_hwif_cmd64x, |
608 | .autodma = AUTODMA, | 606 | .autodma = AUTODMA, |
609 | .enablebits = {{0x51,0x04,0x04}, {0x51,0x08,0x08}}, | 607 | .enablebits = {{0x51,0x04,0x04}, {0x51,0x08,0x08}}, |
610 | .bootable = ON_BOARD, | 608 | .host_flags = IDE_HFLAG_ABUSE_PREFETCH | IDE_HFLAG_BOOTABLE, |
611 | .host_flags = IDE_HFLAG_ABUSE_PREFETCH, | ||
612 | .pio_mask = ATA_PIO5, | 609 | .pio_mask = ATA_PIO5, |
613 | .udma_mask = 0x1f, /* udma0-4 */ | 610 | .udma_mask = 0x1f, /* udma0-4 */ |
614 | },{ /* 3 */ | 611 | },{ /* 3 */ |
@@ -618,8 +615,7 @@ static ide_pci_device_t cmd64x_chipsets[] __devinitdata = { | |||
618 | .init_hwif = init_hwif_cmd64x, | 615 | .init_hwif = init_hwif_cmd64x, |
619 | .autodma = AUTODMA, | 616 | .autodma = AUTODMA, |
620 | .enablebits = {{0x51,0x04,0x04}, {0x51,0x08,0x08}}, | 617 | .enablebits = {{0x51,0x04,0x04}, {0x51,0x08,0x08}}, |
621 | .bootable = ON_BOARD, | 618 | .host_flags = IDE_HFLAG_ABUSE_PREFETCH | IDE_HFLAG_BOOTABLE, |
622 | .host_flags = IDE_HFLAG_ABUSE_PREFETCH, | ||
623 | .pio_mask = ATA_PIO5, | 619 | .pio_mask = ATA_PIO5, |
624 | .udma_mask = 0x3f, /* udma0-5 */ | 620 | .udma_mask = 0x3f, /* udma0-5 */ |
625 | } | 621 | } |
diff --git a/drivers/ide/pci/cs5520.c b/drivers/ide/pci/cs5520.c index b7906a980120..efd844a87aa6 100644 --- a/drivers/ide/pci/cs5520.c +++ b/drivers/ide/pci/cs5520.c | |||
@@ -153,10 +153,10 @@ static void __devinit init_hwif_cs5520(ide_hwif_t *hwif) | |||
153 | .init_setup_dma = cs5520_init_setup_dma, \ | 153 | .init_setup_dma = cs5520_init_setup_dma, \ |
154 | .init_hwif = init_hwif_cs5520, \ | 154 | .init_hwif = init_hwif_cs5520, \ |
155 | .autodma = AUTODMA, \ | 155 | .autodma = AUTODMA, \ |
156 | .bootable = ON_BOARD, \ | ||
157 | .host_flags = IDE_HFLAG_ISA_PORTS | \ | 156 | .host_flags = IDE_HFLAG_ISA_PORTS | \ |
158 | IDE_HFLAG_VDMA | \ | 157 | IDE_HFLAG_VDMA | \ |
159 | IDE_HFLAG_NO_ATAPI_DMA, \ | 158 | IDE_HFLAG_NO_ATAPI_DMA | \ |
159 | IDE_HFLAG_BOOTABLE, \ | ||
160 | .pio_mask = ATA_PIO4, \ | 160 | .pio_mask = ATA_PIO4, \ |
161 | } | 161 | } |
162 | 162 | ||
diff --git a/drivers/ide/pci/cs5530.c b/drivers/ide/pci/cs5530.c index 2ca5bb280a8a..da3f54f1d960 100644 --- a/drivers/ide/pci/cs5530.c +++ b/drivers/ide/pci/cs5530.c | |||
@@ -275,9 +275,8 @@ static ide_pci_device_t cs5530_chipset __devinitdata = { | |||
275 | .init_chipset = init_chipset_cs5530, | 275 | .init_chipset = init_chipset_cs5530, |
276 | .init_hwif = init_hwif_cs5530, | 276 | .init_hwif = init_hwif_cs5530, |
277 | .autodma = AUTODMA, | 277 | .autodma = AUTODMA, |
278 | .bootable = ON_BOARD, | 278 | .host_flags = IDE_HFLAG_POST_SET_MODE | IDE_HFLAG_BOOTABLE, |
279 | .pio_mask = ATA_PIO4, | 279 | .pio_mask = ATA_PIO4, |
280 | .host_flags = IDE_HFLAG_POST_SET_MODE, | ||
281 | }; | 280 | }; |
282 | 281 | ||
283 | static int __devinit cs5530_init_one(struct pci_dev *dev, const struct pci_device_id *id) | 282 | static int __devinit cs5530_init_one(struct pci_dev *dev, const struct pci_device_id *id) |
diff --git a/drivers/ide/pci/cs5535.c b/drivers/ide/pci/cs5535.c index 45dc9a1b65a4..a93ba9a5fad6 100644 --- a/drivers/ide/pci/cs5535.c +++ b/drivers/ide/pci/cs5535.c | |||
@@ -195,8 +195,8 @@ static ide_pci_device_t cs5535_chipset __devinitdata = { | |||
195 | .name = "CS5535", | 195 | .name = "CS5535", |
196 | .init_hwif = init_hwif_cs5535, | 196 | .init_hwif = init_hwif_cs5535, |
197 | .autodma = AUTODMA, | 197 | .autodma = AUTODMA, |
198 | .bootable = ON_BOARD, | 198 | .host_flags = IDE_HFLAG_SINGLE | IDE_HFLAG_POST_SET_MODE | |
199 | .host_flags = IDE_HFLAG_SINGLE | IDE_HFLAG_POST_SET_MODE, | 199 | IDE_HFLAG_BOOTABLE, |
200 | .pio_mask = ATA_PIO4, | 200 | .pio_mask = ATA_PIO4, |
201 | }; | 201 | }; |
202 | 202 | ||
diff --git a/drivers/ide/pci/cy82c693.c b/drivers/ide/pci/cy82c693.c index c1e672f03244..8fec35e2f412 100644 --- a/drivers/ide/pci/cy82c693.c +++ b/drivers/ide/pci/cy82c693.c | |||
@@ -461,8 +461,8 @@ static ide_pci_device_t cy82c693_chipset __devinitdata = { | |||
461 | .init_iops = init_iops_cy82c693, | 461 | .init_iops = init_iops_cy82c693, |
462 | .init_hwif = init_hwif_cy82c693, | 462 | .init_hwif = init_hwif_cy82c693, |
463 | .autodma = AUTODMA, | 463 | .autodma = AUTODMA, |
464 | .bootable = ON_BOARD, | 464 | .host_flags = IDE_HFLAG_SINGLE | IDE_HFLAG_TRUST_BIOS_FOR_DMA | |
465 | .host_flags = IDE_HFLAG_SINGLE | IDE_HFLAG_TRUST_BIOS_FOR_DMA, | 465 | IDE_HFLAG_BOOTABLE, |
466 | .pio_mask = ATA_PIO4, | 466 | .pio_mask = ATA_PIO4, |
467 | }; | 467 | }; |
468 | 468 | ||
diff --git a/drivers/ide/pci/generic.c b/drivers/ide/pci/generic.c index dcee8278141e..7389b6e2ed1d 100644 --- a/drivers/ide/pci/generic.c +++ b/drivers/ide/pci/generic.c | |||
@@ -79,8 +79,8 @@ static void __devinit init_hwif_generic (ide_hwif_t *hwif) | |||
79 | .name = name_str, \ | 79 | .name = name_str, \ |
80 | .init_hwif = init_hwif_generic, \ | 80 | .init_hwif = init_hwif_generic, \ |
81 | .autodma = dma_setting, \ | 81 | .autodma = dma_setting, \ |
82 | .bootable = ON_BOARD, \ | 82 | .host_flags = IDE_HFLAG_TRUST_BIOS_FOR_DMA | \ |
83 | .host_flags = IDE_HFLAG_TRUST_BIOS_FOR_DMA, \ | 83 | IDE_HFLAG_BOOTABLE, \ |
84 | } | 84 | } |
85 | 85 | ||
86 | static ide_pci_device_t generic_chipsets[] __devinitdata = { | 86 | static ide_pci_device_t generic_chipsets[] __devinitdata = { |
@@ -91,8 +91,8 @@ static ide_pci_device_t generic_chipsets[] __devinitdata = { | |||
91 | .init_hwif = init_hwif_generic, | 91 | .init_hwif = init_hwif_generic, |
92 | .autodma = AUTODMA, | 92 | .autodma = AUTODMA, |
93 | .enablebits = {{0x43,0x08,0x08}, {0x47,0x08,0x08}}, | 93 | .enablebits = {{0x43,0x08,0x08}, {0x47,0x08,0x08}}, |
94 | .bootable = ON_BOARD, | 94 | .host_flags = IDE_HFLAG_TRUST_BIOS_FOR_DMA | |
95 | .host_flags = IDE_HFLAG_TRUST_BIOS_FOR_DMA, | 95 | IDE_HFLAG_BOOTABLE, |
96 | }, | 96 | }, |
97 | 97 | ||
98 | /* 2 */ DECLARE_GENERIC_PCI_DEV("SAMURAI", AUTODMA), | 98 | /* 2 */ DECLARE_GENERIC_PCI_DEV("SAMURAI", AUTODMA), |
@@ -108,8 +108,8 @@ static ide_pci_device_t generic_chipsets[] __devinitdata = { | |||
108 | .name = "VIA8237SATA", | 108 | .name = "VIA8237SATA", |
109 | .init_hwif = init_hwif_generic, | 109 | .init_hwif = init_hwif_generic, |
110 | .autodma = AUTODMA, | 110 | .autodma = AUTODMA, |
111 | .bootable = OFF_BOARD, | 111 | .host_flags = IDE_HFLAG_TRUST_BIOS_FOR_DMA | |
112 | .host_flags = IDE_HFLAG_TRUST_BIOS_FOR_DMA, | 112 | IDE_HFLAG_OFF_BOARD, |
113 | }, | 113 | }, |
114 | 114 | ||
115 | /* 11 */ DECLARE_GENERIC_PCI_DEV("Piccolo0102", NOAUTODMA), | 115 | /* 11 */ DECLARE_GENERIC_PCI_DEV("Piccolo0102", NOAUTODMA), |
@@ -120,8 +120,8 @@ static ide_pci_device_t generic_chipsets[] __devinitdata = { | |||
120 | .name = "Revolution", | 120 | .name = "Revolution", |
121 | .init_hwif = init_hwif_generic, | 121 | .init_hwif = init_hwif_generic, |
122 | .autodma = AUTODMA, | 122 | .autodma = AUTODMA, |
123 | .bootable = OFF_BOARD, | 123 | .host_flags = IDE_HFLAG_TRUST_BIOS_FOR_DMA | |
124 | .host_flags = IDE_HFLAG_TRUST_BIOS_FOR_DMA, | 124 | IDE_HFLAG_OFF_BOARD, |
125 | } | 125 | } |
126 | }; | 126 | }; |
127 | 127 | ||
diff --git a/drivers/ide/pci/hpt34x.c b/drivers/ide/pci/hpt34x.c index 9709681dff6f..1d6c6be257a7 100644 --- a/drivers/ide/pci/hpt34x.c +++ b/drivers/ide/pci/hpt34x.c | |||
@@ -153,7 +153,6 @@ static ide_pci_device_t hpt34x_chipset __devinitdata = { | |||
153 | .init_chipset = init_chipset_hpt34x, | 153 | .init_chipset = init_chipset_hpt34x, |
154 | .init_hwif = init_hwif_hpt34x, | 154 | .init_hwif = init_hwif_hpt34x, |
155 | .autodma = NOAUTODMA, | 155 | .autodma = NOAUTODMA, |
156 | .bootable = NEVER_BOARD, | ||
157 | .extra = 16, | 156 | .extra = 16, |
158 | .host_flags = IDE_HFLAG_NO_ATAPI_DMA, | 157 | .host_flags = IDE_HFLAG_NO_ATAPI_DMA, |
159 | .pio_mask = ATA_PIO5, | 158 | .pio_mask = ATA_PIO5, |
@@ -168,7 +167,10 @@ static int __devinit hpt34x_init_one(struct pci_dev *dev, const struct pci_devic | |||
168 | pci_read_config_word(dev, PCI_COMMAND, &pcicmd); | 167 | pci_read_config_word(dev, PCI_COMMAND, &pcicmd); |
169 | 168 | ||
170 | d->name = chipset_names[(pcicmd & PCI_COMMAND_MEMORY) ? 1 : 0]; | 169 | d->name = chipset_names[(pcicmd & PCI_COMMAND_MEMORY) ? 1 : 0]; |
171 | d->bootable = (pcicmd & PCI_COMMAND_MEMORY) ? OFF_BOARD : NEVER_BOARD; | 170 | if (pcicmd & PCI_COMMAND_MEMORY) |
171 | d->host_flags |= IDE_HFLAG_OFF_BOARD; | ||
172 | else | ||
173 | d->host_flags &= ~IDE_HFLAG_OFF_BOARD; | ||
172 | 174 | ||
173 | return ide_setup_pci_device(dev, d); | 175 | return ide_setup_pci_device(dev, d); |
174 | } | 176 | } |
diff --git a/drivers/ide/pci/hpt366.c b/drivers/ide/pci/hpt366.c index 5d96a086bde4..eb2cfe54b1a9 100644 --- a/drivers/ide/pci/hpt366.c +++ b/drivers/ide/pci/hpt366.c | |||
@@ -1531,7 +1531,7 @@ static int __devinit init_setup_hpt366(struct pci_dev *dev, ide_pci_device_t *d) | |||
1531 | pci_read_config_byte(dev, PCI_INTERRUPT_PIN, &pin1); | 1531 | pci_read_config_byte(dev, PCI_INTERRUPT_PIN, &pin1); |
1532 | pci_read_config_byte(dev2, PCI_INTERRUPT_PIN, &pin2); | 1532 | pci_read_config_byte(dev2, PCI_INTERRUPT_PIN, &pin2); |
1533 | if (pin1 != pin2 && dev->irq == dev2->irq) { | 1533 | if (pin1 != pin2 && dev->irq == dev2->irq) { |
1534 | d->bootable = ON_BOARD; | 1534 | d->host_flags |= IDE_HFLAG_BOOTABLE; |
1535 | printk("%s: onboard version of chipset, pin1=%d pin2=%d\n", | 1535 | printk("%s: onboard version of chipset, pin1=%d pin2=%d\n", |
1536 | d->name, pin1, pin2); | 1536 | d->name, pin1, pin2); |
1537 | } | 1537 | } |
@@ -1553,9 +1553,8 @@ static ide_pci_device_t hpt366_chipsets[] __devinitdata = { | |||
1553 | .init_dma = init_dma_hpt366, | 1553 | .init_dma = init_dma_hpt366, |
1554 | .autodma = AUTODMA, | 1554 | .autodma = AUTODMA, |
1555 | .enablebits = {{0x50,0x04,0x04}, {0x54,0x04,0x04}}, | 1555 | .enablebits = {{0x50,0x04,0x04}, {0x54,0x04,0x04}}, |
1556 | .bootable = OFF_BOARD, | ||
1557 | .extra = 240, | 1556 | .extra = 240, |
1558 | .host_flags = IDE_HFLAG_NO_ATAPI_DMA, | 1557 | .host_flags = IDE_HFLAG_NO_ATAPI_DMA | IDE_HFLAG_OFF_BOARD, |
1559 | .pio_mask = ATA_PIO4, | 1558 | .pio_mask = ATA_PIO4, |
1560 | },{ /* 1 */ | 1559 | },{ /* 1 */ |
1561 | .name = "HPT372A", | 1560 | .name = "HPT372A", |
@@ -1566,9 +1565,8 @@ static ide_pci_device_t hpt366_chipsets[] __devinitdata = { | |||
1566 | .autodma = AUTODMA, | 1565 | .autodma = AUTODMA, |
1567 | .enablebits = {{0x50,0x04,0x04}, {0x54,0x04,0x04}}, | 1566 | .enablebits = {{0x50,0x04,0x04}, {0x54,0x04,0x04}}, |
1568 | .udma_mask = HPT372_ALLOW_ATA133_6 ? ATA_UDMA6 : ATA_UDMA5, | 1567 | .udma_mask = HPT372_ALLOW_ATA133_6 ? ATA_UDMA6 : ATA_UDMA5, |
1569 | .bootable = OFF_BOARD, | ||
1570 | .extra = 240, | 1568 | .extra = 240, |
1571 | .host_flags = IDE_HFLAG_NO_ATAPI_DMA, | 1569 | .host_flags = IDE_HFLAG_NO_ATAPI_DMA | IDE_HFLAG_OFF_BOARD, |
1572 | .pio_mask = ATA_PIO4, | 1570 | .pio_mask = ATA_PIO4, |
1573 | },{ /* 2 */ | 1571 | },{ /* 2 */ |
1574 | .name = "HPT302", | 1572 | .name = "HPT302", |
@@ -1579,9 +1577,8 @@ static ide_pci_device_t hpt366_chipsets[] __devinitdata = { | |||
1579 | .autodma = AUTODMA, | 1577 | .autodma = AUTODMA, |
1580 | .enablebits = {{0x50,0x04,0x04}, {0x54,0x04,0x04}}, | 1578 | .enablebits = {{0x50,0x04,0x04}, {0x54,0x04,0x04}}, |
1581 | .udma_mask = HPT302_ALLOW_ATA133_6 ? ATA_UDMA6 : ATA_UDMA5, | 1579 | .udma_mask = HPT302_ALLOW_ATA133_6 ? ATA_UDMA6 : ATA_UDMA5, |
1582 | .bootable = OFF_BOARD, | ||
1583 | .extra = 240, | 1580 | .extra = 240, |
1584 | .host_flags = IDE_HFLAG_NO_ATAPI_DMA, | 1581 | .host_flags = IDE_HFLAG_NO_ATAPI_DMA | IDE_HFLAG_OFF_BOARD, |
1585 | .pio_mask = ATA_PIO4, | 1582 | .pio_mask = ATA_PIO4, |
1586 | },{ /* 3 */ | 1583 | },{ /* 3 */ |
1587 | .name = "HPT371", | 1584 | .name = "HPT371", |
@@ -1592,9 +1589,8 @@ static ide_pci_device_t hpt366_chipsets[] __devinitdata = { | |||
1592 | .autodma = AUTODMA, | 1589 | .autodma = AUTODMA, |
1593 | .enablebits = {{0x50,0x04,0x04}, {0x54,0x04,0x04}}, | 1590 | .enablebits = {{0x50,0x04,0x04}, {0x54,0x04,0x04}}, |
1594 | .udma_mask = HPT371_ALLOW_ATA133_6 ? ATA_UDMA6 : ATA_UDMA5, | 1591 | .udma_mask = HPT371_ALLOW_ATA133_6 ? ATA_UDMA6 : ATA_UDMA5, |
1595 | .bootable = OFF_BOARD, | ||
1596 | .extra = 240, | 1592 | .extra = 240, |
1597 | .host_flags = IDE_HFLAG_NO_ATAPI_DMA, | 1593 | .host_flags = IDE_HFLAG_NO_ATAPI_DMA | IDE_HFLAG_OFF_BOARD, |
1598 | .pio_mask = ATA_PIO4, | 1594 | .pio_mask = ATA_PIO4, |
1599 | },{ /* 4 */ | 1595 | },{ /* 4 */ |
1600 | .name = "HPT374", | 1596 | .name = "HPT374", |
@@ -1605,9 +1601,8 @@ static ide_pci_device_t hpt366_chipsets[] __devinitdata = { | |||
1605 | .autodma = AUTODMA, | 1601 | .autodma = AUTODMA, |
1606 | .enablebits = {{0x50,0x04,0x04}, {0x54,0x04,0x04}}, | 1602 | .enablebits = {{0x50,0x04,0x04}, {0x54,0x04,0x04}}, |
1607 | .udma_mask = ATA_UDMA5, | 1603 | .udma_mask = ATA_UDMA5, |
1608 | .bootable = OFF_BOARD, | ||
1609 | .extra = 240, | 1604 | .extra = 240, |
1610 | .host_flags = IDE_HFLAG_NO_ATAPI_DMA, | 1605 | .host_flags = IDE_HFLAG_NO_ATAPI_DMA | IDE_HFLAG_OFF_BOARD, |
1611 | .pio_mask = ATA_PIO4, | 1606 | .pio_mask = ATA_PIO4, |
1612 | },{ /* 5 */ | 1607 | },{ /* 5 */ |
1613 | .name = "HPT372N", | 1608 | .name = "HPT372N", |
@@ -1618,9 +1613,8 @@ static ide_pci_device_t hpt366_chipsets[] __devinitdata = { | |||
1618 | .autodma = AUTODMA, | 1613 | .autodma = AUTODMA, |
1619 | .enablebits = {{0x50,0x04,0x04}, {0x54,0x04,0x04}}, | 1614 | .enablebits = {{0x50,0x04,0x04}, {0x54,0x04,0x04}}, |
1620 | .udma_mask = HPT372_ALLOW_ATA133_6 ? ATA_UDMA6 : ATA_UDMA5, | 1615 | .udma_mask = HPT372_ALLOW_ATA133_6 ? ATA_UDMA6 : ATA_UDMA5, |
1621 | .bootable = OFF_BOARD, | ||
1622 | .extra = 240, | 1616 | .extra = 240, |
1623 | .host_flags = IDE_HFLAG_NO_ATAPI_DMA, | 1617 | .host_flags = IDE_HFLAG_NO_ATAPI_DMA | IDE_HFLAG_OFF_BOARD, |
1624 | .pio_mask = ATA_PIO4, | 1618 | .pio_mask = ATA_PIO4, |
1625 | } | 1619 | } |
1626 | }; | 1620 | }; |
diff --git a/drivers/ide/pci/it8213.c b/drivers/ide/pci/it8213.c index b52bca7b497a..54fc0f4c95c4 100644 --- a/drivers/ide/pci/it8213.c +++ b/drivers/ide/pci/it8213.c | |||
@@ -193,8 +193,8 @@ static void __devinit init_hwif_it8213(ide_hwif_t *hwif) | |||
193 | .init_hwif = init_hwif_it8213, \ | 193 | .init_hwif = init_hwif_it8213, \ |
194 | .autodma = AUTODMA, \ | 194 | .autodma = AUTODMA, \ |
195 | .enablebits = {{0x41,0x80,0x80}}, \ | 195 | .enablebits = {{0x41,0x80,0x80}}, \ |
196 | .bootable = ON_BOARD, \ | 196 | .host_flags = IDE_HFLAG_SINGLE | \ |
197 | .host_flags = IDE_HFLAG_SINGLE, \ | 197 | IDE_HFLAG_BOOTABLE, \ |
198 | .pio_mask = ATA_PIO4, \ | 198 | .pio_mask = ATA_PIO4, \ |
199 | } | 199 | } |
200 | 200 | ||
diff --git a/drivers/ide/pci/it821x.c b/drivers/ide/pci/it821x.c index 1b1286baa8e0..a41e8774ab0a 100644 --- a/drivers/ide/pci/it821x.c +++ b/drivers/ide/pci/it821x.c | |||
@@ -637,8 +637,8 @@ static unsigned int __devinit init_chipset_it821x(struct pci_dev *dev, const cha | |||
637 | .init_chipset = init_chipset_it821x, \ | 637 | .init_chipset = init_chipset_it821x, \ |
638 | .init_hwif = init_hwif_it821x, \ | 638 | .init_hwif = init_hwif_it821x, \ |
639 | .autodma = AUTODMA, \ | 639 | .autodma = AUTODMA, \ |
640 | .bootable = ON_BOARD, \ | ||
641 | .fixup = it821x_fixups, \ | 640 | .fixup = it821x_fixups, \ |
641 | .host_flags = IDE_HFLAG_BOOTABLE, \ | ||
642 | .pio_mask = ATA_PIO4, \ | 642 | .pio_mask = ATA_PIO4, \ |
643 | } | 643 | } |
644 | 644 | ||
diff --git a/drivers/ide/pci/jmicron.c b/drivers/ide/pci/jmicron.c index d151fbc26370..515683eb343d 100644 --- a/drivers/ide/pci/jmicron.c +++ b/drivers/ide/pci/jmicron.c | |||
@@ -128,7 +128,7 @@ static ide_pci_device_t jmicron_chipset __devinitdata = { | |||
128 | .name = "JMB", | 128 | .name = "JMB", |
129 | .init_hwif = init_hwif_jmicron, | 129 | .init_hwif = init_hwif_jmicron, |
130 | .autodma = AUTODMA, | 130 | .autodma = AUTODMA, |
131 | .bootable = ON_BOARD, | 131 | .host_flags = IDE_HFLAG_BOOTABLE, |
132 | .enablebits = { { 0x40, 0x01, 0x01 }, { 0x40, 0x10, 0x10 } }, | 132 | .enablebits = { { 0x40, 0x01, 0x01 }, { 0x40, 0x10, 0x10 } }, |
133 | .pio_mask = ATA_PIO5, | 133 | .pio_mask = ATA_PIO5, |
134 | }; | 134 | }; |
diff --git a/drivers/ide/pci/ns87415.c b/drivers/ide/pci/ns87415.c index 2d5dd983bfe3..11d51e12c33d 100644 --- a/drivers/ide/pci/ns87415.c +++ b/drivers/ide/pci/ns87415.c | |||
@@ -267,9 +267,9 @@ static ide_pci_device_t ns87415_chipset __devinitdata = { | |||
267 | #endif | 267 | #endif |
268 | .init_hwif = init_hwif_ns87415, | 268 | .init_hwif = init_hwif_ns87415, |
269 | .autodma = AUTODMA, | 269 | .autodma = AUTODMA, |
270 | .bootable = ON_BOARD, | ||
271 | .host_flags = IDE_HFLAG_TRUST_BIOS_FOR_DMA | | 270 | .host_flags = IDE_HFLAG_TRUST_BIOS_FOR_DMA | |
272 | IDE_HFLAG_NO_ATAPI_DMA, | 271 | IDE_HFLAG_NO_ATAPI_DMA | |
272 | IDE_HFLAG_BOOTABLE, | ||
273 | }; | 273 | }; |
274 | 274 | ||
275 | static int __devinit ns87415_init_one(struct pci_dev *dev, const struct pci_device_id *id) | 275 | static int __devinit ns87415_init_one(struct pci_dev *dev, const struct pci_device_id *id) |
diff --git a/drivers/ide/pci/opti621.c b/drivers/ide/pci/opti621.c index 2437aed73f35..6d2dd0f332c9 100644 --- a/drivers/ide/pci/opti621.c +++ b/drivers/ide/pci/opti621.c | |||
@@ -346,17 +346,17 @@ static ide_pci_device_t opti621_chipsets[] __devinitdata = { | |||
346 | .init_hwif = init_hwif_opti621, | 346 | .init_hwif = init_hwif_opti621, |
347 | .autodma = AUTODMA, | 347 | .autodma = AUTODMA, |
348 | .enablebits = {{0x45,0x80,0x00}, {0x40,0x08,0x00}}, | 348 | .enablebits = {{0x45,0x80,0x00}, {0x40,0x08,0x00}}, |
349 | .bootable = ON_BOARD, | 349 | .host_flags = IDE_HFLAG_TRUST_BIOS_FOR_DMA | |
350 | IDE_HFLAG_BOOTABLE, | ||
350 | .pio_mask = ATA_PIO3, | 351 | .pio_mask = ATA_PIO3, |
351 | .host_flags = IDE_HFLAG_TRUST_BIOS_FOR_DMA, | ||
352 | },{ /* 1 */ | 352 | },{ /* 1 */ |
353 | .name = "OPTI621X", | 353 | .name = "OPTI621X", |
354 | .init_hwif = init_hwif_opti621, | 354 | .init_hwif = init_hwif_opti621, |
355 | .autodma = AUTODMA, | 355 | .autodma = AUTODMA, |
356 | .enablebits = {{0x45,0x80,0x00}, {0x40,0x08,0x00}}, | 356 | .enablebits = {{0x45,0x80,0x00}, {0x40,0x08,0x00}}, |
357 | .bootable = ON_BOARD, | 357 | .host_flags = IDE_HFLAG_TRUST_BIOS_FOR_DMA | |
358 | IDE_HFLAG_BOOTABLE, | ||
358 | .pio_mask = ATA_PIO3, | 359 | .pio_mask = ATA_PIO3, |
359 | .host_flags = IDE_HFLAG_TRUST_BIOS_FOR_DMA, | ||
360 | } | 360 | } |
361 | }; | 361 | }; |
362 | 362 | ||
diff --git a/drivers/ide/pci/pdc202xx_new.c b/drivers/ide/pci/pdc202xx_new.c index 2238df9b8372..6bfc38f58cbf 100644 --- a/drivers/ide/pci/pdc202xx_new.c +++ b/drivers/ide/pci/pdc202xx_new.c | |||
@@ -552,70 +552,63 @@ static ide_pci_device_t pdcnew_chipsets[] __devinitdata = { | |||
552 | .init_chipset = init_chipset_pdcnew, | 552 | .init_chipset = init_chipset_pdcnew, |
553 | .init_hwif = init_hwif_pdc202new, | 553 | .init_hwif = init_hwif_pdc202new, |
554 | .autodma = AUTODMA, | 554 | .autodma = AUTODMA, |
555 | .bootable = OFF_BOARD, | 555 | .host_flags = IDE_HFLAG_POST_SET_MODE | IDE_HFLAG_OFF_BOARD, |
556 | .pio_mask = ATA_PIO4, | 556 | .pio_mask = ATA_PIO4, |
557 | .udma_mask = 0x3f, /* udma0-5 */ | 557 | .udma_mask = 0x3f, /* udma0-5 */ |
558 | .host_flags = IDE_HFLAG_POST_SET_MODE, | ||
559 | },{ /* 1 */ | 558 | },{ /* 1 */ |
560 | .name = "PDC20269", | 559 | .name = "PDC20269", |
561 | .init_setup = init_setup_pdcnew, | 560 | .init_setup = init_setup_pdcnew, |
562 | .init_chipset = init_chipset_pdcnew, | 561 | .init_chipset = init_chipset_pdcnew, |
563 | .init_hwif = init_hwif_pdc202new, | 562 | .init_hwif = init_hwif_pdc202new, |
564 | .autodma = AUTODMA, | 563 | .autodma = AUTODMA, |
565 | .bootable = OFF_BOARD, | 564 | .host_flags = IDE_HFLAG_POST_SET_MODE | IDE_HFLAG_OFF_BOARD, |
566 | .pio_mask = ATA_PIO4, | 565 | .pio_mask = ATA_PIO4, |
567 | .udma_mask = 0x7f, /* udma0-6*/ | 566 | .udma_mask = 0x7f, /* udma0-6*/ |
568 | .host_flags = IDE_HFLAG_POST_SET_MODE, | ||
569 | },{ /* 2 */ | 567 | },{ /* 2 */ |
570 | .name = "PDC20270", | 568 | .name = "PDC20270", |
571 | .init_setup = init_setup_pdc20270, | 569 | .init_setup = init_setup_pdc20270, |
572 | .init_chipset = init_chipset_pdcnew, | 570 | .init_chipset = init_chipset_pdcnew, |
573 | .init_hwif = init_hwif_pdc202new, | 571 | .init_hwif = init_hwif_pdc202new, |
574 | .autodma = AUTODMA, | 572 | .autodma = AUTODMA, |
575 | .bootable = OFF_BOARD, | 573 | .host_flags = IDE_HFLAG_POST_SET_MODE | IDE_HFLAG_OFF_BOARD, |
576 | .pio_mask = ATA_PIO4, | 574 | .pio_mask = ATA_PIO4, |
577 | .udma_mask = 0x3f, /* udma0-5 */ | 575 | .udma_mask = 0x3f, /* udma0-5 */ |
578 | .host_flags = IDE_HFLAG_POST_SET_MODE, | ||
579 | },{ /* 3 */ | 576 | },{ /* 3 */ |
580 | .name = "PDC20271", | 577 | .name = "PDC20271", |
581 | .init_setup = init_setup_pdcnew, | 578 | .init_setup = init_setup_pdcnew, |
582 | .init_chipset = init_chipset_pdcnew, | 579 | .init_chipset = init_chipset_pdcnew, |
583 | .init_hwif = init_hwif_pdc202new, | 580 | .init_hwif = init_hwif_pdc202new, |
584 | .autodma = AUTODMA, | 581 | .autodma = AUTODMA, |
585 | .bootable = OFF_BOARD, | 582 | .host_flags = IDE_HFLAG_POST_SET_MODE | IDE_HFLAG_OFF_BOARD, |
586 | .pio_mask = ATA_PIO4, | 583 | .pio_mask = ATA_PIO4, |
587 | .udma_mask = 0x7f, /* udma0-6*/ | 584 | .udma_mask = 0x7f, /* udma0-6*/ |
588 | .host_flags = IDE_HFLAG_POST_SET_MODE, | ||
589 | },{ /* 4 */ | 585 | },{ /* 4 */ |
590 | .name = "PDC20275", | 586 | .name = "PDC20275", |
591 | .init_setup = init_setup_pdcnew, | 587 | .init_setup = init_setup_pdcnew, |
592 | .init_chipset = init_chipset_pdcnew, | 588 | .init_chipset = init_chipset_pdcnew, |
593 | .init_hwif = init_hwif_pdc202new, | 589 | .init_hwif = init_hwif_pdc202new, |
594 | .autodma = AUTODMA, | 590 | .autodma = AUTODMA, |
595 | .bootable = OFF_BOARD, | 591 | .host_flags = IDE_HFLAG_POST_SET_MODE | IDE_HFLAG_OFF_BOARD, |
596 | .pio_mask = ATA_PIO4, | 592 | .pio_mask = ATA_PIO4, |
597 | .udma_mask = 0x7f, /* udma0-6*/ | 593 | .udma_mask = 0x7f, /* udma0-6*/ |
598 | .host_flags = IDE_HFLAG_POST_SET_MODE, | ||
599 | },{ /* 5 */ | 594 | },{ /* 5 */ |
600 | .name = "PDC20276", | 595 | .name = "PDC20276", |
601 | .init_setup = init_setup_pdc20276, | 596 | .init_setup = init_setup_pdc20276, |
602 | .init_chipset = init_chipset_pdcnew, | 597 | .init_chipset = init_chipset_pdcnew, |
603 | .init_hwif = init_hwif_pdc202new, | 598 | .init_hwif = init_hwif_pdc202new, |
604 | .autodma = AUTODMA, | 599 | .autodma = AUTODMA, |
605 | .bootable = OFF_BOARD, | 600 | .host_flags = IDE_HFLAG_POST_SET_MODE | IDE_HFLAG_OFF_BOARD, |
606 | .pio_mask = ATA_PIO4, | 601 | .pio_mask = ATA_PIO4, |
607 | .udma_mask = 0x7f, /* udma0-6*/ | 602 | .udma_mask = 0x7f, /* udma0-6*/ |
608 | .host_flags = IDE_HFLAG_POST_SET_MODE, | ||
609 | },{ /* 6 */ | 603 | },{ /* 6 */ |
610 | .name = "PDC20277", | 604 | .name = "PDC20277", |
611 | .init_setup = init_setup_pdcnew, | 605 | .init_setup = init_setup_pdcnew, |
612 | .init_chipset = init_chipset_pdcnew, | 606 | .init_chipset = init_chipset_pdcnew, |
613 | .init_hwif = init_hwif_pdc202new, | 607 | .init_hwif = init_hwif_pdc202new, |
614 | .autodma = AUTODMA, | 608 | .autodma = AUTODMA, |
615 | .bootable = OFF_BOARD, | 609 | .host_flags = IDE_HFLAG_POST_SET_MODE | IDE_HFLAG_OFF_BOARD, |
616 | .pio_mask = ATA_PIO4, | 610 | .pio_mask = ATA_PIO4, |
617 | .udma_mask = 0x7f, /* udma0-6*/ | 611 | .udma_mask = 0x7f, /* udma0-6*/ |
618 | .host_flags = IDE_HFLAG_POST_SET_MODE, | ||
619 | } | 612 | } |
620 | }; | 613 | }; |
621 | 614 | ||
diff --git a/drivers/ide/pci/pdc202xx_old.c b/drivers/ide/pci/pdc202xx_old.c index 903bf715fab3..217701f28511 100644 --- a/drivers/ide/pci/pdc202xx_old.c +++ b/drivers/ide/pci/pdc202xx_old.c | |||
@@ -422,8 +422,8 @@ static ide_pci_device_t pdc202xx_chipsets[] __devinitdata = { | |||
422 | .init_hwif = init_hwif_pdc202xx, | 422 | .init_hwif = init_hwif_pdc202xx, |
423 | .init_dma = init_dma_pdc202xx, | 423 | .init_dma = init_dma_pdc202xx, |
424 | .autodma = AUTODMA, | 424 | .autodma = AUTODMA, |
425 | .bootable = OFF_BOARD, | ||
426 | .extra = 16, | 425 | .extra = 16, |
426 | .host_flags = IDE_HFLAG_OFF_BOARD, | ||
427 | .pio_mask = ATA_PIO4, | 427 | .pio_mask = ATA_PIO4, |
428 | .udma_mask = 0x07, /* udma0-2 */ | 428 | .udma_mask = 0x07, /* udma0-2 */ |
429 | },{ /* 1 */ | 429 | },{ /* 1 */ |
@@ -433,8 +433,8 @@ static ide_pci_device_t pdc202xx_chipsets[] __devinitdata = { | |||
433 | .init_hwif = init_hwif_pdc202xx, | 433 | .init_hwif = init_hwif_pdc202xx, |
434 | .init_dma = init_dma_pdc202xx, | 434 | .init_dma = init_dma_pdc202xx, |
435 | .autodma = AUTODMA, | 435 | .autodma = AUTODMA, |
436 | .bootable = OFF_BOARD, | ||
437 | .extra = 48, | 436 | .extra = 48, |
437 | .host_flags = IDE_HFLAG_OFF_BOARD, | ||
438 | .pio_mask = ATA_PIO4, | 438 | .pio_mask = ATA_PIO4, |
439 | .udma_mask = 0x1f, /* udma0-4 */ | 439 | .udma_mask = 0x1f, /* udma0-4 */ |
440 | },{ /* 2 */ | 440 | },{ /* 2 */ |
@@ -444,8 +444,8 @@ static ide_pci_device_t pdc202xx_chipsets[] __devinitdata = { | |||
444 | .init_hwif = init_hwif_pdc202xx, | 444 | .init_hwif = init_hwif_pdc202xx, |
445 | .init_dma = init_dma_pdc202xx, | 445 | .init_dma = init_dma_pdc202xx, |
446 | .autodma = AUTODMA, | 446 | .autodma = AUTODMA, |
447 | .bootable = OFF_BOARD, | ||
448 | .extra = 48, | 447 | .extra = 48, |
448 | .host_flags = IDE_HFLAG_OFF_BOARD, | ||
449 | .pio_mask = ATA_PIO4, | 449 | .pio_mask = ATA_PIO4, |
450 | .udma_mask = 0x1f, /* udma0-4 */ | 450 | .udma_mask = 0x1f, /* udma0-4 */ |
451 | },{ /* 3 */ | 451 | },{ /* 3 */ |
@@ -455,8 +455,8 @@ static ide_pci_device_t pdc202xx_chipsets[] __devinitdata = { | |||
455 | .init_hwif = init_hwif_pdc202xx, | 455 | .init_hwif = init_hwif_pdc202xx, |
456 | .init_dma = init_dma_pdc202xx, | 456 | .init_dma = init_dma_pdc202xx, |
457 | .autodma = AUTODMA, | 457 | .autodma = AUTODMA, |
458 | .bootable = OFF_BOARD, | ||
459 | .extra = 48, | 458 | .extra = 48, |
459 | .host_flags = IDE_HFLAG_OFF_BOARD, | ||
460 | .pio_mask = ATA_PIO4, | 460 | .pio_mask = ATA_PIO4, |
461 | .udma_mask = 0x3f, /* udma0-5 */ | 461 | .udma_mask = 0x3f, /* udma0-5 */ |
462 | },{ /* 4 */ | 462 | },{ /* 4 */ |
@@ -466,8 +466,8 @@ static ide_pci_device_t pdc202xx_chipsets[] __devinitdata = { | |||
466 | .init_hwif = init_hwif_pdc202xx, | 466 | .init_hwif = init_hwif_pdc202xx, |
467 | .init_dma = init_dma_pdc202xx, | 467 | .init_dma = init_dma_pdc202xx, |
468 | .autodma = AUTODMA, | 468 | .autodma = AUTODMA, |
469 | .bootable = OFF_BOARD, | ||
470 | .extra = 48, | 469 | .extra = 48, |
470 | .host_flags = IDE_HFLAG_OFF_BOARD, | ||
471 | .pio_mask = ATA_PIO4, | 471 | .pio_mask = ATA_PIO4, |
472 | .udma_mask = 0x3f, /* udma0-5 */ | 472 | .udma_mask = 0x3f, /* udma0-5 */ |
473 | } | 473 | } |
diff --git a/drivers/ide/pci/piix.c b/drivers/ide/pci/piix.c index 3694db62f257..287f4e38981e 100644 --- a/drivers/ide/pci/piix.c +++ b/drivers/ide/pci/piix.c | |||
@@ -417,7 +417,7 @@ static void __devinit init_hwif_piix(ide_hwif_t *hwif) | |||
417 | .init_hwif = init_hwif_piix, \ | 417 | .init_hwif = init_hwif_piix, \ |
418 | .autodma = AUTODMA, \ | 418 | .autodma = AUTODMA, \ |
419 | .enablebits = {{0x41,0x80,0x80}, {0x43,0x80,0x80}}, \ | 419 | .enablebits = {{0x41,0x80,0x80}, {0x43,0x80,0x80}}, \ |
420 | .bootable = ON_BOARD, \ | 420 | .host_flags = IDE_HFLAG_BOOTABLE, \ |
421 | .pio_mask = ATA_PIO4, \ | 421 | .pio_mask = ATA_PIO4, \ |
422 | .udma_mask = udma, \ | 422 | .udma_mask = udma, \ |
423 | } | 423 | } |
@@ -436,8 +436,7 @@ static ide_pci_device_t piix_pci_info[] __devinitdata = { | |||
436 | .init_hwif = init_hwif_piix, | 436 | .init_hwif = init_hwif_piix, |
437 | .autodma = NODMA, | 437 | .autodma = NODMA, |
438 | .enablebits = {{0x6d,0xc0,0x80}, {0x6d,0xc0,0xc0}}, | 438 | .enablebits = {{0x6d,0xc0,0x80}, {0x6d,0xc0,0xc0}}, |
439 | .bootable = ON_BOARD, | 439 | .host_flags = IDE_HFLAG_ISA_PORTS | IDE_HFLAG_BOOTABLE, |
440 | .host_flags = IDE_HFLAG_ISA_PORTS, | ||
441 | .pio_mask = ATA_PIO4, | 440 | .pio_mask = ATA_PIO4, |
442 | }, | 441 | }, |
443 | 442 | ||
diff --git a/drivers/ide/pci/rz1000.c b/drivers/ide/pci/rz1000.c index 3f506e8d44e3..c4541e42e612 100644 --- a/drivers/ide/pci/rz1000.c +++ b/drivers/ide/pci/rz1000.c | |||
@@ -53,7 +53,7 @@ static ide_pci_device_t rz1000_chipset __devinitdata = { | |||
53 | .name = "RZ100x", | 53 | .name = "RZ100x", |
54 | .init_hwif = init_hwif_rz1000, | 54 | .init_hwif = init_hwif_rz1000, |
55 | .autodma = NODMA, | 55 | .autodma = NODMA, |
56 | .bootable = ON_BOARD, | 56 | .host_flags = IDE_HFLAG_BOOTABLE, |
57 | }; | 57 | }; |
58 | 58 | ||
59 | static int __devinit rz1000_init_one(struct pci_dev *dev, const struct pci_device_id *id) | 59 | static int __devinit rz1000_init_one(struct pci_dev *dev, const struct pci_device_id *id) |
diff --git a/drivers/ide/pci/sc1200.c b/drivers/ide/pci/sc1200.c index 0ba9d2408575..c131923044fc 100644 --- a/drivers/ide/pci/sc1200.c +++ b/drivers/ide/pci/sc1200.c | |||
@@ -385,8 +385,8 @@ static ide_pci_device_t sc1200_chipset __devinitdata = { | |||
385 | .name = "SC1200", | 385 | .name = "SC1200", |
386 | .init_hwif = init_hwif_sc1200, | 386 | .init_hwif = init_hwif_sc1200, |
387 | .autodma = AUTODMA, | 387 | .autodma = AUTODMA, |
388 | .bootable = ON_BOARD, | 388 | .host_flags = IDE_HFLAG_ABUSE_DMA_MODES | IDE_HFLAG_POST_SET_MODE | |
389 | .host_flags = IDE_HFLAG_ABUSE_DMA_MODES | IDE_HFLAG_POST_SET_MODE, | 389 | IDE_HFLAG_BOOTABLE, |
390 | .pio_mask = ATA_PIO4, | 390 | .pio_mask = ATA_PIO4, |
391 | }; | 391 | }; |
392 | 392 | ||
diff --git a/drivers/ide/pci/scc_pata.c b/drivers/ide/pci/scc_pata.c index ac519fa62153..1784ac2b38f0 100644 --- a/drivers/ide/pci/scc_pata.c +++ b/drivers/ide/pci/scc_pata.c | |||
@@ -705,8 +705,8 @@ static void __devinit init_hwif_scc(ide_hwif_t *hwif) | |||
705 | .init_iops = init_iops_scc, \ | 705 | .init_iops = init_iops_scc, \ |
706 | .init_hwif = init_hwif_scc, \ | 706 | .init_hwif = init_hwif_scc, \ |
707 | .autodma = AUTODMA, \ | 707 | .autodma = AUTODMA, \ |
708 | .bootable = ON_BOARD, \ | 708 | .host_flags = IDE_HFLAG_SINGLE | \ |
709 | .host_flags = IDE_HFLAG_SINGLE, \ | 709 | IDE_HFLAG_BOOTABLE, \ |
710 | .pio_mask = ATA_PIO4, \ | 710 | .pio_mask = ATA_PIO4, \ |
711 | } | 711 | } |
712 | 712 | ||
diff --git a/drivers/ide/pci/serverworks.c b/drivers/ide/pci/serverworks.c index 40b89a29014f..a8317c1d7b5a 100644 --- a/drivers/ide/pci/serverworks.c +++ b/drivers/ide/pci/serverworks.c | |||
@@ -392,9 +392,10 @@ static int __devinit init_setup_svwks (struct pci_dev *dev, ide_pci_device_t *d) | |||
392 | static int __devinit init_setup_csb6 (struct pci_dev *dev, ide_pci_device_t *d) | 392 | static int __devinit init_setup_csb6 (struct pci_dev *dev, ide_pci_device_t *d) |
393 | { | 393 | { |
394 | if (!(PCI_FUNC(dev->devfn) & 1)) { | 394 | if (!(PCI_FUNC(dev->devfn) & 1)) { |
395 | d->bootable = NEVER_BOARD; | ||
396 | if (dev->resource[0].start == 0x01f1) | 395 | if (dev->resource[0].start == 0x01f1) |
397 | d->bootable = ON_BOARD; | 396 | d->host_flags |= IDE_HFLAG_BOOTABLE; |
397 | else | ||
398 | d->host_flags &= ~IDE_HFLAG_BOOTABLE; | ||
398 | } | 399 | } |
399 | 400 | ||
400 | if ((dev->device == PCI_DEVICE_ID_SERVERWORKS_CSB6IDE || | 401 | if ((dev->device == PCI_DEVICE_ID_SERVERWORKS_CSB6IDE || |
@@ -414,7 +415,7 @@ static ide_pci_device_t serverworks_chipsets[] __devinitdata = { | |||
414 | .init_chipset = init_chipset_svwks, | 415 | .init_chipset = init_chipset_svwks, |
415 | .init_hwif = init_hwif_svwks, | 416 | .init_hwif = init_hwif_svwks, |
416 | .autodma = AUTODMA, | 417 | .autodma = AUTODMA, |
417 | .bootable = ON_BOARD, | 418 | .host_flags = IDE_HFLAG_BOOTABLE, |
418 | .pio_mask = ATA_PIO4, | 419 | .pio_mask = ATA_PIO4, |
419 | },{ /* 1 */ | 420 | },{ /* 1 */ |
420 | .name = "SvrWks CSB5", | 421 | .name = "SvrWks CSB5", |
@@ -422,7 +423,7 @@ static ide_pci_device_t serverworks_chipsets[] __devinitdata = { | |||
422 | .init_chipset = init_chipset_svwks, | 423 | .init_chipset = init_chipset_svwks, |
423 | .init_hwif = init_hwif_svwks, | 424 | .init_hwif = init_hwif_svwks, |
424 | .autodma = AUTODMA, | 425 | .autodma = AUTODMA, |
425 | .bootable = ON_BOARD, | 426 | .host_flags = IDE_HFLAG_BOOTABLE, |
426 | .pio_mask = ATA_PIO4, | 427 | .pio_mask = ATA_PIO4, |
427 | },{ /* 2 */ | 428 | },{ /* 2 */ |
428 | .name = "SvrWks CSB6", | 429 | .name = "SvrWks CSB6", |
@@ -430,7 +431,7 @@ static ide_pci_device_t serverworks_chipsets[] __devinitdata = { | |||
430 | .init_chipset = init_chipset_svwks, | 431 | .init_chipset = init_chipset_svwks, |
431 | .init_hwif = init_hwif_svwks, | 432 | .init_hwif = init_hwif_svwks, |
432 | .autodma = AUTODMA, | 433 | .autodma = AUTODMA, |
433 | .bootable = ON_BOARD, | 434 | .host_flags = IDE_HFLAG_BOOTABLE, |
434 | .pio_mask = ATA_PIO4, | 435 | .pio_mask = ATA_PIO4, |
435 | },{ /* 3 */ | 436 | },{ /* 3 */ |
436 | .name = "SvrWks CSB6", | 437 | .name = "SvrWks CSB6", |
@@ -438,8 +439,7 @@ static ide_pci_device_t serverworks_chipsets[] __devinitdata = { | |||
438 | .init_chipset = init_chipset_svwks, | 439 | .init_chipset = init_chipset_svwks, |
439 | .init_hwif = init_hwif_svwks, | 440 | .init_hwif = init_hwif_svwks, |
440 | .autodma = AUTODMA, | 441 | .autodma = AUTODMA, |
441 | .bootable = ON_BOARD, | 442 | .host_flags = IDE_HFLAG_SINGLE | IDE_HFLAG_BOOTABLE, |
442 | .host_flags = IDE_HFLAG_SINGLE, | ||
443 | .pio_mask = ATA_PIO4, | 443 | .pio_mask = ATA_PIO4, |
444 | },{ /* 4 */ | 444 | },{ /* 4 */ |
445 | .name = "SvrWks HT1000", | 445 | .name = "SvrWks HT1000", |
@@ -447,8 +447,7 @@ static ide_pci_device_t serverworks_chipsets[] __devinitdata = { | |||
447 | .init_chipset = init_chipset_svwks, | 447 | .init_chipset = init_chipset_svwks, |
448 | .init_hwif = init_hwif_svwks, | 448 | .init_hwif = init_hwif_svwks, |
449 | .autodma = AUTODMA, | 449 | .autodma = AUTODMA, |
450 | .bootable = ON_BOARD, | 450 | .host_flags = IDE_HFLAG_SINGLE | IDE_HFLAG_BOOTABLE, |
451 | .host_flags = IDE_HFLAG_SINGLE, | ||
452 | .pio_mask = ATA_PIO4, | 451 | .pio_mask = ATA_PIO4, |
453 | } | 452 | } |
454 | }; | 453 | }; |
diff --git a/drivers/ide/pci/siimage.c b/drivers/ide/pci/siimage.c index 4c8108345d83..5ff796899dae 100644 --- a/drivers/ide/pci/siimage.c +++ b/drivers/ide/pci/siimage.c | |||
@@ -920,7 +920,7 @@ static void __devinit init_hwif_siimage(ide_hwif_t *hwif) | |||
920 | .init_hwif = init_hwif_siimage, \ | 920 | .init_hwif = init_hwif_siimage, \ |
921 | .fixup = siimage_fixup, \ | 921 | .fixup = siimage_fixup, \ |
922 | .autodma = AUTODMA, \ | 922 | .autodma = AUTODMA, \ |
923 | .bootable = ON_BOARD, \ | 923 | .host_flags = IDE_HFLAG_BOOTABLE, \ |
924 | .pio_mask = ATA_PIO4, \ | 924 | .pio_mask = ATA_PIO4, \ |
925 | } | 925 | } |
926 | 926 | ||
diff --git a/drivers/ide/pci/sis5513.c b/drivers/ide/pci/sis5513.c index f756c7f83b5d..5e6821076906 100644 --- a/drivers/ide/pci/sis5513.c +++ b/drivers/ide/pci/sis5513.c | |||
@@ -592,7 +592,7 @@ static ide_pci_device_t sis5513_chipset __devinitdata = { | |||
592 | .init_hwif = init_hwif_sis5513, | 592 | .init_hwif = init_hwif_sis5513, |
593 | .autodma = NOAUTODMA, | 593 | .autodma = NOAUTODMA, |
594 | .enablebits = {{0x4a,0x02,0x02}, {0x4a,0x04,0x04}}, | 594 | .enablebits = {{0x4a,0x02,0x02}, {0x4a,0x04,0x04}}, |
595 | .bootable = ON_BOARD, | 595 | .host_flags = IDE_HFLAG_BOOTABLE, |
596 | .pio_mask = ATA_PIO4, | 596 | .pio_mask = ATA_PIO4, |
597 | }; | 597 | }; |
598 | 598 | ||
diff --git a/drivers/ide/pci/sl82c105.c b/drivers/ide/pci/sl82c105.c index e78448148aca..97c1331e5ec3 100644 --- a/drivers/ide/pci/sl82c105.c +++ b/drivers/ide/pci/sl82c105.c | |||
@@ -406,7 +406,7 @@ static ide_pci_device_t sl82c105_chipset __devinitdata = { | |||
406 | .init_hwif = init_hwif_sl82c105, | 406 | .init_hwif = init_hwif_sl82c105, |
407 | .autodma = NOAUTODMA, | 407 | .autodma = NOAUTODMA, |
408 | .enablebits = {{0x40,0x01,0x01}, {0x40,0x10,0x10}}, | 408 | .enablebits = {{0x40,0x01,0x01}, {0x40,0x10,0x10}}, |
409 | .bootable = ON_BOARD, | 409 | .host_flags = IDE_HFLAG_BOOTABLE, |
410 | .pio_mask = ATA_PIO5, | 410 | .pio_mask = ATA_PIO5, |
411 | }; | 411 | }; |
412 | 412 | ||
diff --git a/drivers/ide/pci/slc90e66.c b/drivers/ide/pci/slc90e66.c index d0447219752d..f2ab3a620647 100644 --- a/drivers/ide/pci/slc90e66.c +++ b/drivers/ide/pci/slc90e66.c | |||
@@ -161,7 +161,7 @@ static ide_pci_device_t slc90e66_chipset __devinitdata = { | |||
161 | .init_hwif = init_hwif_slc90e66, | 161 | .init_hwif = init_hwif_slc90e66, |
162 | .autodma = AUTODMA, | 162 | .autodma = AUTODMA, |
163 | .enablebits = {{0x41,0x80,0x80}, {0x43,0x80,0x80}}, | 163 | .enablebits = {{0x41,0x80,0x80}, {0x43,0x80,0x80}}, |
164 | .bootable = ON_BOARD, | 164 | .host_flags = IDE_HFLAG_BOOTABLE, |
165 | .pio_mask = ATA_PIO4, | 165 | .pio_mask = ATA_PIO4, |
166 | }; | 166 | }; |
167 | 167 | ||
diff --git a/drivers/ide/pci/tc86c001.c b/drivers/ide/pci/tc86c001.c index 0e3a8fe2037d..6f2d53691064 100644 --- a/drivers/ide/pci/tc86c001.c +++ b/drivers/ide/pci/tc86c001.c | |||
@@ -228,8 +228,7 @@ static ide_pci_device_t tc86c001_chipset __devinitdata = { | |||
228 | .init_chipset = init_chipset_tc86c001, | 228 | .init_chipset = init_chipset_tc86c001, |
229 | .init_hwif = init_hwif_tc86c001, | 229 | .init_hwif = init_hwif_tc86c001, |
230 | .autodma = AUTODMA, | 230 | .autodma = AUTODMA, |
231 | .bootable = OFF_BOARD, | 231 | .host_flags = IDE_HFLAG_SINGLE | IDE_HFLAG_OFF_BOARD, |
232 | .host_flags = IDE_HFLAG_SINGLE, | ||
233 | .pio_mask = ATA_PIO4, | 232 | .pio_mask = ATA_PIO4, |
234 | }; | 233 | }; |
235 | 234 | ||
diff --git a/drivers/ide/pci/triflex.c b/drivers/ide/pci/triflex.c index 68e1e9adf84d..8f89b6dd5e6c 100644 --- a/drivers/ide/pci/triflex.c +++ b/drivers/ide/pci/triflex.c | |||
@@ -113,7 +113,7 @@ static ide_pci_device_t triflex_device __devinitdata = { | |||
113 | .init_hwif = init_hwif_triflex, | 113 | .init_hwif = init_hwif_triflex, |
114 | .autodma = AUTODMA, | 114 | .autodma = AUTODMA, |
115 | .enablebits = {{0x80, 0x01, 0x01}, {0x80, 0x02, 0x02}}, | 115 | .enablebits = {{0x80, 0x01, 0x01}, {0x80, 0x02, 0x02}}, |
116 | .bootable = ON_BOARD, | 116 | .host_flags = IDE_HFLAG_BOOTABLE, |
117 | .pio_mask = ATA_PIO4, | 117 | .pio_mask = ATA_PIO4, |
118 | }; | 118 | }; |
119 | 119 | ||
diff --git a/drivers/ide/pci/trm290.c b/drivers/ide/pci/trm290.c index 1307454f9c15..ad392025860e 100644 --- a/drivers/ide/pci/trm290.c +++ b/drivers/ide/pci/trm290.c | |||
@@ -325,12 +325,11 @@ static ide_pci_device_t trm290_chipset __devinitdata = { | |||
325 | .name = "TRM290", | 325 | .name = "TRM290", |
326 | .init_hwif = init_hwif_trm290, | 326 | .init_hwif = init_hwif_trm290, |
327 | .autodma = NOAUTODMA, | 327 | .autodma = NOAUTODMA, |
328 | .bootable = ON_BOARD, | 328 | .host_flags = IDE_HFLAG_NO_ATAPI_DMA | |
329 | #if 0 /* play it safe for now */ | 329 | #if 0 /* play it safe for now */ |
330 | .host_flags = IDE_HFLAG_TRUST_BIOS_FOR_DMA | IDE_HFLAG_NO_ATAPI_DMA, | 330 | IDE_HFLAG_TRUST_BIOS_FOR_DMA | |
331 | #else | ||
332 | .host_flags = IDE_HFLAG_NO_ATAPI_DMA, | ||
333 | #endif | 331 | #endif |
332 | IDE_HFLAG_BOOTABLE, | ||
334 | }; | 333 | }; |
335 | 334 | ||
336 | static int __devinit trm290_init_one(struct pci_dev *dev, const struct pci_device_id *id) | 335 | static int __devinit trm290_init_one(struct pci_dev *dev, const struct pci_device_id *id) |
diff --git a/drivers/ide/pci/via82cxxx.c b/drivers/ide/pci/via82cxxx.c index 648432f4c79e..23f7eac96af3 100644 --- a/drivers/ide/pci/via82cxxx.c +++ b/drivers/ide/pci/via82cxxx.c | |||
@@ -458,10 +458,10 @@ static ide_pci_device_t via82cxxx_chipsets[] __devinitdata = { | |||
458 | .init_hwif = init_hwif_via82cxxx, | 458 | .init_hwif = init_hwif_via82cxxx, |
459 | .autodma = NOAUTODMA, | 459 | .autodma = NOAUTODMA, |
460 | .enablebits = {{0x40,0x02,0x02}, {0x40,0x01,0x01}}, | 460 | .enablebits = {{0x40,0x02,0x02}, {0x40,0x01,0x01}}, |
461 | .bootable = ON_BOARD, | 461 | .host_flags = IDE_HFLAG_PIO_NO_BLACKLIST | |
462 | .host_flags = IDE_HFLAG_PIO_NO_BLACKLIST | 462 | IDE_HFLAG_PIO_NO_DOWNGRADE | |
463 | | IDE_HFLAG_PIO_NO_DOWNGRADE | 463 | IDE_HFLAG_POST_SET_MODE | |
464 | | IDE_HFLAG_POST_SET_MODE, | 464 | IDE_HFLAG_BOOTABLE, |
465 | .pio_mask = ATA_PIO5, | 465 | .pio_mask = ATA_PIO5, |
466 | },{ /* 1 */ | 466 | },{ /* 1 */ |
467 | .name = "VP_IDE", | 467 | .name = "VP_IDE", |
@@ -469,10 +469,10 @@ static ide_pci_device_t via82cxxx_chipsets[] __devinitdata = { | |||
469 | .init_hwif = init_hwif_via82cxxx, | 469 | .init_hwif = init_hwif_via82cxxx, |
470 | .autodma = AUTODMA, | 470 | .autodma = AUTODMA, |
471 | .enablebits = {{0x00,0x00,0x00}, {0x00,0x00,0x00}}, | 471 | .enablebits = {{0x00,0x00,0x00}, {0x00,0x00,0x00}}, |
472 | .bootable = ON_BOARD, | 472 | .host_flags = IDE_HFLAG_PIO_NO_BLACKLIST | |
473 | .host_flags = IDE_HFLAG_PIO_NO_BLACKLIST | 473 | IDE_HFLAG_PIO_NO_DOWNGRADE | |
474 | | IDE_HFLAG_PIO_NO_DOWNGRADE | 474 | IDE_HFLAG_POST_SET_MODE | |
475 | | IDE_HFLAG_POST_SET_MODE, | 475 | IDE_HFLAG_BOOTABLE, |
476 | .pio_mask = ATA_PIO5, | 476 | .pio_mask = ATA_PIO5, |
477 | } | 477 | } |
478 | }; | 478 | }; |
diff --git a/drivers/ide/setup-pci.c b/drivers/ide/setup-pci.c index 3d101f73f910..d5901ec9e8cc 100644 --- a/drivers/ide/setup-pci.c +++ b/drivers/ide/setup-pci.c | |||
@@ -360,6 +360,7 @@ static ide_hwif_t *ide_hwif_configure(struct pci_dev *dev, ide_pci_device_t *d, | |||
360 | { | 360 | { |
361 | unsigned long ctl = 0, base = 0; | 361 | unsigned long ctl = 0, base = 0; |
362 | ide_hwif_t *hwif; | 362 | ide_hwif_t *hwif; |
363 | u8 bootable = (d->host_flags & IDE_HFLAG_BOOTABLE) ? 1 : 0; | ||
363 | 364 | ||
364 | if ((d->host_flags & IDE_HFLAG_ISA_PORTS) == 0) { | 365 | if ((d->host_flags & IDE_HFLAG_ISA_PORTS) == 0) { |
365 | /* Possibly we should fail if these checks report true */ | 366 | /* Possibly we should fail if these checks report true */ |
@@ -380,7 +381,7 @@ static ide_hwif_t *ide_hwif_configure(struct pci_dev *dev, ide_pci_device_t *d, | |||
380 | ctl = port ? 0x374 : 0x3f4; | 381 | ctl = port ? 0x374 : 0x3f4; |
381 | base = port ? 0x170 : 0x1f0; | 382 | base = port ? 0x170 : 0x1f0; |
382 | } | 383 | } |
383 | if ((hwif = ide_match_hwif(base, d->bootable, d->name)) == NULL) | 384 | if ((hwif = ide_match_hwif(base, bootable, d->name)) == NULL) |
384 | return NULL; /* no room in ide_hwifs[] */ | 385 | return NULL; /* no room in ide_hwifs[] */ |
385 | if (hwif->io_ports[IDE_DATA_OFFSET] != base || | 386 | if (hwif->io_ports[IDE_DATA_OFFSET] != base || |
386 | hwif->io_ports[IDE_CONTROL_OFFSET] != (ctl | 2)) { | 387 | hwif->io_ports[IDE_CONTROL_OFFSET] != (ctl | 2)) { |
diff --git a/include/linux/ide.h b/include/linux/ide.h index e44ecc942ff8..575bf81dc84a 100644 --- a/include/linux/ide.h +++ b/include/linux/ide.h | |||
@@ -1210,15 +1210,6 @@ extern void default_hwif_iops(ide_hwif_t *); | |||
1210 | extern void default_hwif_mmiops(ide_hwif_t *); | 1210 | extern void default_hwif_mmiops(ide_hwif_t *); |
1211 | extern void default_hwif_transport(ide_hwif_t *); | 1211 | extern void default_hwif_transport(ide_hwif_t *); |
1212 | 1212 | ||
1213 | #define ON_BOARD 1 | ||
1214 | #define NEVER_BOARD 0 | ||
1215 | |||
1216 | #ifdef CONFIG_BLK_DEV_OFFBOARD | ||
1217 | # define OFF_BOARD ON_BOARD | ||
1218 | #else /* CONFIG_BLK_DEV_OFFBOARD */ | ||
1219 | # define OFF_BOARD NEVER_BOARD | ||
1220 | #endif /* CONFIG_BLK_DEV_OFFBOARD */ | ||
1221 | |||
1222 | #define NODMA 0 | 1213 | #define NODMA 0 |
1223 | #define NOAUTODMA 1 | 1214 | #define NOAUTODMA 1 |
1224 | #define AUTODMA 2 | 1215 | #define AUTODMA 2 |
@@ -1259,8 +1250,16 @@ enum { | |||
1259 | IDE_HFLAG_VDMA = (1 << 11), | 1250 | IDE_HFLAG_VDMA = (1 << 11), |
1260 | /* ATAPI DMA is unsupported */ | 1251 | /* ATAPI DMA is unsupported */ |
1261 | IDE_HFLAG_NO_ATAPI_DMA = (1 << 12), | 1252 | IDE_HFLAG_NO_ATAPI_DMA = (1 << 12), |
1253 | /* set if host is a "bootable" controller */ | ||
1254 | IDE_HFLAG_BOOTABLE = (1 << 13), | ||
1262 | }; | 1255 | }; |
1263 | 1256 | ||
1257 | #ifdef CONFIG_BLK_DEV_OFFBOARD | ||
1258 | # define IDE_HFLAG_OFF_BOARD IDE_HFLAG_BOOTABLE | ||
1259 | #else | ||
1260 | # define IDE_HFLAG_OFF_BOARD 0 | ||
1261 | #endif | ||
1262 | |||
1264 | typedef struct ide_pci_device_s { | 1263 | typedef struct ide_pci_device_s { |
1265 | char *name; | 1264 | char *name; |
1266 | int (*init_setup)(struct pci_dev *, struct ide_pci_device_s *); | 1265 | int (*init_setup)(struct pci_dev *, struct ide_pci_device_s *); |
@@ -1272,7 +1271,6 @@ typedef struct ide_pci_device_s { | |||
1272 | void (*fixup)(ide_hwif_t *); | 1271 | void (*fixup)(ide_hwif_t *); |
1273 | u8 autodma; | 1272 | u8 autodma; |
1274 | ide_pci_enablebit_t enablebits[2]; | 1273 | ide_pci_enablebit_t enablebits[2]; |
1275 | u8 bootable; | ||
1276 | unsigned int extra; | 1274 | unsigned int extra; |
1277 | struct ide_pci_device_s *next; | 1275 | struct ide_pci_device_s *next; |
1278 | u16 host_flags; | 1276 | u16 host_flags; |