Skip to content

Commit bc2fd38

Browse files
committed
Merge git://git.kernel.org/pub/scm/linux/kernel/git/bart/ide-2.6
* git://git.kernel.org/pub/scm/linux/kernel/git/bart/ide-2.6: (53 commits) ide: use try_to_identify() in ide_driveid_update() ide: clear drive IRQ after re-enabling local IRQs in ide_driveid_update() ide: sanitize SELECT_MASK() usage in ide_driveid_update() ide: classify device type in do_probe() ide: remove broken EXABYTENEST support ide: shorten timeout value in ide_driveid_update() ide: propagate AltStatus workarounds to ide_driveid_update() ide: fix kmalloc() failure handling in ide_driveid_update() mn10300: remove <asm/ide.h> frv: remove <asm/ide.h> ide: remove pciirq argument from ide_pci_setup_ports() ide: fix ->init_chipset method to return 'int' value ide: remove try_to_identify() wrapper ide: remove no longer needed IRQ auto-probing from try_to_identify() (v2) ide: remove no longer needed IRQ fallback code from hwif_init() amd74xx: remove no longer needed ->init_hwif method ide: remove no longer needed IDE_HFLAG[_FORCE]_LEGACY_IRQS ide: use ide_pci_is_in_compatibility_mode() in ide_pci_init_{one,two}() ide: use pci_get_legacy_ide_irq() in ide_pci_init_{one,two}() ide: handle IDE_HFLAG[_FORCE]_LEGACY_IRQS in ide_pci_init_{one,two}() ...
2 parents 928a726 + 2ebe1d9 commit bc2fd38

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

45 files changed

+1573
-1958
lines changed

drivers/ide/Kconfig

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -56,8 +56,12 @@ if IDE
5656

5757
comment "Please see Documentation/ide/ide.txt for help/info on IDE drives"
5858

59+
config IDE_XFER_MODE
60+
bool
61+
5962
config IDE_TIMINGS
6063
bool
64+
select IDE_XFER_MODE
6165

6266
config IDE_ATAPI
6367
bool
@@ -698,6 +702,7 @@ config BLK_DEV_IDE_PMAC_ATA100FIRST
698702
config BLK_DEV_IDE_AU1XXX
699703
bool "IDE for AMD Alchemy Au1200"
700704
depends on SOC_AU1200
705+
select IDE_XFER_MODE
701706
choice
702707
prompt "IDE Mode for AMD Alchemy Au1200"
703708
default CONFIG_BLK_DEV_IDE_AU1XXX_PIO_DBDMA
@@ -871,6 +876,7 @@ config BLK_DEV_ALI14XX
871876

872877
config BLK_DEV_DTC2278
873878
tristate "DTC-2278 support"
879+
select IDE_XFER_MODE
874880
select IDE_LEGACY
875881
help
876882
This driver is enabled at runtime using the "dtc2278.probe" kernel
@@ -902,6 +908,7 @@ config BLK_DEV_QD65XX
902908

903909
config BLK_DEV_UMC8672
904910
tristate "UMC-8672 support"
911+
select IDE_XFER_MODE
905912
select IDE_LEGACY
906913
help
907914
This driver is enabled at runtime using the "umc8672.probe" kernel
@@ -915,5 +922,6 @@ endif
915922
config BLK_DEV_IDEDMA
916923
def_bool BLK_DEV_IDEDMA_SFF || \
917924
BLK_DEV_IDEDMA_ICS || BLK_DEV_IDE_AU1XXX_MDMA2_DBDMA
925+
select IDE_XFER_MODE
918926

919927
endif # IDE

drivers/ide/Makefile

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,9 +5,11 @@
55
EXTRA_CFLAGS += -Idrivers/ide
66

