Input: serio - let device core tell us if device was registered
authorDmitry Torokhov <dmitry.torokhov@gmail.com>
Wed, 6 Jan 2010 01:56:04 +0000 (17:56 -0800)
committerDmitry Torokhov <dmitry.torokhov@gmail.com>
Wed, 6 Jan 2010 08:22:00 +0000 (00:22 -0800)
No need to keep track of it by ourselves.

Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
drivers/input/serio/serio.c
include/linux/serio.h

index 0a278f9..d898804 100644 (file)
@@ -577,8 +577,6 @@ static void serio_add_port(struct serio *serio)
                printk(KERN_ERR
                        "serio: device_add() failed for %s (%s), error: %d\n",
                        serio->phys, serio->name, error);
-       else
-               serio->registered = true;
 }
 
 /*
@@ -605,10 +603,8 @@ static void serio_destroy_port(struct serio *serio)
                serio->parent = NULL;
        }
 
-       if (serio->registered) {
+       if (device_is_registered(&serio->dev))
                device_del(&serio->dev);
-               serio->registered = false;
-       }
 
        list_del_init(&serio->node);
        serio_remove_pending_events(serio);
@@ -995,7 +991,7 @@ irqreturn_t serio_interrupt(struct serio *serio,
 
         if (likely(serio->drv)) {
                 ret = serio->drv->interrupt(serio, data, dfl);
-       } else if (!dfl && serio->registered) {
+       } else if (!dfl && device_is_registered(&serio->dev)) {
                serio_rescan(serio);
                ret = IRQ_HANDLED;
        }
index e2f3044..d0fb702 100644 (file)
@@ -30,7 +30,6 @@ struct serio {
        char phys[32];
 
        bool manual_bind;
-       bool registered;        /* port has been fully registered with driver core */
 
        struct serio_device_id id;