[PATCH] ext4: switch fsblk to sector_t
[pandora-kernel.git] / include / linux / serio.h
index aa4d649..3a697cc 100644 (file)
@@ -18,6 +18,7 @@
 #include <linux/interrupt.h>
 #include <linux/list.h>
 #include <linux/spinlock.h>
+#include <linux/mutex.h>
 #include <linux/device.h>
 #include <linux/mod_devicetable.h>
 
@@ -42,7 +43,7 @@ struct serio {
        struct serio *parent, *child;
 
        struct serio_driver *drv;       /* accessed from interrupt, must be protected by serio->lock and serio->sem */
-       struct semaphore drv_sem;       /* protects serio->drv so attributes can pin driver */
+       struct mutex drv_mutex;         /* protects serio->drv so attributes can pin driver */
 
        struct device dev;
        unsigned int registered;        /* port has been fully registered with driver core */
@@ -59,8 +60,7 @@ struct serio_driver {
        unsigned int manual_bind;
 
        void (*write_wakeup)(struct serio *);
-       irqreturn_t (*interrupt)(struct serio *, unsigned char,
-                       unsigned int, struct pt_regs *);
+       irqreturn_t (*interrupt)(struct serio *, unsigned char, unsigned int);
        int  (*connect)(struct serio *, struct serio_driver *drv);
        int  (*reconnect)(struct serio *);
        void (*disconnect)(struct serio *);
@@ -74,7 +74,7 @@ int serio_open(struct serio *serio, struct serio_driver *drv);
 void serio_close(struct serio *serio);
 void serio_rescan(struct serio *serio);
 void serio_reconnect(struct serio *serio);
-irqreturn_t serio_interrupt(struct serio *serio, unsigned char data, unsigned int flags, struct pt_regs *regs);
+irqreturn_t serio_interrupt(struct serio *serio, unsigned char data, unsigned int flags);
 
 void __serio_register_port(struct serio *serio, struct module *owner);
 static inline void serio_register_port(struct serio *serio)
@@ -119,7 +119,7 @@ static inline void serio_cleanup(struct serio *serio)
 }
 
 /*
- * Use the following fucntions to manipulate serio's per-port
+ * Use the following functions to manipulate serio's per-port
  * driver-specific data.
  */
 static inline void *serio_get_drvdata(struct serio *serio)
@@ -133,7 +133,7 @@ static inline void serio_set_drvdata(struct serio *serio, void *data)
 }
 
 /*
- * Use the following fucntions to protect critical sections in
+ * Use the following functions to protect critical sections in
  * driver code from port's interrupt handler
  */
 static inline void serio_pause_rx(struct serio *serio)
@@ -147,21 +147,21 @@ static inline void serio_continue_rx(struct serio *serio)
 }
 
 /*
- * Use the following fucntions to pin serio's driver in process context
+ * Use the following functions to pin serio's driver in process context
  */
 static inline int serio_pin_driver(struct serio *serio)
 {
-       return down_interruptible(&serio->drv_sem);
+       return mutex_lock_interruptible(&serio->drv_mutex);
 }
 
 static inline void serio_pin_driver_uninterruptible(struct serio *serio)
 {
-       down(&serio->drv_sem);
+       mutex_lock(&serio->drv_mutex);
 }
 
 static inline void serio_unpin_driver(struct serio *serio)
 {
-       up(&serio->drv_sem);
+       mutex_unlock(&serio->drv_mutex);
 }
 
 
@@ -216,5 +216,8 @@ static inline void serio_unpin_driver(struct serio *serio)
 #define SERIO_LKKBD    0x28
 #define SERIO_ELO      0x29
 #define SERIO_MICROTOUCH       0x30
+#define SERIO_PENMOUNT 0x31
+#define SERIO_TOUCHRIGHT       0x32
+#define SERIO_TOUCHWIN 0x33
 
 #endif