mirror of
https://github.com/BobTheBlinker/android_kernel_motorola_sm6375.git
synced 2026-10-29 03:01:39 -04:00
[PATCH] update legacy io handling for pmac
ppc can boot one single binary on prep, chrp and pmac boards. ppc64 can boot one single binary on pseries and G5 boards. pmac has no legacy io, probing for PC style legacy hardware (or accessing the legacy io area regulary) may lead to a hard crash: * add check for parport_pc, exit on pmac. 32bit chrp has no ->check_legacy_ioport, the probe is always called. 64bit chrp has check_legacy_ioport, check for a "parallel" node * add check for isapnp, only PReP boards may have real ISA slots. 32bit PReP will have no ->check_legacy_ioport, the probe is always called. * update code in i8042_platform_init. Run ->check_legacy_ioport first, always call request_region. No functional change. Remove whitespace before i8042_reset init. Signed-off-by: Olaf Hering <[email protected]> Acked-by: Benjamin Herrenschmidt <[email protected]> Cc: Paul Mackerras <[email protected]> Cc: Adam Belay <[email protected]> Cc: Dmitry Torokhov <[email protected]> Signed-off-by: Andrew Morton <[email protected]> Signed-off-by: Linus Torvalds <[email protected]>
This commit is contained in:
parent
c69c31270c
commit
30cbc22217
5 changed files with 26 additions and 9 deletions
|
|
@ -526,6 +526,10 @@ static int __init pnpbios_init(void)
|
|||
{
|
||||
int ret;
|
||||
|
||||
#if defined(CONFIG_PPC_MERGE)
|
||||
if (check_legacy_ioport(PNPBIOS_BASE))
|
||||
return -ENODEV;
|
||||
#endif
|
||||
if (pnpbios_disabled || dmi_check_system(pnpbios_dmi_table)) {
|
||||
printk(KERN_INFO "PnPBIOS: Disabled\n");
|
||||
return -ENODEV;
|
||||
|
|
@ -575,6 +579,10 @@ subsys_initcall(pnpbios_init);
|
|||
|
||||
static int __init pnpbios_thread_init(void)
|
||||
{
|
||||
#if defined(CONFIG_PPC_MERGE)
|
||||
if (check_legacy_ioport(PNPBIOS_BASE))
|
||||
return 0;
|
||||
#endif
|
||||
if (pnpbios_disabled)
|
||||
return 0;
|
||||
#ifdef CONFIG_HOTPLUG
|
||||
|
|
|
|||
Loading…
Reference in a new issue