summaryrefslogtreecommitdiffstats
path: root/include/linux/serio.h
diff options
context:
space:
mode:
authorDmitry Eremin-Solenikov <dbaryshkov@gmail.com>2010-10-04 21:46:10 -0700
committerDmitry Torokhov <dmitry.torokhov@gmail.com>2010-10-13 07:49:28 -0700
commit0982258264d2f615612ab957634efdeb874f47c8 (patch)
tree4667defc535f028e3ee4a11ded29b050cf5926e7 /include/linux/serio.h
parenta8b3c0f57beaba9035e5339175628b63e551b243 (diff)
downloadlinux-0982258264d2f615612ab957634efdeb874f47c8.tar.gz
linux-0982258264d2f615612ab957634efdeb874f47c8.tar.bz2
linux-0982258264d2f615612ab957634efdeb874f47c8.zip
Input: serio - support multiple child devices per single parent
Some (rare) serio devices need to have multiple serio children. One of the examples is PS/2 multiplexer present on several TQC STKxxx boards, which connect PS/2 keyboard and mouse to single tty port. Signed-off-by: Dmitry Eremin-Solenikov <dbaryshkov@gmail.com> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
Diffstat (limited to 'include/linux/serio.h')
-rw-r--r--include/linux/serio.h4
1 files changed, 3 insertions, 1 deletions
diff --git a/include/linux/serio.h b/include/linux/serio.h
index 111ad501b054..109b237603b6 100644
--- a/include/linux/serio.h
+++ b/include/linux/serio.h
@@ -41,7 +41,9 @@ struct serio {
int (*start)(struct serio *);
void (*stop)(struct serio *);
- struct serio *parent, *child;
+ struct serio *parent;
+ struct list_head child_node; /* Entry in parent->children list */
+ struct list_head children;
unsigned int depth; /* level of nesting in serio hierarchy */
struct serio_driver *drv; /* accessed from interrupt, must be protected by serio->lock and serio->sem */