From: Dmitry Torokhov =================================================================== ChangeSet@1.1792, 2004-06-17 18:16:15-05:00, dtor_core@ameritech.net Input: make connect and disconnect methods mandatory for serio drivers since that's where serio_{open|close} are called from to actually bind driver to a port. Signed-off-by: Dmitry Torokhov =================================================================== Signed-off-by: Andrew Morton --- 25-akpm/drivers/input/serio/serio.c | 11 +++++------ 1 files changed, 5 insertions(+), 6 deletions(-) diff -puN drivers/input/serio/serio.c~input-serio-connect-disconnect-mandatory drivers/input/serio/serio.c --- 25/drivers/input/serio/serio.c~input-serio-connect-disconnect-mandatory 2004-06-19 22:53:24.333176920 -0700 +++ 25-akpm/drivers/input/serio/serio.c 2004-06-19 22:53:24.336176464 -0700 @@ -68,8 +68,7 @@ static void serio_find_dev(struct serio list_for_each_entry(dev, &serio_dev_list, node) { if (serio->dev) break; - if (dev->connect) - dev->connect(serio, dev); + dev->connect(serio, dev); } } @@ -160,7 +159,7 @@ static void serio_handle_events(void) /* reconnect failed - fall through to rescan */ case SERIO_RESCAN : - if (event->serio->dev && event->serio->dev->disconnect) + if (event->serio->dev) event->serio->dev->disconnect(event->serio); serio_find_dev(event->serio); break; @@ -282,7 +281,7 @@ void __serio_unregister_port(struct seri { serio_remove_pending_events(serio); list_del_init(&serio->node); - if (serio->dev && serio->dev->disconnect) + if (serio->dev) serio->dev->disconnect(serio); } @@ -296,7 +295,7 @@ void serio_register_device(struct serio_ down(&serio_sem); list_add_tail(&dev->node, &serio_dev_list); list_for_each_entry(serio, &serio_list, node) - if (!serio->dev && dev->connect) + if (!serio->dev) dev->connect(serio, dev); up(&serio_sem); } @@ -309,7 +308,7 @@ void serio_unregister_device(struct seri list_del_init(&dev->node); list_for_each_entry(serio, &serio_list, node) { - if (serio->dev == dev && dev->disconnect) + if (serio->dev == dev) dev->disconnect(serio); serio_find_dev(serio); } _