diff options
Diffstat (limited to 'arch/alpha/kernel/sys_sio.c')
-rw-r--r-- | arch/alpha/kernel/sys_sio.c | 23 |
1 files changed, 22 insertions, 1 deletions
diff --git a/arch/alpha/kernel/sys_sio.c b/arch/alpha/kernel/sys_sio.c index d4327e461c22..85b4aea01ef8 100644 --- a/arch/alpha/kernel/sys_sio.c +++ b/arch/alpha/kernel/sys_sio.c | |||
@@ -34,6 +34,7 @@ | |||
34 | #include "irq_impl.h" | 34 | #include "irq_impl.h" |
35 | #include "pci_impl.h" | 35 | #include "pci_impl.h" |
36 | #include "machvec_impl.h" | 36 | #include "machvec_impl.h" |
37 | #include "pc873xx.h" | ||
37 | 38 | ||
38 | #if defined(ALPHA_RESTORE_SRM_SETUP) | 39 | #if defined(ALPHA_RESTORE_SRM_SETUP) |
39 | /* Save LCA configuration data as the console had it set up. */ | 40 | /* Save LCA configuration data as the console had it set up. */ |
@@ -208,7 +209,27 @@ noname_init_pci(void) | |||
208 | common_init_pci(); | 209 | common_init_pci(); |
209 | sio_pci_route(); | 210 | sio_pci_route(); |
210 | sio_fixup_irq_levels(sio_collect_irq_levels()); | 211 | sio_fixup_irq_levels(sio_collect_irq_levels()); |
211 | ns87312_enable_ide(0x26e); | 212 | |
213 | if (pc873xx_probe() == -1) { | ||
214 | printk(KERN_ERR "Probing for PC873xx Super IO chip failed.\n"); | ||
215 | } else { | ||
216 | printk(KERN_INFO "Found %s Super IO chip at 0x%x\n", | ||
217 | pc873xx_get_model(), pc873xx_get_base()); | ||
218 | |||
219 | /* Enabling things in the Super IO chip doesn't actually | ||
220 | * configure and enable things, the legacy drivers still | ||
221 | * need to do the actual configuration and enabling. | ||
222 | * This only unblocks them. | ||
223 | */ | ||
224 | |||
225 | #if !defined(CONFIG_ALPHA_AVANTI) | ||
226 | /* Don't bother on the Avanti family. | ||
227 | * None of them had on-board IDE. | ||
228 | */ | ||
229 | pc873xx_enable_ide(); | ||
230 | #endif | ||
231 | pc873xx_enable_epp19(); | ||
232 | } | ||
212 | } | 233 | } |
213 | 234 | ||
214 | static inline void __init | 235 | static inline void __init |