X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=drivers%2Finput%2Fserio%2Fi8042-io.h;h=3b4e13b9ce1b9ac7317335c49f7b5bed8f854524;hb=refs%2Fheads%2Fvserver;hp=9a92216442501d066ec4b41476ad37b41ffbfd03;hpb=76828883507a47dae78837ab5dec5a5b4513c667;p=linux-2.6.git diff --git a/drivers/input/serio/i8042-io.h b/drivers/input/serio/i8042-io.h index 9a9221644..3b4e13b9c 100644 --- a/drivers/input/serio/i8042-io.h +++ b/drivers/input/serio/i8042-io.h @@ -67,25 +67,22 @@ static inline int i8042_platform_init(void) * On some platforms touching the i8042 data register region can do really * bad things. Because of this the region is always reserved on such boxes. */ -#if !defined(__sh__) && !defined(__alpha__) && !defined(__mips__) && !defined(CONFIG_PPC64) - if (!request_region(I8042_DATA_REG, 16, "i8042")) - return -EBUSY; -#endif - - i8042_reset = 1; - -#if defined(CONFIG_PPC64) +#if defined(CONFIG_PPC_MERGE) if (check_legacy_ioport(I8042_DATA_REG)) - return -EBUSY; + return -ENODEV; +#endif +#if !defined(__sh__) && !defined(__alpha__) && !defined(__mips__) if (!request_region(I8042_DATA_REG, 16, "i8042")) return -EBUSY; #endif + + i8042_reset = 1; return 0; } static inline void i8042_platform_exit(void) { -#if !defined(__sh__) && !defined(__alpha__) && !defined(CONFIG_PPC64) +#if !defined(__sh__) && !defined(__alpha__) release_region(I8042_DATA_REG, 16); #endif }