diff options
Diffstat (limited to 'drivers/input/serio')
-rw-r--r-- | drivers/input/serio/i8042-io.h | 15 |
1 files changed, 6 insertions, 9 deletions
diff --git a/drivers/input/serio/i8042-io.h b/drivers/input/serio/i8042-io.h index cc21914fbc72..3b4e13b9ce1b 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_PPC_MERGE) - if (!request_region(I8042_DATA_REG, 16, "i8042")) - return -EBUSY; -#endif - - i8042_reset = 1; - #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 } |