Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 09649a85 authored by Tomas Winkler's avatar Tomas Winkler Committed by Greg Kroah-Hartman
Browse files

mei: wd: use watchdog_set/get_drvdata for passing mei_device



use watchdog_set/get_drvdata for passing mei_device
to watchdog_ops handlers instead of using global mei_device

Signed-off-by: default avatarTomas Winkler <tomas.winkler@intel.com>
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
parent c216fdeb
Loading
Loading
Loading
Loading
+16 −13
Original line number Diff line number Diff line
@@ -194,7 +194,7 @@ static int mei_wd_ops_start(struct watchdog_device *wd_dev)
	int err = -ENODEV;
	struct mei_device *dev;

	dev = pci_get_drvdata(mei_device);
	dev = watchdog_get_drvdata(wd_dev);
	if (!dev)
		return -ENODEV;

@@ -231,8 +231,8 @@ static int mei_wd_ops_start(struct watchdog_device *wd_dev)
static int mei_wd_ops_stop(struct watchdog_device *wd_dev)
{
	struct mei_device *dev;
	dev = pci_get_drvdata(mei_device);

	dev = watchdog_get_drvdata(wd_dev);
	if (!dev)
		return -ENODEV;

@@ -254,8 +254,8 @@ static int mei_wd_ops_ping(struct watchdog_device *wd_dev)
{
	int ret = 0;
	struct mei_device *dev;
	dev = pci_get_drvdata(mei_device);

	dev = watchdog_get_drvdata(wd_dev);
	if (!dev)
		return -ENODEV;

@@ -309,8 +309,8 @@ static int mei_wd_ops_ping(struct watchdog_device *wd_dev)
static int mei_wd_ops_set_timeout(struct watchdog_device *wd_dev, unsigned int timeout)
{
	struct mei_device *dev;
	dev = pci_get_drvdata(mei_device);

	dev = watchdog_get_drvdata(wd_dev);
	if (!dev)
		return -ENODEV;

@@ -357,22 +357,25 @@ static struct watchdog_device amt_wd_dev = {

void mei_watchdog_register(struct mei_device *dev)
{
	dev_dbg(&dev->pdev->dev, "dev->wd_timeout =%d.\n", dev->wd_timeout);

	if (watchdog_register_device(&amt_wd_dev)) {
		dev_err(&dev->pdev->dev,
			"wd: unable to register watchdog device.\n");
		dev->wd_interface_reg = false;
	} else {
		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 (!dev->wd_interface_reg)
		return;

	watchdog_set_drvdata(&amt_wd_dev, NULL);
	watchdog_unregister_device(&amt_wd_dev);
	dev->wd_interface_reg = false;
}