77
ide-core-y += ide.o ide-ioctls.o ide-io.o ide-iops.o ide-lib.o ide-probe.o \
8-
ide-taskfile.o ide-pm.o ide-park.o ide-pio-blacklist.o ide-sysfs.o
8+
ide-taskfile.o ide-pm.o ide-park.o ide-sysfs.o ide-devsets.o \
9+
ide-io-std.o ide-eh.o
910

1011
# core IDE code
12+
ide-core-$(CONFIG_IDE_XFER_MODE) += ide-pio-blacklist.o ide-xfer-mode.o
1113
ide-core-$(CONFIG_IDE_TIMINGS) += ide-timings.o
1214
ide-core-$(CONFIG_IDE_ATAPI) += ide-atapi.o
1315
ide-core-$(CONFIG_BLK_DEV_IDEPCI) += setup-pci.o

drivers/ide/aec62xx.c

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -139,7 +139,7 @@ static void aec_set_pio_mode(ide_drive_t *drive, const u8 pio)
139139
drive->hwif->port_ops->set_dma_mode(drive, pio + XFER_PIO_0);
140140
}
141141

142-
static unsigned int init_chipset_aec62xx(struct pci_dev *dev)
142+
static int init_chipset_aec62xx(struct pci_dev *dev)
143143
{
144144
/* These are necessary to get AEC6280 Macintosh cards to work */
145145
if ((dev->device == PCI_DEVICE_ID_ARTOP_ATP865) ||
@@ -156,7 +156,7 @@ static unsigned int init_chipset_aec62xx(struct pci_dev *dev)
156156
pci_write_config_byte(dev, 0x4a, reg4ah | 0x80);
157157
}
158158

159-
return dev->irq;
159+
return 0;
160160
}
161161

162162
static u8 atp86x_cable_detect(ide_hwif_t *hwif)

drivers/ide/alim15x3.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -212,7 +212,7 @@ static int ali15x3_dma_setup(ide_drive_t *drive)
212212
* appropriate also sets up the 1533 southbridge.
213213
*/
214214

215-
static unsigned int init_chipset_ali15x3(struct pci_dev *dev)
215+
static int init_chipset_ali15x3(struct pci_dev *dev)
216216
{
217217
unsigned long flags;
218218
u8 tmpbyte;

drivers/ide/amd74xx.c

Lines changed: 2 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -140,7 +140,7 @@ static void amd7411_cable_detect(struct pci_dev *dev)
140140
* The initialization callback. Initialize drive independent registers.
141141
*/
142142

143-
static unsigned int init_chipset_amd74xx(struct pci_dev *dev)
143+
static int init_chipset_amd74xx(struct pci_dev *dev)
144144
{
145145
u8 t = 0, offset = amd_offset(dev);
146146

@@ -172,7 +172,7 @@ static unsigned int init_chipset_amd74xx(struct pci_dev *dev)
172172
t |= 0xf0;
173173
pci_write_config_byte(dev, AMD_IDE_CONFIG + offset, t);
174174

175-
return dev->irq;
175+
return 0;
176176
}
177177

178178
static u8 amd_cable_detect(ide_hwif_t *hwif)
@@ -183,14 +183,6 @@ static u8 amd_cable_detect(ide_hwif_t *hwif)
183183
return ATA_CBL_PATA40;
184184
}
185185

