From aa4c96b9250c06d07cde145441e391453f87ccb2 Mon Sep 17 00:00:00 2001 From: Rosen Penev Date: Sat, 26 Apr 2025 16:48:12 -0700 Subject: [PATCH] airoha: pwm: use devm Removes the need for a remove function in platform_device. Signed-off-by: Rosen Penev Link: https://github.com/openwrt/openwrt/pull/18660 Signed-off-by: Christian Marangi --- ...8-pwm-airoha-Add-support-for-EN7581-SoC.patch | 16 ++-------------- 1 file changed, 2 insertions(+), 14 deletions(-) diff --git a/target/linux/airoha/patches-6.6/108-pwm-airoha-Add-support-for-EN7581-SoC.patch b/target/linux/airoha/patches-6.6/108-pwm-airoha-Add-support-for-EN7581-SoC.patch index 8f83c696c4f..0b114d5f53b 100644 --- a/target/linux/airoha/patches-6.6/108-pwm-airoha-Add-support-for-EN7581-SoC.patch +++ b/target/linux/airoha/patches-6.6/108-pwm-airoha-Add-support-for-EN7581-SoC.patch @@ -48,7 +48,7 @@ Signed-off-by: Lorenzo Bianconi obj-$(CONFIG_PWM_ATMEL_HLCDC_PWM) += pwm-atmel-hlcdc.o --- /dev/null +++ b/drivers/pwm/pwm-airoha.c -@@ -0,0 +1,400 @@ +@@ -0,0 +1,388 @@ +// SPDX-License-Identifier: GPL-2.0 +/* + * Copyright 2022 Markus Gothe @@ -414,18 +414,7 @@ Signed-off-by: Lorenzo Bianconi + if (IS_ERR(pc->regmap)) + return PTR_ERR(pc->regmap); + -+ platform_set_drvdata(pdev, pc); -+ -+ return pwmchip_add(&pc->chip); -+} -+ -+static int airoha_pwm_remove(struct platform_device *pdev) -+{ -+ struct airoha_pwm *pc = platform_get_drvdata(pdev); -+ -+ pwmchip_remove(&pc->chip); -+ -+ return 0; ++ return devm_pwmchip_add(&pdev->dev, &pc->chip); +} + +static const struct of_device_id airoha_pwm_of_match[] = { @@ -440,7 +429,6 @@ Signed-off-by: Lorenzo Bianconi + .of_match_table = airoha_pwm_of_match, + }, + .probe = airoha_pwm_probe, -+ .remove = airoha_pwm_remove, +}; +module_platform_driver(airoha_pwm_driver); +