summaryrefslogtreecommitdiffstats
path: root/drivers/power/reset
diff options
context:
space:
mode:
authorAndrew Davis <afd@ti.com>2024-02-12 17:28:18 +0100
committerSebastian Reichel <sebastian.reichel@collabora.com>2024-02-13 02:17:25 +0100
commit11d2642e14ad022de13f261370ccddd33693c045 (patch)
tree9d0fc1c9358b9bce0268fee2ab274f298af27ff9 /drivers/power/reset
parentpower: reset: tps65086-restart: Use devm_register_sys_off_handler(RESTART) (diff)
downloadlinux-11d2642e14ad022de13f261370ccddd33693c045.tar.xz
linux-11d2642e14ad022de13f261370ccddd33693c045.zip
power: reset: tps65086-restart: Remove unneeded device data struct
We only need one member of the struct tps65086_restart, pass that tps65086_restart_notify() directly. Remove that struct and its allocation. Signed-off-by: Andrew Davis <afd@ti.com> Link: https://lore.kernel.org/r/20240212162831.67838-7-afd@ti.com Signed-off-by: Sebastian Reichel <sebastian.reichel@collabora.com>
Diffstat (limited to 'drivers/power/reset')
-rw-r--r--drivers/power/reset/tps65086-restart.c35
1 files changed, 8 insertions, 27 deletions
diff --git a/drivers/power/reset/tps65086-restart.c b/drivers/power/reset/tps65086-restart.c
index 82d7a761a038..6976dbcac74f 100644
--- a/drivers/power/reset/tps65086-restart.c
+++ b/drivers/power/reset/tps65086-restart.c
@@ -9,19 +9,14 @@
#include <linux/platform_device.h>
#include <linux/reboot.h>
-struct tps65086_restart {
- struct device *dev;
-};
-
static int tps65086_restart_notify(struct sys_off_data *data)
{
- struct tps65086_restart *tps65086_restart = data->cb_data;
- struct tps65086 *tps65086 = dev_get_drvdata(tps65086_restart->dev->parent);
+ struct tps65086 *tps65086 = data->cb_data;
int ret;
ret = regmap_write(tps65086->regmap, TPS65086_FORCESHUTDN, 1);
if (ret) {
- dev_err(tps65086_restart->dev, "%s: error writing to tps65086 pmic: %d\n",
+ dev_err(tps65086->dev, "%s: error writing to tps65086 pmic: %d\n",
__func__, ret);
return NOTIFY_DONE;
}
@@ -36,27 +31,13 @@ static int tps65086_restart_notify(struct sys_off_data *data)
static int tps65086_restart_probe(struct platform_device *pdev)
{
- struct tps65086_restart *tps65086_restart;
- int ret;
-
- tps65086_restart = devm_kzalloc(&pdev->dev, sizeof(*tps65086_restart), GFP_KERNEL);
- if (!tps65086_restart)
- return -ENOMEM;
-
- tps65086_restart->dev = &pdev->dev;
-
- ret = devm_register_sys_off_handler(&pdev->dev,
- SYS_OFF_MODE_RESTART,
- SYS_OFF_PRIO_HIGH,
- tps65086_restart_notify,
- tps65086_restart);
- if (ret) {
- dev_err(&pdev->dev, "%s: cannot register restart handler: %d\n",
- __func__, ret);
- return -ENODEV;
- }
+ struct tps65086 *tps65086 = dev_get_drvdata(pdev->dev.parent);
- return 0;
+ return devm_register_sys_off_handler(&pdev->dev,
+ SYS_OFF_MODE_RESTART,
+ SYS_OFF_PRIO_HIGH,
+ tps65086_restart_notify,
+ tps65086);
}
static const struct platform_device_id tps65086_restart_id_table[] = {