186-
static void __devinit init_hwif_amd74xx(ide_hwif_t *hwif)
187-
{
188-
struct pci_dev *dev = to_pci_dev(hwif->dev);
189-
190-
if (hwif->irq == 0) /* 0 is bogus but will do for now */
191-
hwif->irq = pci_get_legacy_ide_irq(dev, hwif->channel);
192-
}
193-
194186
static const struct ide_port_ops amd_port_ops = {
195187
.set_pio_mode = amd_set_pio_mode,
196188
.set_dma_mode = amd_set_drive,
@@ -207,7 +199,6 @@ static const struct ide_port_ops amd_port_ops = {
207199
{ \
208200
.name = DRV_NAME, \
209201
.init_chipset = init_chipset_amd74xx, \
210-
.init_hwif = init_hwif_amd74xx, \
211202
.enablebits = {{0x40,0x02,0x02}, {0x40,0x01,0x01}}, \
212203
.port_ops = &amd_port_ops, \
213204
.host_flags = IDE_HFLAGS_AMD, \
@@ -221,7 +212,6 @@ static const struct ide_port_ops amd_port_ops = {
221212
{ \
222213
.name = DRV_NAME, \
223214
.init_chipset = init_chipset_amd74xx, \
224-
.init_hwif = init_hwif_amd74xx, \
225215
.enablebits = {{0x50,0x02,0x02}, {0x50,0x01,0x01}}, \
226216
.port_ops = &amd_port_ops, \
227217
.host_flags = IDE_HFLAGS_AMD, \

drivers/ide/atiixp.c

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -142,7 +142,6 @@ static const struct ide_port_info atiixp_pci_info[] __devinitdata = {
142142
.name = DRV_NAME,
143143
.enablebits = {{0x48,0x01,0x00}, {0x48,0x08,0x00}},
144144
.port_ops = &atiixp_port_ops,
145-
.host_flags = IDE_HFLAG_LEGACY_IRQS,
146145
.pio_mask = ATA_PIO4,
147146
.mwdma_mask = ATA_MWDMA2,
148147
.udma_mask = ATA_UDMA5,
@@ -151,7 +150,7 @@ static const struct ide_port_info atiixp_pci_info[] __devinitdata = {
151150
.name = DRV_NAME,
152151
.enablebits = {{0x48,0x01,0x00}, {0x00,0x00,0x00}},
153152
.port_ops = &atiixp_port_ops,
154-
.host_flags = IDE_HFLAG_SINGLE | IDE_HFLAG_LEGACY_IRQS,
153+
.host_flags = IDE_HFLAG_SINGLE,
155154
.pio_mask = ATA_PIO4,
156155
.mwdma_mask = ATA_MWDMA2,
157156
.udma_mask = ATA_UDMA5,

drivers/ide/cmd64x.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -333,7 +333,7 @@ static int cmd646_1_dma_end(ide_drive_t *drive)
333333
return (dma_stat & 7) != 4;
334334
}
335335

336-
static unsigned int init_chipset_cmd64x(struct pci_dev *dev)
336+
static int init_chipset_cmd64x(struct pci_dev *dev)
337337
{
338338
u8 mrdmode = 0;
339339

drivers/ide/cs5520.c

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -133,7 +133,8 @@ static int __devinit cs5520_init_one(struct pci_dev *dev, const struct pci_devic
133133
* do all the device setup for us
134134
*/
135135

136-
ide_pci_setup_ports(dev, d, 14, &hw[0], &hws[0]);
136+
ide_pci_setup_ports(dev, d, &hw[0], &hws[0]);
137+
hw[0].irq = 14;
137138

138139
return ide_host_add(d, hws, NULL);
139140
}

drivers/ide/cs5530.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -135,7 +135,7 @@ static void cs5530_set_dma_mode(ide_drive_t *drive, const u8 mode)
135135
* Initialize the cs5530 bridge for reliable IDE DMA operation.
136136
*/
137137

138-
static unsigned int init_chipset_cs5530(struct pci_dev *dev)
138+
static int init_chipset_cs5530(struct pci_dev *dev)
139139
{
140140
struct pci_dev *master_0 = NULL, *cs5530_0 = NULL;
141141

drivers/ide/delkin_cb.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -46,7 +46,7 @@ static const struct ide_port_ops delkin_cb_port_ops = {
4646
.quirkproc = ide_undecoded_slave,
4747
};
4848

49-
static unsigned int delkin_cb_init_chipset(struct pci_dev *dev)
49+
static int delkin_cb_init_chipset(struct pci_dev *dev)
5050
{
5151
unsigned long base = pci_resource_start(dev, 0);
5252
int i;

0 commit comments

Comments
 (0)