aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/parport/parport_pc.c
diff options
context:
space:
mode:
authorOlaf Hering <olaf@aepfle.de>2006-10-01 02:27:57 -0400
committerLinus Torvalds <torvalds@g5.osdl.org>2006-10-01 03:39:23 -0400
commit30cbc22217bb3d5d4c74c88127fbf595460bdb76 (patch)
treeeab298c63f4dcf4ecd35f753da2e5ccf394a7718 /drivers/parport/parport_pc.c
parentc69c31270c35a6b8421a8e4ba81de1247ac6df95 (diff)
[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 <olaf@aepfle.de> Acked-by: Benjamin Herrenschmidt <benh@kernel.crashing.org> Cc: Paul Mackerras <paulus@samba.org> Cc: Adam Belay <ambx1@neo.rr.com> Cc: Dmitry Torokhov <dtor@mail.ru> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Diffstat (limited to 'drivers/parport/parport_pc.c')
-rw-r--r--drivers/parport/parport_pc.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/drivers/parport/parport_pc.c b/drivers/parport/parport_pc.c
index fe800dc0be9..43894ddec7d 100644
--- a/drivers/parport/parport_pc.c
+++ b/drivers/parport/parport_pc.c
@@ -3374,6 +3374,10 @@ __setup("parport_init_mode=",parport_init_mode_setup);
3374 3374
3375static int __init parport_pc_init(void) 3375static int __init parport_pc_init(void)
3376{ 3376{
3377#if defined(CONFIG_PPC_MERGE)
3378 if (check_legacy_ioport(PARALLEL_BASE))
3379 return -ENODEV;
3380#endif
3377 if (parse_parport_params()) 3381 if (parse_parport_params())
3378 return -EINVAL; 3382 return -EINVAL;
3379 3383