All of lore.kernel.org
 help / color / mirror / Atom feed
From: Alexander Dahl <post@lespocky.de>
To: linux-leds@vger.kernel.org, devicetree@vger.kernel.org,
	linux-kernel@vger.kernel.org,
	linux-arm-kernel@lists.infradead.org,
	linux-samsung-soc@vger.kernel.org, linux-omap@vger.kernel.org,
	linux-stm32@st-md-mailman.stormreply.com,
	linux-amlogic@lists.infradead.org, linux-mips@vger.kernel.org
Cc: "Pavel Machek" <pavel@ucw.cz>, "Dan Murphy" <dmurphy@ti.com>,
	"Rob Herring" <robh+dt@kernel.org>,
	"Alexander Dahl" <ada@thorsis.com>,
	"Peter Ujfalusi" <peter.ujfalusi@ti.com>,
	"Jacek Anaszewski" <jacek.anaszewski@gmail.com>,
	"Alexander Dahl" <post@lespocky.de>,
	"Denis Osterland-Heim" <denis.osterland@diehl.com>,
	"Marek Behún" <marek.behun@nic.cz>
Subject: [PATCH v6 1/7] leds: pwm: Remove platform_data support
Date: Thu,  1 Oct 2020 01:46:31 +0200	[thread overview]
Message-ID: <20200930234637.7573-2-post@lespocky.de> (raw)
In-Reply-To: <20200930234637.7573-1-post@lespocky.de>

Since commit 141f15c66d94 ("leds: pwm: remove header") that platform
interface is not usable from outside and there seems to be no in tree
user anymore.  All in-tree users of the leds-pwm driver seem to use DT
currently.  Getting rid of the old platform interface allows the
leds-pwm driver to switch over from 'devm_led_classdev_register()' to
'devm_led_classdev_register_ext()'.

Signed-off-by: Alexander Dahl <post@lespocky.de>
Cc: Denis Osterland-Heim <denis.osterland@diehl.com>
Reviewed-by: Marek Behún <marek.behun@nic.cz>
---

Notes:
    v5 -> v6:
      * added Reviewed-by from Marek
      * minimal commit message rewording, because a later patch was
        already applied
    
    v5:
      * added this patch to series (replacing another patch with a not
        working, different approach)
    
    v5:
     * added this patch to series (replacing another patch with a not
       working, different approach)

 drivers/leds/leds-pwm.c | 30 +++++-------------------------
 1 file changed, 5 insertions(+), 25 deletions(-)

diff --git a/drivers/leds/leds-pwm.c b/drivers/leds/leds-pwm.c
index 2a16ae0bf022..f53f9309ca6c 100644
--- a/drivers/leds/leds-pwm.c
+++ b/drivers/leds/leds-pwm.c
@@ -24,11 +24,6 @@ struct led_pwm {
 	unsigned int	max_brightness;
 };
 
