devicetree.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Pavel Machek <pavel@ucw.cz>
To: Sakari Ailus <sakari.ailus@linux.intel.com>
Cc: linux-media@vger.kernel.org, linux-leds@vger.kernel.org,
	devicetree@vger.kernel.org
Subject: Re: [PATCH 3/3] as3645a: Use integer numbers for parsing LEDs
Date: Fri, 8 Sep 2017 15:17:58 +0200	[thread overview]
Message-ID: <20170908131758.GQ18365@amd> (raw)
In-Reply-To: <20170908124213.18904-4-sakari.ailus@linux.intel.com>

[-- Attachment #1: Type: text/plain, Size: 3020 bytes --]

On Fri 2017-09-08 15:42:13, Sakari Ailus wrote:
> Use integer numbers for LEDs, 0 is the flash and 1 is the indicator.
> 
> Signed-off-by: Sakari Ailus <sakari.ailus@linux.intel.com>

Dunno. Old code is shorter, old device tree is shorter, ... IMO both
versions are fine, because the LEDs are really different. Do we have
documentation somewhere saying that reg= should be used for this? Are
you doing this for consistency?

Best regards,
									Pavel

>  arch/arm/boot/dts/omap3-n950-n9.dtsi |  8 ++++++--
>  drivers/leds/leds-as3645a.c          | 26 ++++++++++++++++++++++++--


> @@ -267,15 +267,19 @@
>  	clock-frequency = <400000>;
>  
>  	as3645a@30 {
> +		#address-cells = <1>;
> +		#size-cells = <0>;
>  		reg = <0x30>;
>  		compatible = "ams,as3645a";
> -		flash {
> +		flash@0 {
> +			reg = <0x0>;
>  			flash-timeout-us = <150000>;
>  			flash-max-microamp = <320000>;
>  			led-max-microamp = <60000>;
>  			ams,input-max-microamp = <1750000>;
>  		};
> -		indicator {
> +		indicator@1 {
> +			reg = <0x1>;
>  			led-max-microamp = <10000>;
>  		};
>  	};
> diff --git a/drivers/leds/leds-as3645a.c b/drivers/leds/leds-as3645a.c
> index e3f89c6130d2..605e0c64e974 100644
> --- a/drivers/leds/leds-as3645a.c
> +++ b/drivers/leds/leds-as3645a.c
> @@ -112,6 +112,10 @@
>  #define AS_PEAK_mA_TO_REG(a) \
>  	((min_t(u32, AS_PEAK_mA_MAX, a) - 1250) / 250)
>  
> +/* LED numbers for Devicetree */
> +#define AS_LED_FLASH				0
> +#define AS_LED_INDICATOR			1
> +
>  enum as_mode {
>  	AS_MODE_EXT_TORCH = 0 << AS_CONTROL_MODE_SETTING_SHIFT,
>  	AS_MODE_INDICATOR = 1 << AS_CONTROL_MODE_SETTING_SHIFT,
> @@ -491,10 +495,29 @@ static int as3645a_parse_node(struct as3645a *flash,
>  			      struct device_node *node)
>  {
>  	struct as3645a_config *cfg = &flash->cfg;
> +	struct device_node *child;
>  	const char *name;
>  	int rval;
>  
> -	flash->flash_node = of_get_child_by_name(node, "flash");
> +	for_each_child_of_node(node, child) {
> +		u32 id = 0;
> +
> +		of_property_read_u32(child, "reg", &id);
> +
> +		switch (id) {
> +		case AS_LED_FLASH:
> +			flash->flash_node = of_node_get(child);
> +			break;
> +		case AS_LED_INDICATOR:
> +			flash->indicator_node = of_node_get(child);
> +			break;
> +		default:
> +			dev_warn(&flash->client->dev,
> +				 "unknown LED %u encountered, ignoring\n", id);
> +			break;
> +		}
> +	}
> +
>  	if (!flash->flash_node) {
>  		dev_err(&flash->client->dev, "can't find flash node\n");
>  		return -ENODEV;
> @@ -538,7 +561,6 @@ static int as3645a_parse_node(struct as3645a *flash,
>  			     &cfg->peak);
>  	cfg->peak = AS_PEAK_mA_TO_REG(cfg->peak);
>  
> -	flash->indicator_node = of_get_child_by_name(node, "indicator");
>  	if (!flash->indicator_node) {
>  		dev_warn(&flash->client->dev,
>  			 "can't find indicator node\n");

-- 
(english) http://www.livejournal.com/~pavelmachek
(cesky, pictures) http://atrey.karlin.mff.cuni.cz/~pavel/picture/horses/blog.html

[-- Attachment #2: Digital signature --]
[-- Type: application/pgp-signature, Size: 181 bytes --]

  reply	other threads:[~2017-09-08 13:17 UTC|newest]

Thread overview: 11+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-09-08 12:42 [PATCH 0/3] AS3645A fixes Sakari Ailus
     [not found] ` <20170908124213.18904-1-sakari.ailus-VuQAYsv1563Yd54FQh9/CA@public.gmane.org>
2017-09-08 12:42   ` [PATCH 1/3] as3645a: Use ams,input-max-microamp as documented in DT bindings Sakari Ailus
2017-09-08 13:14     ` Pavel Machek
2017-09-08 12:42   ` [PATCH 3/3] as3645a: Use integer numbers for parsing LEDs Sakari Ailus
2017-09-08 13:17     ` Pavel Machek [this message]
2017-09-08 13:23       ` Sakari Ailus
2017-09-08 13:38         ` Pavel Machek
2017-09-08 13:45           ` Sakari Ailus
2017-09-08 12:42 ` [PATCH 2/3] dt: bindings: as3645a: Use LED number to refer to LEDs Sakari Ailus
2017-09-13 20:28   ` Rob Herring
2017-09-08 19:51 ` [PATCH 0/3] AS3645A fixes Jacek Anaszewski

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=20170908131758.GQ18365@amd \
    --to=pavel@ucw.cz \
    --cc=devicetree@vger.kernel.org \
    --cc=linux-leds@vger.kernel.org \
    --cc=linux-media@vger.kernel.org \
    --cc=sakari.ailus@linux.intel.com \
    /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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).