Re: [PATCH 1/2] pinctrl: palmas: do not abort pin configuration forBIAS_DEFAULT

From: Laxman Dewangan
Date: Sat Sep 28 2013 - 07:15:24 EST


On Friday 27 September 2013 09:36 PM, Stephen Warren wrote:
On 09/27/2013 07:30 AM, Laxman Dewangan wrote:
On Thursday 26 September 2013 09:08 PM, Stephen Warren wrote:
On 09/26/2013 06:48 AM, Laxman Dewangan wrote:
Recent movement of all configurations of pin in the single call of
pin_config_set(), it is aborting configuration if BIAS_PULL_PIN_DEFAULT
is selected as return of configuration.

The original idea was to just avoid any update on register for pull
up/down
configuration if this option is selected.
That doesn't sound correct. If a config option is specified in DT or the
mapping table, it should be applied to HW. If someone doesn't want a
particular config option applied, then it simply shouldn't be mentioned
in DT or the mapping table.

IIUC, BIAS_DEFAULT should be used only on HW where there is a concept of
a true default bias, and in that case, that is what should be applied.

Hmm.. When I added the PIN_DEFAULT, I just though that do not update
anything in the register and implemented like that.
There is nothing "default" option in HW.
The description of that pinconfig option is:

7970cb77 (Heiko Stübner 2013-06-06 16:44:25 +0200 43) * @PIN_CONFIG_BIAS_PULL_PIN_DEFAULT: the pin will be pulled up or down based
70637a6d (Heiko Stübner 2013-06-25 14:55:42 +0200 44) * on embedded knowledge of the controller hardware, like current mux
70637a6d (Heiko Stübner 2013-06-25 14:55:42 +0200 45) * function. The pull direction and possibly strength too will normally
70637a6d (Heiko Stübner 2013-06-25 14:55:42 +0200 46) * be decided completely inside the hardware block and not be readable
70637a6d (Heiko Stübner 2013-06-25 14:55:42 +0200 47) * from the kernel side.
5ca3353b (Linus Walleij 2013-06-16 12:43:06 +0200 48) * If the argument is != 0 pull up/down is enabled, if it is 0, the
5ca3353b (Linus Walleij 2013-06-16 12:43:06 +0200 49) * configuration is ignored. The proper way to disable it is to use
5ca3353b (Linus Walleij 2013-06-16 12:43:06 +0200 50) * @PIN_CONFIG_BIAS_DISABLE.
If the HW doesn't support any concept of a default pull, I think the
driver shouldn't support that option; it should return an error if asked
to program it.

Yes, I will remove this option as I have not seen default option for pins.



But what made you come across this issue? Is some pin mapping table or
DT pinctrl node actually using that value? If so, then presumably that
needs to be fixed, as well as removing driver support for that option.

When referring the code for the AMSAS3722 pincontrol driver, I just found that it is breaking the earlier code.

Removing this option makes more reasonable here and will post the next patch.

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/