diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2008-04-26 16:44:19 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2008-04-26 16:44:19 -0400 |
commit | a52b0d25a722e84da999005b75f972aa4824253c (patch) | |
tree | 4a3a48305f744e6bde2e3fd663a4473dd712049c /drivers/ide/ide-generic.c | |
parent | 539a5fe22620a1665cce504167953a71a43232ad (diff) | |
parent | f37afdaca711838b50ecd89b9c15fc745270d77c (diff) |
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: (46 commits)
ide: constify struct ide_dma_ops
ide: add struct ide_dma_ops (take 3)
ide: add IDE_HFLAG_SERIALIZE_DMA host flag
sl82c105: check bridge revision in sl82c105_init_one()
au1xxx-ide: use ->init_dma method
palm_bk3710: use ->init_dma method
sgiioc4: use ->init_dma method
icside: use ->init_dma method
ide-pmac: use ->init_dma method
ide: do complete DMA setup in ->init_dma method (take 2)
au1xxx-ide: fix MWDMA support
ide: cleanup ide_setup_dma()
ide: factor out setting PCI bus-mastering from ide_hwif_setup_dma()
ide: export ide_allocate_dma_engine()
ide: move ide_setup_dma() call out from ->init_dma method
alim15x3: skip DMA initialization completely on revs < 0x20
pdc202xx_old: remove init_dma_pdc202xx()
ide: don't display "BIOS" settings in ide_setup_dma()
ide: remove ->cds field from ide_hwif_t (take 2)
ide: remove ide_dma_iobase()
...
Diffstat (limited to 'drivers/ide/ide-generic.c')
-rw-r--r-- | drivers/ide/ide-generic.c | 20 |
1 files changed, 18 insertions, 2 deletions
diff --git a/drivers/ide/ide-generic.c b/drivers/ide/ide-generic.c index 19f63e393d18..a6073e248f45 100644 --- a/drivers/ide/ide-generic.c +++ b/drivers/ide/ide-generic.c | |||
@@ -94,7 +94,24 @@ static int __init ide_generic_init(void) | |||
94 | unsigned long io_addr = ide_default_io_base(i); | 94 | unsigned long io_addr = ide_default_io_base(i); |
95 | hw_regs_t hw; | 95 | hw_regs_t hw; |
96 | 96 | ||
97 | idx[i] = 0xff; | ||
98 | |||
97 | if (io_addr) { | 99 | if (io_addr) { |
100 | if (!request_region(io_addr, 8, DRV_NAME)) { | ||
101 | printk(KERN_ERR "%s: I/O resource 0x%lX-0x%lX " | ||
102 | "not free.\n", | ||
103 | DRV_NAME, io_addr, io_addr + 7); | ||
104 | continue; | ||
105 | } | ||
106 | |||
107 | if (!request_region(io_addr + 0x206, 1, DRV_NAME)) { | ||
108 | printk(KERN_ERR "%s: I/O resource 0x%lX " | ||
109 | "not free.\n", | ||
110 | DRV_NAME, io_addr + 0x206); | ||
111 | release_region(io_addr, 8); | ||
112 | continue; | ||
113 | } | ||
114 | |||
98 | /* | 115 | /* |
99 | * Skip probing if the corresponding | 116 | * Skip probing if the corresponding |
100 | * slot is already occupied. | 117 | * slot is already occupied. |
@@ -111,8 +128,7 @@ static int __init ide_generic_init(void) | |||
111 | ide_init_port_hw(hwif, &hw); | 128 | ide_init_port_hw(hwif, &hw); |
112 | 129 | ||
113 | idx[i] = i; | 130 | idx[i] = i; |
114 | } else | 131 | } |
115 | idx[i] = 0xff; | ||
116 | } | 132 | } |
117 | 133 | ||
118 | ide_device_add_all(idx, NULL); | 134 | ide_device_add_all(idx, NULL); |