mei: use internal watchdog device registration tracking
authorTomas Winkler <tomas.winkler@intel.com>
Thu, 1 Nov 2012 19:17:17 +0000 (21:17 +0200)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 1 Nov 2012 19:31:19 +0000 (12:31 -0700)
remove bool wd_interface_reg as watchdog device already
keeps track of its registration

Signed-off-by: Tomas Winkler <tomas.winkler@intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/misc/mei/init.c
drivers/misc/mei/mei_dev.h
drivers/misc/mei/wd.c

index 4a8eb920f7fb1dcd605d4aad741fb8cda7426bef..8c3c2689f70c758d402cc8909efe9135b2329a9e 100644 (file)
@@ -111,8 +111,6 @@ struct mei_device *mei_device_init(struct pci_dev *pdev)
        init_waitqueue_head(&dev->wait_stop_wd);
        dev->dev_state = MEI_DEV_INITIALIZING;
        dev->iamthif_state = MEI_IAMTHIF_IDLE;
-       dev->wd_interface_reg = false;
-
 
        mei_io_list_init(&dev->read_list);
        mei_io_list_init(&dev->write_list);
index 57a5a4e4ee4df5f839e1ea64f4265986094d100f..8b96d99b8577149da4617eb0217c1563862dbb1a 100644 (file)
@@ -249,7 +249,6 @@ struct mei_device {
 
        struct mei_cl wd_cl;
        enum mei_wd_states wd_state;
-       bool wd_interface_reg;
        bool wd_pending;
        u16 wd_timeout;
        unsigned char wd_data[MEI_WD_START_MSG_SIZE];
index 8edb054d4b361f5b276ec62924ce711a820f5dc0..4fc2b3d4680aa082a664cde615ae0ce914fb99ea 100644 (file)
@@ -360,23 +360,20 @@ void mei_watchdog_register(struct mei_device *dev)
        if (watchdog_register_device(&amt_wd_dev)) {
                dev_err(&dev->pdev->dev,
                        "wd: unable to register watchdog device.\n");
-               dev->wd_interface_reg = false;
                return;
        }
 
        dev_dbg(&dev->pdev->dev,
                "wd: successfully register watchdog interface.\n");
-       dev->wd_interface_reg = true;
        watchdog_set_drvdata(&amt_wd_dev, dev);
 }
 
 void mei_watchdog_unregister(struct mei_device *dev)
 {
-       if (!dev->wd_interface_reg)
+       if (test_bit(WDOG_UNREGISTERED, &amt_wd_dev.status))
                return;
 
        watchdog_set_drvdata(&amt_wd_dev, NULL);
        watchdog_unregister_device(&amt_wd_dev);
-       dev->wd_interface_reg = false;
 }