fedora core 6 1.2949 + vserver 2.2.0
[linux-2.6.git] / drivers / input / serio / i8042-io.h
index 9a92216..3b4e13b 100644 (file)
@@ -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
 }