devicetree.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Jacek Anaszewski <jacek.anaszewski-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
To: Felix Brack <fb-GovowT2ENgg@public.gmane.org>,
	Pavel Machek <pavel-+ZI9xUNit7I@public.gmane.org>
Cc: rpurdie-Fm38FmjxZ/leoWH0uzbU5w@public.gmane.org,
	mark.rutland-5wv7dgnIgG8@public.gmane.org,
	riku.voipio-X3B1VOXEql0@public.gmane.org,
	linux-leds-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
	devicetree-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
	linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
Subject: Re: [PATCH v2] Extend pca9532 device tree support
Date: Sun, 9 Apr 2017 14:37:42 +0200	[thread overview]
Message-ID: <2f3815ab-71e1-b63d-aba8-167e11f719de@gmail.com> (raw)
In-Reply-To: <ec012568-f540-4e87-d8c4-4065fbcd1c2a-GovowT2ENgg@public.gmane.org>

Hello Felix,

On 04/07/2017 10:22 AM, Felix Brack wrote:
> Hello Jacek,
> 
> On 06.04.2017 21:00, Jacek Anaszewski wrote:
>> Hi Pavel,
>>
>> On 04/06/2017 05:50 PM, Pavel Machek wrote:
>>> Hi!
>>>
>>>>> diff --git a/Documentation/devicetree/bindings/leds/leds-pca9532.txt b/Documentation/devicetree/bindings/leds/leds-pca9532.txt
>>>>> index 198f3ba..8374075 100644
>>>>> --- a/Documentation/devicetree/bindings/leds/leds-pca9532.txt
>>>>> +++ b/Documentation/devicetree/bindings/leds/leds-pca9532.txt
>>>>> @@ -17,6 +17,8 @@ Optional sub-node properties:
>>>>>  	- label: see Documentation/devicetree/bindings/leds/common.txt
>>>>>  	- type: Output configuration, see dt-bindings/leds/leds-pca9532.h (default NONE)
>>>>>  	- linux,default-trigger: see Documentation/devicetree/bindings/leds/common.txt
>>>>> +	- default-state: see Documentation/devicetree/bindings/leds/common.txt
>>>>> +	  This property is only valid for sub-nodes of type <PCA9532_TYPE_LED>.
>>>>>  
>>>>>  Example:
>>>>>    #include <dt-bindings/leds/leds-pca9532.h>
>>>>> @@ -33,6 +35,14 @@ Example:
>>>>>        label = "pca:green:power";
>>>>>        type = <PCA9532_TYPE_LED>;
>>>>>      };
>>>>> +    kernel-booting {
>>>>> +    	type = <PCA9532_TYPE_LED>;
>>>>> +    	default-state = "on";
>>>>> +    };
>>>>> +    sys-stat {
>>>>> +    	type = <PCA9532_TYPE_LED>;
>>>>> +    	default-state = "keep"; // don't touch, was set by U-Boot
>>>>> +    };
>>>>
>>>> Adjusted above indentation to match the preceding lines.
>>>
>>>>> @@ -475,6 +494,16 @@ pca9532_of_populate_pdata(struct device *dev, struct device_node *np)
>>>>>  		of_property_read_u32(child, "type", &pdata->leds[i].type);
>>>>>  		of_property_read_string(child, "linux,default-trigger",
>>>>>  					&pdata->leds[i].default_trigger);
>>>>> +		if (!of_property_read_string(child, "default-state", &state)) {
>>>>> +			if (!strcmp(state, "on"))
>>>>> +				pdata->leds[i].state = PCA9532_ON;
>>>>> +			else if (!strcmp(state, "keep"))
>>>>> +				pdata->leds[i].state = PCA9532_KEEP;
>>>>> +			else if (!strcmp(state, "pwm0"))
>>>>> +				pdata->leds[i].state = PCA9532_PWM0;
>>>>> +			else if (!strcmp(state, "pwm1"))
>>>>> +				pdata->leds[i].state = PCA9532_PWM1;
>>>>> +		}
>>>>>  		if (++i >= maxleds) {
>>>>>  			of_node_put(child);
>>>>>  			break;
>>>
>>> This seems to look for "pwm0" and "pwm1" strings, which do not seem to
>>> be documented.
>>>
>>> Plus... is it useful to have default-state? We already have default
>>> trigger. If we keep the value by default (on PC, we do something like
>>> that) this patch should not be neccessary?
>>
>> Thanks for the heads-up. Dropping the patch for now.
> 
> No, please do not drop the patch.
> 
>> I guess that pwm0/1 got propagated to v2 by an omission.
>>
> 
> Yes, I agree. However the two strings do not break anything and behave
> analog to the 'on' or 'keep' string. Though this code could be removed
> if absolutely necessary. An alternative would be to add a description
> for the strings. Just to be clear: these strings have nothing to with
> the exposition of device specific registers to the DT.
> 
>> Regarding default-on: Felix, do you have any use case that require
>> default-on set to "keep"?
>>
> 
> This patch is not about 'default-on' which is a value that could be
> assigned to the property 'linux,default-trigger' (according to DT
> bindings documentation file 'common.txt').
> My patch does not introduce anything new with the'keep' state, it rather
> completes the existing bindings according to the description in
> Documentation/devicetree/bindings/leds/common.txt which states:
> 
> ....
> - default-state : The initial state of the LED. Valid values are "on",
> "off", and "keep". If the LED is already on or off and the default-state
> property is set the to same value, then no glitch should be produced
> where the LED momentarily turns off (or on). The "keep" setting will
> keep the LED at whatever its current state is, without producing a
> glitch.  The default is off if this property is not present.
> ....
> 
> One of my use cases is to turn a LED on by U-Boot. This LED must remain
> on until eventually, under certain conditions, some userland code
> changes it's state.
> Setting 'default-state' to 'keep' is how you can sort of tell the
> kernel, or better the driver, 'not to initialize the LED' which would
> turn it off.

Thanks for the explanation. Could you please sent v3 with removed pwm*
cases then?

-- 
Best regards,
Jacek Anaszewski
--
To unsubscribe from this list: send the line "unsubscribe devicetree" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

  parent reply	other threads:[~2017-04-09 12:37 UTC|newest]

Thread overview: 8+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-03-30 13:33 [PATCH v2] Extend pca9532 device tree support Felix Brack
2017-04-02 14:41 ` Jacek Anaszewski
     [not found]   ` <b54c77d5-b4f7-9517-8c5b-9200c766204a-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2017-04-06 15:50     ` Pavel Machek
2017-04-06 19:00       ` Jacek Anaszewski
     [not found]         ` <a8509d26-6e35-e2f7-9784-90f3c54accbf-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2017-04-07  8:22           ` Felix Brack
     [not found]             ` <ec012568-f540-4e87-d8c4-4065fbcd1c2a-GovowT2ENgg@public.gmane.org>
2017-04-07 11:57               ` default-state LED property (was Re: [PATCH v2] Extend pca9532 device tree support) Pavel Machek
2017-04-09 12:37               ` Jacek Anaszewski [this message]
     [not found]                 ` <2f3815ab-71e1-b63d-aba8-167e11f719de-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2017-04-09 13:11                   ` [PATCH v2] Extend pca9532 device tree support Felix Brack

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=2f3815ab-71e1-b63d-aba8-167e11f719de@gmail.com \
    --to=jacek.anaszewski-re5jqeeqqe8avxtiumwx3w@public.gmane.org \
    --cc=devicetree-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
    --cc=fb-GovowT2ENgg@public.gmane.org \
    --cc=linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
    --cc=linux-leds-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
    --cc=mark.rutland-5wv7dgnIgG8@public.gmane.org \
    --cc=pavel-+ZI9xUNit7I@public.gmane.org \
    --cc=riku.voipio-X3B1VOXEql0@public.gmane.org \
    --cc=rpurdie-Fm38FmjxZ/leoWH0uzbU5w@public.gmane.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 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).