power: tps80031: battery-charger: register as mfd sub device
[linux-2.6.git] / include / linux / gameport.h
index 2cdba0c..b65a6f4 100644 (file)
 
 #ifdef __KERNEL__
 #include <asm/io.h>
+#include <linux/types.h>
 #include <linux/list.h>
 #include <linux/mutex.h>
 #include <linux/device.h>
 #include <linux/timer.h>
+#include <linux/slab.h>
 
 struct gameport {
 
@@ -45,16 +47,13 @@ struct gameport {
        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 */
 
        struct list_head node;
 };
 #define to_gameport_port(d)    container_of(d, struct gameport, dev)
 
 struct gameport_driver {
-
-       void *private;
-       char *description;
+       const char *description;
 
        int (*connect)(struct gameport *, struct gameport_driver *drv);
        int (*reconnect)(struct gameport *);
@@ -62,13 +61,12 @@ struct gameport_driver {
 
        struct device_driver driver;
 
-       unsigned int ignore;
+       bool ignore;
 };
 #define to_gameport_driver(d)  container_of(d, struct gameport_driver, driver)
 
 int gameport_open(struct gameport *gameport, struct gameport_driver *drv, int mode);
 void gameport_close(struct gameport *gameport);
-void gameport_rescan(struct gameport *gameport);
 
 #if defined(CONFIG_GAMEPORT) || (defined(MODULE) && defined(CONFIG_GAMEPORT_MODULE))
 
@@ -105,7 +103,7 @@ static inline void gameport_set_phys(struct gameport *gameport,
 
 static inline struct gameport *gameport_allocate_port(void)
 {
-       struct gameport *gameport = kcalloc(1, sizeof(struct gameport), GFP_KERNEL);
+       struct gameport *gameport = kzalloc(sizeof(struct gameport), GFP_KERNEL);
 
        return gameport;
 }
@@ -147,10 +145,11 @@ static inline void gameport_unpin_driver(struct gameport *gameport)
        mutex_unlock(&gameport->drv_mutex);
 }
 
-void __gameport_register_driver(struct gameport_driver *drv, struct module *owner);
-static inline void gameport_register_driver(struct gameport_driver *drv)
+int __gameport_register_driver(struct gameport_driver *drv,
+                               struct module *owner, const char *mod_name);
+static inline int __must_check gameport_register_driver(struct gameport_driver *drv)
 {
-       __gameport_register_driver(drv, THIS_MODULE);
+       return __gameport_register_driver(drv, THIS_MODULE, KBUILD_MODNAME);
 }
 
 void gameport_unregister_driver(struct gameport_driver *drv);