All of lore.kernel.org
 help / color / mirror / Atom feed
From: Biju Das <biju.das.jz@bp.renesas.com>
To: cip-dev@lists.cip-project.org,
	Nobuhiro Iwamatsu <nobuhiro1.iwamatsu@toshiba.co.jp>,
	Pavel Machek <pavel@denx.de>
Cc: Biju Das <biju.das.jz@bp.renesas.com>,
	Fabrizio Castro <fabrizio.castro.jz@renesas.com>
Subject: [PATCH 5.10.y-cip v2 07/13] pwm: Add a device-managed function to add PWM chips
Date: Thu, 20 Jul 2023 11:03:44 +0100	[thread overview]
Message-ID: <20230720100350.247386-8-biju.das.jz@bp.renesas.com> (raw)
In-Reply-To: <20230720100350.247386-1-biju.das.jz@bp.renesas.com>

From: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>

commit bcda91bf86c1ff7647df85029d69f2aed80f210e upstream.

This potentially simplifies low-level PWM drivers.

Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
Signed-off-by: Thierry Reding <thierry.reding@gmail.com>
Signed-off-by: Biju Das <biju.das.jz@bp.renesas.com>
---
 drivers/pwm/core.c  | 19 +++++++++++++++++++
 include/linux/pwm.h |  3 +++
 2 files changed, 22 insertions(+)

diff --git a/drivers/pwm/core.c b/drivers/pwm/core.c
index 1f16f5365d3c..4817df38086b 100644
--- a/drivers/pwm/core.c
+++ b/drivers/pwm/core.c
@@ -383,6 +383,25 @@ int pwmchip_remove(struct pwm_chip *chip)
 }
 EXPORT_SYMBOL_GPL(pwmchip_remove);
 
+static void devm_pwmchip_remove(void *data)
+{
+	struct pwm_chip *chip = data;
+
+	pwmchip_remove(chip);
+}
+
+int devm_pwmchip_add(struct device *dev, struct pwm_chip *chip)
+{
+	int ret;
+
+	ret = pwmchip_add(chip);
+	if (ret)
+		return ret;
+
+	return devm_add_action_or_reset(dev, devm_pwmchip_remove, chip);
+}
+EXPORT_SYMBOL_GPL(devm_pwmchip_add);
+
 /**
  * pwm_request() - request a PWM device
  * @pwm: global PWM device index
diff --git a/include/linux/pwm.h b/include/linux/pwm.h
index a13ff383fa1d..a28b3e1e50b9 100644
--- a/include/linux/pwm.h
+++ b/include/linux/pwm.h
@@ -396,6 +396,9 @@ int pwmchip_add_with_polarity(struct pwm_chip *chip,
 			      enum pwm_polarity polarity);
 int pwmchip_add(struct pwm_chip *chip);
 int pwmchip_remove(struct pwm_chip *chip);
+
+int devm_pwmchip_add(struct device *dev, struct pwm_chip *chip);
+
 struct pwm_device *pwm_request_from_chip(struct pwm_chip *chip,
 					 unsigned int index,
 					 const char *label);
-- 
2.25.1



  parent reply	other threads:[~2023-07-20 10:04 UTC|newest]

Thread overview: 18+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-07-20 10:03 [PATCH 5.10.y-cip v2 00/13] Add RZ/{G2L,G2LC,V2L} MTU3 support Biju Das
2023-07-20 10:03 ` [PATCH 5.10.y-cip v2 01/13] arm64: dts: renesas: rzg2l-smarc: Use proper bool operator Biju Das
2023-07-20 10:03 ` [PATCH 5.10.y-cip v2 02/13] arm64: dts: renesas: rzg2lc-smarc: Include SoM DTSI into board DTS Biju Das
2023-07-20 10:03 ` [PATCH 5.10.y-cip v2 03/13] clk: renesas: r9a07g044: Add MTU3a clock and reset entry Biju Das
2023-07-20 10:03 ` [PATCH 5.10.y-cip v2 04/13] dt-bindings: timer: Document RZ/G2L MTU3a bindings Biju Das
2023-07-20 10:03 ` [PATCH 5.10.y-cip v2 05/13] mfd: Add Renesas RZ/G2L MTU3a core driver Biju Das
2023-07-20 10:03 ` [PATCH 5.10.y-cip v2 06/13] arm64: defconfig: Enable Renesas MTU3a counter config Biju Das
2023-07-20 10:03 ` Biju Das [this message]
2023-07-20 10:03 ` [PATCH 5.10.y-cip v2 08/13] pwm: Add Renesas RZ/G2L MTU3a PWM driver Biju Das
2023-07-20 10:03 ` [PATCH 5.10.y-cip v2 09/13] arm64: dts: renesas: r9a07g044: Add MTU3a node Biju Das
2023-07-20 10:03 ` [PATCH 5.10.y-cip v2 10/13] arm64: dts: renesas: r9a07g054: " Biju Das
2023-07-20 10:03 ` [PATCH 5.10.y-cip v2 11/13] arm64: dts: renesas: rzg2l-smarc: Add support for enabling MTU3 Biju Das
2023-07-20 10:03 ` [PATCH 5.10.y-cip v2 12/13] arm64: dts: renesas: rzg2lc-smarc: " Biju Das
2023-07-20 10:03 ` [PATCH 5.10.y-cip v2 13/13] arm64: defconfig: Enable Renesas MTU3a PWM config Biju Das
2023-07-20 17:53 ` [PATCH 5.10.y-cip v2 00/13] Add RZ/{G2L,G2LC,V2L} MTU3 support Pavel Machek
2023-08-09  1:58   ` [cip-dev] " nobuhiro1.iwamatsu
2023-08-09  6:28     ` Biju Das
2023-08-09  6:33       ` nobuhiro1.iwamatsu

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20230720100350.247386-8-biju.das.jz@bp.renesas.com \
    --to=biju.das.jz@bp.renesas.com \
    --cc=cip-dev@lists.cip-project.org \
    --cc=fabrizio.castro.jz@renesas.com \
    --cc=nobuhiro1.iwamatsu@toshiba.co.jp \
    --cc=pavel@denx.de \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.