mirror of
https://github.com/Fishwaldo/Star64_linux.git
synced 2025-07-22 23:04:43 +00:00
[PATCH] Input: prepare to sysfs integration
Input: prepare to sysfs integration Add struct class_device to input_dev; add input_allocate_dev() to dynamically allocate input devices; dynamically allocated devices are automatically registered with sysfs. Signed-off-by: Dmitry Torokhov <dtor@mail.ru> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
This commit is contained in:
parent
4f00469c16
commit
d19fbe8a76
2 changed files with 95 additions and 6 deletions
|
@ -12,6 +12,7 @@
|
|||
#ifdef __KERNEL__
|
||||
#include <linux/time.h>
|
||||
#include <linux/list.h>
|
||||
#include <linux/device.h>
|
||||
#else
|
||||
#include <sys/time.h>
|
||||
#include <sys/ioctl.h>
|
||||
|
@ -889,11 +890,15 @@ struct input_dev {
|
|||
struct semaphore sem; /* serializes open and close operations */
|
||||
unsigned int users;
|
||||
|
||||
struct device *dev;
|
||||
struct class_device cdev;
|
||||
struct device *dev; /* will be removed soon */
|
||||
|
||||
int dynalloc; /* temporarily */
|
||||
|
||||
struct list_head h_list;
|
||||
struct list_head node;
|
||||
};
|
||||
#define to_input_dev(d) container_of(d, struct input_dev, cdev)
|
||||
|
||||
/*
|
||||
* Structure for hotplug & device<->driver matching.
|
||||
|
@ -984,6 +989,23 @@ static inline void init_input_dev(struct input_dev *dev)
|
|||
INIT_LIST_HEAD(&dev->node);
|
||||
}
|
||||
|
||||
struct input_dev *input_allocate_device(void);
|
||||
|
||||
static inline void input_free_device(struct input_dev *dev)
|
||||
{
|
||||
kfree(dev);
|
||||
}
|
||||
|
||||
static inline struct input_dev *input_get_device(struct input_dev *dev)
|
||||
{
|
||||
return to_input_dev(class_device_get(&dev->cdev));
|
||||
}
|
||||
|
||||
static inline void input_put_device(struct input_dev *dev)
|
||||
{
|
||||
class_device_put(&dev->cdev);
|
||||
}
|
||||
|
||||
void input_register_device(struct input_dev *);
|
||||
void input_unregister_device(struct input_dev *);
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue