Messages in this thread Patch in this message |  | | From | Enric Balletbo i Serra <> | Subject | [PATCH v5 6/8] mfd: cros_ec_dev: register shutdown function for debugfs | Date | Thu, 5 Apr 2018 13:33:11 +0200 |
| |
From: Daniel Hung-yu Wu <hywu@google.com>
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: Daniel Hung-yu Wu <hywu@chromium.org> Signed-off-by: Enric Balletbo i Serra <enric.balletbo@collabora.com> Reviewed-by: Andy Shevchenko <andy.shevchenko@gmail.com> Acked-by: Lee Jones <lee.jones@linaro.org> ---
Changes in v5: None Changes in v4: - [6/8] Add Acked-by Lee Jones.
Changes in v3: - [6/8] Add the Reviewed-by Andy Shevchenko.
Changes in v2: - [6/8] This patch is new in this series.
drivers/mfd/cros_ec_dev.c | 9 +++++++++ 1 file changed, 9 insertions(+)
diff --git a/drivers/mfd/cros_ec_dev.c b/drivers/mfd/cros_ec_dev.c index 535ffa3cf497..8f51b115f478 100644 --- a/drivers/mfd/cros_ec_dev.c +++ b/drivers/mfd/cros_ec_dev.c @@ -543,6 +543,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 */ }, @@ -585,6 +593,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) -- 2.16.3
|  |