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

Commit e15b7f44 authored by Daniel Hung-yu Wu's avatar Daniel Hung-yu Wu Committed by Lee Jones
Browse files

mfd: cros_ec_dev: Register shutdown function for debugfs



Reboot or shutdown during delayed works could corrupt communication with
EC and certain I2C controller may not be able to recover from the error
state.

This patch registers a shutdown callback used to cancel the debugfs log
worker thread.

Signed-off-by: default avatarDaniel Hung-yu Wu <hywu@chromium.org>
Signed-off-by: default avatarEnric Balletbo i Serra <enric.balletbo@collabora.com>
Reviewed-by: default avatarAndy Shevchenko <andy.shevchenko@gmail.com>
Signed-off-by: default avatarLee Jones <lee.jones@linaro.org>
parent 95a4d07f
Loading
Loading
Loading
Loading
+9 −0
Original line number Diff line number Diff line
@@ -472,6 +472,14 @@ static int ec_device_remove(struct platform_device *pdev)
	return 0;
}

static void ec_device_shutdown(struct platform_device *pdev)
{
	struct cros_ec_dev *ec = dev_get_drvdata(&pdev->dev);

	/* Be sure to clear up debugfs delayed works */
	cros_ec_debugfs_remove(ec);
}

static const struct platform_device_id cros_ec_id[] = {
	{ DRV_NAME, 0 },
	{ /* sentinel */ },
@@ -514,6 +522,7 @@ static struct platform_driver cros_ec_dev_driver = {
	},
	.probe = ec_device_probe,
	.remove = ec_device_remove,
	.shutdown = ec_device_shutdown,
};

static int __init cros_ec_dev_init(void)