-struct led_pwm_platform_data {
-	int		num_leds;
-	struct led_pwm	*leds;
-};
-
 struct led_pwm_data {
 	struct led_classdev	cdev;
 	struct pwm_device	*pwm;
@@ -60,6 +55,7 @@ static int led_pwm_set(struct led_classdev *led_cdev,
 	return pwm_apply_state(led_dat->pwm, &led_dat->pwmstate);
 }
 
+__attribute__((nonnull))
 static int led_pwm_add(struct device *dev, struct led_pwm_priv *priv,
 		       struct led_pwm *led, struct fwnode_handle *fwnode)
 {
@@ -73,10 +69,7 @@ static int led_pwm_add(struct device *dev, struct led_pwm_priv *priv,
 	led_data->cdev.max_brightness = led->max_brightness;
 	led_data->cdev.flags = LED_CORE_SUSPENDRESUME;
 
-	if (fwnode)
-		led_data->pwm = devm_fwnode_pwm_get(dev, fwnode, NULL);
-	else
-		led_data->pwm = devm_pwm_get(dev, led->name);
+	led_data->pwm = devm_fwnode_pwm_get(dev, fwnode, NULL);
 	if (IS_ERR(led_data->pwm))
 		return dev_err_probe(dev, PTR_ERR(led_data->pwm),
 				     "unable to request PWM for %s\n",
@@ -139,15 +132,11 @@ static int led_pwm_create_fwnode(struct device *dev, struct led_pwm_priv *priv)
 
 static int led_pwm_probe(struct platform_device *pdev)
 {
-	struct led_pwm_platform_data *pdata = dev_get_platdata(&pdev->dev);
 	struct led_pwm_priv *priv;
-	int count, i;
 	int ret = 0;
+	int count;
 
-	if (pdata)
-		count = pdata->num_leds;
-	else
-		count = device_get_child_node_count(&pdev->dev);
+	count = device_get_child_node_count(&pdev->dev);
 
 	if (!count)
 		return -EINVAL;
@@ -157,16 +146,7 @@ static int led_pwm_probe(struct platform_device *pdev)
 	if (!priv)
 		return -ENOMEM;
 
-	if (pdata) {
-		for (i = 0; i < count; i++) {
-			ret = led_pwm_add(&pdev->dev, priv, &pdata->leds[i],
-					  NULL);
-			if (ret)
-				break;
-		}
-	} else {
-		ret = led_pwm_create_fwnode(&pdev->dev, priv);
-	}
+	ret = led_pwm_create_fwnode(&pdev->dev, priv);
 
 	if (ret)
 		return ret;
-- 
2.20.1


WARNING: multiple messages have this Message-ID (diff)
From: Alexander Dahl <post@lespocky.de>
To: linux-leds@vger.kernel.org, devicetree@vger.kernel.org,
	linux-kernel@vger.kernel.org,
	linux-arm-kernel@lists.infradead.org,
	linux-samsung-soc@vger.kernel.org, linux-omap@vger.kernel.org,
	linux-stm32@st-md-mailman.stormreply.com,
	linux-amlogic@lists.infradead.org, linux-mips@vger.kernel.org
Cc: "Alexander Dahl" <ada@thorsis.com>,
	"Marek Behún" <marek.behun@nic.cz>,
	"Peter Ujfalusi" <peter.ujfalusi@ti.com>,
	"Denis Osterland-Heim" <denis.osterland@diehl.com>,
	"Rob Herring" <robh+dt@kernel.org>, "Dan Murphy" <dmurphy@ti.com>,
	"Pavel Machek" <pavel@ucw.cz>,
	"Alexander Dahl" <post@lespocky.de>,
	"Jacek Anaszewski" <jacek.anaszewski@gmail.com>
Subject: [PATCH v6 1/7] leds: pwm: Remove platform_data support
Date: Thu,  1 Oct 2020 01:46:31 +0200	[thread overview]
Message-ID: <20200930234637.7573-2-post@lespocky.de> (raw)
In-Reply-To: <20200930234637.7573-1-post@lespocky.de>

Since commit 141f15c66d94 ("leds: pwm: remove header") that platform
interface is not usable from outside and there seems to be no in tree
user anymore.  All in-tree users of the leds-pwm driver seem to use DT
currently.  Getting rid of the old platform interface allows the
leds-pwm driver to switch over from 'devm_led_classdev_register()' to
'devm_led_classdev_register_ext()'.

Signed-off-by: Alexander Dahl <post@lespocky.de>
Cc: Denis Osterland-Heim <denis.osterland@diehl.com>
Reviewed-by: Marek Behún <marek.behun@nic.cz>
---

Notes:
    v5 -> v6:
      * added Reviewed-by from Marek
      * minimal commit message rewording, because a later patch was
        already applied
    
    v5:
      * added this patch to series (replacing another patch with a not
        working, different approach)
    
    v5:
     * added this patch to series (replacing another patch with a not
       working, different approach)

 drivers/leds/leds-pwm.c | 30 +++++-------------------------
 1 file changed, 5 insertions(+), 25 deletions(-)

diff --git a/drivers/leds/leds-pwm.c b/drivers/leds/leds-pwm.c
index 2a16ae0bf022..f53f9309ca6c 100644
--- a/drivers/leds/leds-pwm.c
+++ b/drivers/leds/leds-pwm.c
@@ -24,11 +24,6 @@ struct led_pwm {
 	unsigned int	max_brightness;
 };
 
-struct led_pwm_platform_data {
-	int		num_leds;
-	struct led_pwm	*leds;
-};
-
 struct led_pwm_data {
 	struct led_classdev	cdev;
 	struct pwm_device	*pwm;
@@ -60,6 +55,7 @@ static int led_pwm_set(struct led_classdev *led_cdev,
 	return pwm_apply_state(led_dat->pwm, &led_dat->pwmstate);
 }
 
+__attribute__((nonnull))
 static int led_pwm_add(struct device *dev, struct led_pwm_priv *priv,
 		       struct led_pwm *led, struct fwnode_handle *fwnode)
 {
@@ -73,10 +69,7 @@ static int led_pwm_add(struct device *dev, struct led_pwm_priv *priv,
 	led_data->cdev.max_brightness = led->max_brightness;
 	led_data->cdev.flags = LED_CORE_SUSPENDRESUME;
 
-	if (fwnode)
-		led_data->pwm = devm_fwnode_pwm_get(dev, fwnode, NULL);
-	else
-		led_data->pwm = devm_pwm_get(dev, led->name);
+	led_data->pwm = devm_fwnode_pwm_get(dev, fwnode, NULL);
 	if (IS_ERR(led_data->pwm))
 		return dev_err_probe(dev, PTR_ERR(led_data->pwm),
 				     "unable to request PWM for %s\n",
@@ -139,15 +132,11 @@ static int led_pwm_create_fwnode(struct device *dev, struct led_pwm_priv *priv)
 
 static int led_pwm_probe(struct platform_device *pdev)
 {
-	struct led_pwm_platform_data *pdata = dev_get_platdata(&pdev->dev);
 	struct led_pwm_priv *priv;
-	int count, i;
 	int ret = 0;
+	int count;
 
-	if (pdata)
-		count = pdata->num_leds;
-	else
-		count = device_get_child_node_count(&pdev->dev);
+	count = device_get_child_node_count(&pdev->dev);
 
 	if (!count)
 		return -EINVAL;
@@ -157,16 +146,7 @@ static int led_pwm_probe(struct platform_device *pdev)
 	if (!priv)
 		return -ENOMEM;
 
-	if (pdata) {
-		for (i = 0; i < count; i++) {
-			ret = led_pwm_add(&pdev->dev, priv, &pdata->leds[i],
-					  NULL);
-			if (ret)
-				break;
-		}
-	} else {
-		ret = led_pwm_create_fwnode(&pdev->dev, priv);
-	}
+	ret = led_pwm_create_fwnode(&pdev->dev, priv);
 
 	if (ret)
 		return ret;
-- 
2.20.1


_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

WARNING: multiple messages have this Message-ID (diff)
From: Alexander Dahl <post@lespocky.de>
To: linux-leds@vger.kernel.org, devicetree@vger.kernel.org,
	linux-kernel@vger.kernel.org,
	linux-arm-kernel@lists.infradead.org,
	linux-samsung-soc@vger.kernel.org, linux-omap@vger.kernel.org,
	linux-stm32@st-md-mailman.stormreply.com,
	linux-amlogic@lists.infradead.org, linux-mips@vger.kernel.org
Cc: "Alexander Dahl" <ada@thorsis.com>,
	"Marek Behún" <marek.behun@nic.cz>,
	"Peter Ujfalusi" <peter.ujfalusi@ti.com>,
	"Denis Osterland-Heim" <denis.osterland@diehl.com>,
	"Rob Herring" <robh+dt@kernel.org>, "Dan Murphy" <dmurphy@ti.com>,
	"Pavel Machek" <pavel@ucw.cz>,
	"Alexander Dahl" <post@lespocky.de>,
	"Jacek Anaszewski" <jacek.anaszewski@gmail.com>
Subject: [PATCH v6 1/7] leds: pwm: Remove platform_data support
Date: Thu,  1 Oct 2020 01:46:31 +0200	[thread overview]
Message-ID: <20200930234637.7573-2-post@lespocky.de> (raw)
In-Reply-To: <20200930234637.7573-1-post@lespocky.de>

Since commit 141f15c66d94 ("leds: pwm: remove header") that platform
interface is not usable from outside and there seems to be no in tree
user anymore.  All in-tree users of the leds-pwm driver seem to use DT
currently.  Getting rid of the old platform interface allows the
leds-pwm driver to switch over from 'devm_led_classdev_register()' to
'devm_led_classdev_register_ext()'.

Signed-off-by: Alexander Dahl <post@lespocky.de>
Cc: Denis Osterland-Heim <denis.osterland@diehl.com>
Reviewed-by: Marek Behún <marek.behun@nic.cz>
---

Notes:
    v5 -> v6:
      * added Reviewed-by from Marek
      * minimal commit message rewording, because a later patch was
        already applied
    
    v5:
      * added this patch to series (replacing another patch with a not
        working, different approach)
    
    v5:
     * added this patch to series (replacing another patch with a not
       working, different approach)

 drivers/leds/leds-pwm.c | 30 +++++-------------------------
 1 file changed, 5 insertions(+), 25 deletions(-)

diff --git a/drivers/leds/leds-pwm.c b/drivers/leds/leds-pwm.c
index 2a16ae0bf022..f53f9309ca6c 100644
--- a/drivers/leds/leds-pwm.c
+++ b/drivers/leds/leds-pwm.c
@@ -24,11 +24,6 @@ struct led_pwm {
 	unsigned int	max_brightness;
 };
 
-struct led_pwm_platform_data {
-	int		num_leds;
-	struct led_pwm	*leds;
-};
-
 struct led_pwm_data {
 	struct led_classdev	cdev;
 	struct pwm_device	*pwm;
@@ -60,6 +55,7 @@ static int led_pwm_set(struct led_classdev *led_cdev,
 	return pwm_apply_state(led_dat->pwm, &led_dat->pwmstate);
 }
 
+__attribute__((nonnull))
 static int led_pwm_add(struct device *dev, struct led_pwm_priv *priv,
 		       struct led_pwm *led, struct fwnode_handle *fwnode)
 {
@@ -73,10 +69,7 @@ static int led_pwm_add(struct device *dev, struct led_pwm_priv *priv,
 	led_data->cdev.max_brightness = led->max_brightness;
 	led_data->cdev.flags = LED_CORE_SUSPENDRESUME;
 
-	if (fwnode)
-		led_data->pwm = devm_fwnode_pwm_get(dev, fwnode, NULL);
-	else
-		led_data->pwm = devm_pwm_get(dev, led->name);
+	led_data->pwm = devm_fwnode_pwm_get(dev, fwnode, NULL);
 	if (IS_ERR(led_data->pwm))
 		return dev_err_probe(dev, PTR_ERR(led_data->pwm),
 				     "unable to request PWM for %s\n",
@@ -139,15 +132,11 @@ static int led_pwm_create_fwnode(struct device *dev, struct led_pwm_priv *priv)
 
 static int led_pwm_probe(struct platform_device *pdev)
 {
-	struct led_pwm_platform_data *pdata = dev_get_platdata(&pdev->dev);
 	struct led_pwm_priv *priv;
-	int count, i;
 	int ret = 0;
+	int count;
 
-	if (pdata)
-		count = pdata->num_leds;
-	else
-		count = device_get_child_node_count(&pdev->dev);
+	count = device_get_child_node_count(&pdev->dev);
 
 	if (!count)
 		return -EINVAL;
@@ -157,16 +146,7 @@ static int led_pwm_probe(struct platform_device *pdev)
 	if (!priv)
 		return -ENOMEM;
 
-	if (pdata) {
-		for (i = 0; i < count; i++) {
-			ret = led_pwm_add(&pdev->dev, priv, &pdata->leds[i],
-					  NULL);
-			if (ret)
-				break;
-		}
-	} else {
-		ret = led_pwm_create_fwnode(&pdev->dev, priv);
-	}
+	ret = led_pwm_create_fwnode(&pdev->dev, priv);
 
 	if (ret)
 		return ret;
-- 
2.20.1


_______________________________________________
linux-amlogic mailing list
linux-amlogic@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-amlogic

  reply	other threads:[~2020-09-30 23:47 UTC|newest]

Thread overview: 60+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-09-30 23:46 [PATCH v6 0/7] leds: pwm: Make automatic labels work Alexander Dahl
2020-09-30 23:46 ` Alexander Dahl
2020-09-30 23:46 ` Alexander Dahl
2020-09-30 23:46 ` Alexander Dahl [this message]
2020-09-30 23:46   ` [PATCH v6 1/7] leds: pwm: Remove platform_data support Alexander Dahl
2020-09-30 23:46   ` Alexander Dahl
2020-09-30 23:46 ` [PATCH v6 2/7] dt-bindings: leds: Convert pwm to yaml Alexander Dahl
2020-09-30 23:46   ` Alexander Dahl
2020-09-30 23:46   ` Alexander Dahl
2020-10-02  9:31   ` Krzysztof Kozlowski
2020-10-02  9:31     ` Krzysztof Kozlowski
2020-10-02  9:31     ` Krzysztof Kozlowski
2020-10-02 10:46     ` Alexander Dahl
2020-10-02 10:46       ` Alexander Dahl
2020-10-02 10:46       ` Alexander Dahl
2020-10-02 10:52       ` Krzysztof Kozlowski
2020-10-02 10:52         ` Krzysztof Kozlowski
2020-10-02 10:52         ` Krzysztof Kozlowski
2020-10-05 13:51   ` Rob Herring
2020-10-05 13:51     ` Rob Herring
2020-10-05 13:51     ` Rob Herring
2020-10-05 13:54   ` Rob Herring
2020-10-05 13:54     ` Rob Herring
2020-10-05 13:54     ` Rob Herring
2020-09-30 23:46 ` [PATCH v6 3/7] dt-bindings: mfd: Fix schema warnings for pwm-leds Alexander Dahl
2020-09-30 23:46   ` Alexander Dahl
2020-09-30 23:46   ` Alexander Dahl
2020-10-02  9:21   ` Krzysztof Kozlowski
2020-10-02  9:21     ` Krzysztof Kozlowski
2020-10-02  9:21     ` Krzysztof Kozlowski
2020-10-02 10:07     ` Alexander Dahl
2020-10-02 10:07       ` Alexander Dahl
2020-10-02 10:07       ` Alexander Dahl
2020-10-02 10:12       ` Krzysztof Kozlowski
2020-10-02 10:12         ` Krzysztof Kozlowski
2020-10-02 10:12         ` Krzysztof Kozlowski
2020-09-30 23:46 ` [PATCH v6 4/7] ARM: dts: at91: smartkiz: Reference led node directly Alexander Dahl
2020-09-30 23:46   ` Alexander Dahl
2020-09-30 23:46   ` Alexander Dahl
2020-09-30 23:46 ` [PATCH v6 5/7] ARM: dts: Fix schema warnings for pwm-leds Alexander Dahl
2020-09-30 23:46   ` Alexander Dahl
2020-09-30 23:46   ` Alexander Dahl
2020-10-02  9:12   ` Krzysztof Kozlowski
2020-10-02  9:12     ` Krzysztof Kozlowski
2020-10-02  9:12     ` Krzysztof Kozlowski
2020-10-02  9:27     ` Alexander Dahl
2020-10-02  9:27       ` Alexander Dahl
2020-10-02  9:27       ` Alexander Dahl
2020-10-02 10:06       ` Krzysztof Kozlowski
2020-10-02 10:06         ` Krzysztof Kozlowski
2020-10-02 10:06         ` Krzysztof Kozlowski
2020-09-30 23:46 ` [PATCH v6 6/7] arm64: dts: meson: " Alexander Dahl
2020-09-30 23:46   ` Alexander Dahl
2020-09-30 23:46   ` Alexander Dahl
2020-10-02  9:23   ` Neil Armstrong
2020-10-02  9:23     ` Neil Armstrong
2020-10-02  9:23     ` Neil Armstrong
2020-09-30 23:46 ` [PATCH v6 7/7] MIPS: DTS: img: " Alexander Dahl
2020-09-30 23:46   ` Alexander Dahl
2020-09-30 23:46   ` Alexander Dahl

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=20200930234637.7573-2-post@lespocky.de \
    --to=post@lespocky.de \
    --cc=ada@thorsis.com \
    --cc=denis.osterland@diehl.com \
    --cc=devicetree@vger.kernel.org \
    --cc=dmurphy@ti.com \
    --cc=jacek.anaszewski@gmail.com \
    --cc=linux-amlogic@lists.infradead.org \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-leds@vger.kernel.org \
    --cc=linux-mips@vger.kernel.org \
    --cc=linux-omap@vger.kernel.org \
    --cc=linux-samsung-soc@vger.kernel.org \
    --cc=linux-stm32@st-md-mailman.stormreply.com \
    --cc=marek.behun@nic.cz \
    --cc=pavel@ucw.cz \
    --cc=peter.ujfalusi@ti.com \
    --cc=robh+dt@kernel.org \
    /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.