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 |
