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

Commit 09f50c95 authored by David Smith's avatar David Smith Committed by Linus Torvalds
Browse files

tpm: clean up tpm_nsc driver for platform_device suspend/resume compliance

parent ad8f07cc
Loading
Loading
Loading
Loading
+22 −13
Original line number Diff line number Diff line
@@ -273,12 +273,23 @@ static void tpm_nsc_remove(struct device *dev)
	}
}

static struct device_driver nsc_drv = {
static int tpm_nsc_suspend(struct platform_device *dev, pm_message_t msg)
{
	return tpm_pm_suspend(&dev->dev, msg);
}

static int tpm_nsc_resume(struct platform_device *dev)
{
	return tpm_pm_resume(&dev->dev);
}

static struct platform_driver nsc_drv = {
	.suspend         = tpm_nsc_suspend,
	.resume          = tpm_nsc_resume,
	.driver          = {
		.name    = "tpm_nsc",
	.bus = &platform_bus_type,
		.owner   = THIS_MODULE,
	.suspend = tpm_pm_suspend,
	.resume = tpm_pm_resume,
	},
};

static int __init init_nsc(void)
@@ -297,7 +308,7 @@ static int __init init_nsc(void)
			return -ENODEV;
	}

	err = driver_register(&nsc_drv);
	err = platform_driver_register(&nsc_drv);
	if (err)
		return err;

@@ -308,17 +319,15 @@ static int __init init_nsc(void)
	/* enable the DPM module */
	tpm_write_index(nscAddrBase, NSC_LDC_INDEX, 0x01);

	pdev = kzalloc(sizeof(struct platform_device), GFP_KERNEL);
	pdev = platform_device_alloc("tpm_nscl0", -1);
	if (!pdev) {
		rc = -ENOMEM;
		goto err_unreg_drv;
	}

	pdev->name = "tpm_nscl0";
	pdev->id = -1;
	pdev->num_resources = 0;
	pdev->dev.driver = &nsc_drv.driver;
	pdev->dev.release = tpm_nsc_remove;
	pdev->dev.driver = &nsc_drv;

	if ((rc = platform_device_register(pdev)) < 0)
		goto err_free_dev;
@@ -377,7 +386,7 @@ static int __init init_nsc(void)
err_free_dev:
	kfree(pdev);
err_unreg_drv:
	driver_unregister(&nsc_drv);
	platform_driver_unregister(&nsc_drv);
	return rc;
}

@@ -390,7 +399,7 @@ static void __exit cleanup_nsc(void)
		pdev = NULL;
	}

	driver_unregister(&nsc_drv);
	platform_driver_unregister(&nsc_drv);
}

module_init(init_nsc);