* [PATCH v1 1/1] pinctrl: tangier: Move default strength assignment to a switch-case
@ 2023-10-30 15:53 Andy Shevchenko
2023-10-30 21:14 ` Raag Jadav
` (2 more replies)
0 siblings, 3 replies; 12+ messages in thread
From: Andy Shevchenko @ 2023-10-30 15:53 UTC (permalink / raw)
To: Andy Shevchenko, Raag Jadav, linux-gpio, linux-kernel
Cc: Mika Westerberg, Andy Shevchenko, Linus Walleij
iWhen ->pin_config_set() is called from the GPIO library (assumed
GpioIo() ACPI resource), the argument can be 1, when, for example,
PullDefault is provided. In such case we supply sane default in
the driver. Move that default assingment to a switch-case, so
it will be consolidated in one place.
Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
---
drivers/pinctrl/intel/pinctrl-tangier.c | 10 ++--------
1 file changed, 2 insertions(+), 8 deletions(-)
diff --git a/drivers/pinctrl/intel/pinctrl-tangier.c b/drivers/pinctrl/intel/pinctrl-tangier.c
index 007bca1cf224..26e34ec0a972 100644
--- a/drivers/pinctrl/intel/pinctrl-tangier.c
+++ b/drivers/pinctrl/intel/pinctrl-tangier.c
@@ -368,14 +368,11 @@ static int tng_config_set_pin(struct tng_pinctrl *tp, unsigned int pin,
break;
case PIN_CONFIG_BIAS_PULL_UP:
- /* Set default strength value in case none is given */
- if (arg == 1)
- arg = 20000;
-
switch (arg) {
case 50000:
term = BUFCFG_PUPD_VAL_50K;
break;
+ case 1: /* Set default strength value in case none is given */
case 20000:
term = BUFCFG_PUPD_VAL_20K;
break;
@@ -394,14 +391,11 @@ static int tng_config_set_pin(struct tng_pinctrl *tp, unsigned int pin,
break;
case PIN_CONFIG_BIAS_PULL_DOWN:
- /* Set default strength value in case none is given */
- if (arg == 1)
- arg = 20000;
-
switch (arg) {
case 50000:
term = BUFCFG_PUPD_VAL_50K;
break;
+ case 1: /* Set default strength value in case none is given */
case 20000:
term = BUFCFG_PUPD_VAL_20K;
break;
--
2.40.0.1.gaa8946217a0b
^ permalink raw reply related [flat|nested] 12+ messages in thread
* Re: [PATCH v1 1/1] pinctrl: tangier: Move default strength assignment to a switch-case
2023-10-30 15:53 [PATCH v1 1/1] pinctrl: tangier: Move default strength assignment to a switch-case Andy Shevchenko
@ 2023-10-30 21:14 ` Raag Jadav
2023-10-31 10:22 ` Andy Shevchenko
2023-11-01 6:35 ` Mika Westerberg
2023-11-02 7:36 ` Linus Walleij
2 siblings, 1 reply; 12+ messages in thread
From: Raag Jadav @ 2023-10-30 21:14 UTC (permalink / raw)
To: Andy Shevchenko
Cc: linux-gpio, linux-kernel, Mika Westerberg, Andy Shevchenko,
Linus Walleij
On Mon, Oct 30, 2023 at 05:53:40PM +0200, Andy Shevchenko wrote:
> iWhen ->pin_config_set() is called from the GPIO library (assumed
> GpioIo() ACPI resource), the argument can be 1, when, for example,
> PullDefault is provided. In such case we supply sane default in
> the driver. Move that default assingment to a switch-case, so
> it will be consolidated in one place.
Looks good.
iWhen -> When
Raag
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [PATCH v1 1/1] pinctrl: tangier: Move default strength assignment to a switch-case
2023-10-30 21:14 ` Raag Jadav
@ 2023-10-31 10:22 ` Andy Shevchenko
2023-10-31 13:57 ` Raag Jadav
0 siblings, 1 reply; 12+ messages in thread
From: Andy Shevchenko @ 2023-10-31 10:22 UTC (permalink / raw)
To: Raag Jadav; +Cc: linux-gpio, linux-kernel, Mika Westerberg, Linus Walleij
On Mon, Oct 30, 2023 at 11:14:11PM +0200, Raag Jadav wrote:
> On Mon, Oct 30, 2023 at 05:53:40PM +0200, Andy Shevchenko wrote:
> > iWhen ->pin_config_set() is called from the GPIO library (assumed
> > GpioIo() ACPI resource), the argument can be 1, when, for example,
> > PullDefault is provided. In such case we supply sane default in
> > the driver. Move that default assingment to a switch-case, so
> > it will be consolidated in one place.
>
> Looks good.
Thank you for review. Can you give your Rb tag then?
> iWhen -> When
I'll fix it locally.
--
With Best Regards,
Andy Shevchenko
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [PATCH v1 1/1] pinctrl: tangier: Move default strength assignment to a switch-case
2023-10-31 10:22 ` Andy Shevchenko
@ 2023-10-31 13:57 ` Raag Jadav
0 siblings, 0 replies; 12+ messages in thread
From: Raag Jadav @ 2023-10-31 13:57 UTC (permalink / raw)
To: Andy Shevchenko; +Cc: linux-gpio, linux-kernel, Mika Westerberg, Linus Walleij
On Tue, Oct 31, 2023 at 12:22:47PM +0200, Andy Shevchenko wrote:
> On Mon, Oct 30, 2023 at 11:14:11PM +0200, Raag Jadav wrote:
> > On Mon, Oct 30, 2023 at 05:53:40PM +0200, Andy Shevchenko wrote:
> > > iWhen ->pin_config_set() is called from the GPIO library (assumed
> > > GpioIo() ACPI resource), the argument can be 1, when, for example,
> > > PullDefault is provided. In such case we supply sane default in
> > > the driver. Move that default assingment to a switch-case, so
> > > it will be consolidated in one place.
> >
> > Looks good.
>
> Thank you for review. Can you give your Rb tag then?
Since I'm not a maintainer, I'm not sure if I qualify.
But anyway, here you go.
Reviewed-by: Raag Jadav <raag.jadav@intel.com>
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [PATCH v1 1/1] pinctrl: tangier: Move default strength assignment to a switch-case
2023-10-30 15:53 [PATCH v1 1/1] pinctrl: tangier: Move default strength assignment to a switch-case Andy Shevchenko
2023-10-30 21:14 ` Raag Jadav
@ 2023-11-01 6:35 ` Mika Westerberg
2023-11-01 9:34 ` Andy Shevchenko
2023-11-02 7:36 ` Linus Walleij
2 siblings, 1 reply; 12+ messages in thread
From: Mika Westerberg @ 2023-11-01 6:35 UTC (permalink / raw)
To: Andy Shevchenko
Cc: Raag Jadav, linux-gpio, linux-kernel, Andy Shevchenko,
Linus Walleij
On Mon, Oct 30, 2023 at 05:53:40PM +0200, Andy Shevchenko wrote:
> iWhen ->pin_config_set() is called from the GPIO library (assumed
> GpioIo() ACPI resource), the argument can be 1, when, for example,
> PullDefault is provided. In such case we supply sane default in
> the driver. Move that default assingment to a switch-case, so
> it will be consolidated in one place.
>
> Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
> ---
> drivers/pinctrl/intel/pinctrl-tangier.c | 10 ++--------
> 1 file changed, 2 insertions(+), 8 deletions(-)
>
> diff --git a/drivers/pinctrl/intel/pinctrl-tangier.c b/drivers/pinctrl/intel/pinctrl-tangier.c
> index 007bca1cf224..26e34ec0a972 100644
> --- a/drivers/pinctrl/intel/pinctrl-tangier.c
> +++ b/drivers/pinctrl/intel/pinctrl-tangier.c
> @@ -368,14 +368,11 @@ static int tng_config_set_pin(struct tng_pinctrl *tp, unsigned int pin,
> break;
>
> case PIN_CONFIG_BIAS_PULL_UP:
> - /* Set default strength value in case none is given */
> - if (arg == 1)
> - arg = 20000;
> -
> switch (arg) {
> case 50000:
> term = BUFCFG_PUPD_VAL_50K;
> break;
> + case 1: /* Set default strength value in case none is given */
The comment is good but I think would it make sense to have constant for
this instead?
> case 20000:
> term = BUFCFG_PUPD_VAL_20K;
> break;
> @@ -394,14 +391,11 @@ static int tng_config_set_pin(struct tng_pinctrl *tp, unsigned int pin,
> break;
>
> case PIN_CONFIG_BIAS_PULL_DOWN:
> - /* Set default strength value in case none is given */
> - if (arg == 1)
> - arg = 20000;
> -
> switch (arg) {
> case 50000:
> term = BUFCFG_PUPD_VAL_50K;
> break;
> + case 1: /* Set default strength value in case none is given */
> case 20000:
> term = BUFCFG_PUPD_VAL_20K;
> break;
> --
> 2.40.0.1.gaa8946217a0b
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [PATCH v1 1/1] pinctrl: tangier: Move default strength assignment to a switch-case
2023-11-01 6:35 ` Mika Westerberg
@ 2023-11-01 9:34 ` Andy Shevchenko
2023-11-01 10:44 ` Mika Westerberg
0 siblings, 1 reply; 12+ messages in thread
From: Andy Shevchenko @ 2023-11-01 9:34 UTC (permalink / raw)
To: Mika Westerberg; +Cc: Raag Jadav, linux-gpio, linux-kernel, Linus Walleij
On Wed, Nov 01, 2023 at 08:35:20AM +0200, Mika Westerberg wrote:
> On Mon, Oct 30, 2023 at 05:53:40PM +0200, Andy Shevchenko wrote:
...
> > + case 1: /* Set default strength value in case none is given */
>
> The comment is good but I think would it make sense to have constant for
> this instead?
If so, it makes sense to get it via entire GPIO library, and not locally for
Intel stuff. That said, I prefer to do that separately. Do you agree?
--
With Best Regards,
Andy Shevchenko
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [PATCH v1 1/1] pinctrl: tangier: Move default strength assignment to a switch-case
2023-11-01 9:34 ` Andy Shevchenko
@ 2023-11-01 10:44 ` Mika Westerberg
0 siblings, 0 replies; 12+ messages in thread
From: Mika Westerberg @ 2023-11-01 10:44 UTC (permalink / raw)
To: Andy Shevchenko; +Cc: Raag Jadav, linux-gpio, linux-kernel, Linus Walleij
On Wed, Nov 01, 2023 at 11:34:58AM +0200, Andy Shevchenko wrote:
> On Wed, Nov 01, 2023 at 08:35:20AM +0200, Mika Westerberg wrote:
> > On Mon, Oct 30, 2023 at 05:53:40PM +0200, Andy Shevchenko wrote:
>
> ...
>
> > > + case 1: /* Set default strength value in case none is given */
> >
> > The comment is good but I think would it make sense to have constant for
> > this instead?
>
> If so, it makes sense to get it via entire GPIO library, and not locally for
> Intel stuff. That said, I prefer to do that separately. Do you agree?
Yes, agree.
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [PATCH v1 1/1] pinctrl: tangier: Move default strength assignment to a switch-case
2023-10-30 15:53 [PATCH v1 1/1] pinctrl: tangier: Move default strength assignment to a switch-case Andy Shevchenko
2023-10-30 21:14 ` Raag Jadav
2023-11-01 6:35 ` Mika Westerberg
@ 2023-11-02 7:36 ` Linus Walleij
2023-11-02 12:34 ` Andy Shevchenko
2 siblings, 1 reply; 12+ messages in thread
From: Linus Walleij @ 2023-11-02 7:36 UTC (permalink / raw)
To: Andy Shevchenko
Cc: Raag Jadav, linux-gpio, linux-kernel, Mika Westerberg,
Andy Shevchenko
On Mon, Oct 30, 2023 at 4:54 PM Andy Shevchenko
<andriy.shevchenko@linux.intel.com> wrote:
> iWhen ->pin_config_set() is called from the GPIO library (assumed
> GpioIo() ACPI resource), the argument can be 1, when, for example,
> PullDefault is provided. In such case we supply sane default in
> the driver. Move that default assingment to a switch-case, so
> it will be consolidated in one place.
(...)
> + case 1: /* Set default strength value in case none is given */
So where does this 1 come from in the end? That's the piece I
am missing in this explanation. Somewhere, someone decided
to pass 1 to indicate "pull to default resistance".
Is it coming from ACPI firmware?
Then a comment such as "the firmware author chose to pass 1
for default pull" should be added to the constant definition in the
code.
Other than that it looks good!
Yours,
Linus Walleij
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [PATCH v1 1/1] pinctrl: tangier: Move default strength assignment to a switch-case
2023-11-02 7:36 ` Linus Walleij
@ 2023-11-02 12:34 ` Andy Shevchenko
2023-11-02 12:37 ` Andy Shevchenko
2023-11-02 12:56 ` Linus Walleij
0 siblings, 2 replies; 12+ messages in thread
From: Andy Shevchenko @ 2023-11-02 12:34 UTC (permalink / raw)
To: Linus Walleij; +Cc: Raag Jadav, linux-gpio, linux-kernel, Mika Westerberg
On Thu, Nov 02, 2023 at 08:36:11AM +0100, Linus Walleij wrote:
> On Mon, Oct 30, 2023 at 4:54 PM Andy Shevchenko
> <andriy.shevchenko@linux.intel.com> wrote:
(...)
> > + case 1: /* Set default strength value in case none is given */
>
> So where does this 1 come from in the end? That's the piece I
> am missing in this explanation. Somewhere, someone decided
> to pass 1 to indicate "pull to default resistance".
>
> Is it coming from ACPI firmware?
No, it's pure Linux kernel decision.
gpio_set_bias() is who made that. That's why it needs to be chosen on global
level.
We may even document somewhere that arguments let's say up to 10 do not make
any sense in real life, as even for 1.2 v it will give 120 mA current on a single
pin. Yet, theoretically that's possible for discrete industrial GPIOs, so we
can choose "very big number" if such case appears in the future. I don't want
to change 1 to something else right now as it may break things.
> for default pull" should be added to the constant definition in the
> code.
--
With Best Regards,
Andy Shevchenko
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [PATCH v1 1/1] pinctrl: tangier: Move default strength assignment to a switch-case
2023-11-02 12:34 ` Andy Shevchenko
@ 2023-11-02 12:37 ` Andy Shevchenko
2023-11-02 12:56 ` Linus Walleij
1 sibling, 0 replies; 12+ messages in thread
From: Andy Shevchenko @ 2023-11-02 12:37 UTC (permalink / raw)
To: Linus Walleij; +Cc: Raag Jadav, linux-gpio, linux-kernel, Mika Westerberg
On Thu, Nov 02, 2023 at 02:34:30PM +0200, Andy Shevchenko wrote:
> On Thu, Nov 02, 2023 at 08:36:11AM +0100, Linus Walleij wrote:
> > On Mon, Oct 30, 2023 at 4:54 PM Andy Shevchenko
> > <andriy.shevchenko@linux.intel.com> wrote:
(...)
> > > + case 1: /* Set default strength value in case none is given */
> >
> > So where does this 1 come from in the end? That's the piece I
> > am missing in this explanation. Somewhere, someone decided
> > to pass 1 to indicate "pull to default resistance".
> >
> > Is it coming from ACPI firmware?
>
> No, it's pure Linux kernel decision.
> gpio_set_bias() is who made that. That's why it needs to be chosen on global
> level.
>
> We may even document somewhere that arguments let's say up to 10 do not make
> any sense in real life, as even for 1.2 v it will give 120 mA current on a single
> pin. Yet, theoretically that's possible for discrete industrial GPIOs, so we
> can choose "very big number" if such case appears in the future. I don't want
Just realized that "very big number" is limited to 16-bit value right now and
65 kOhm is quite reasonable value for the pull bias (yet we can use exact
0xffff for the "special" case).
> to change 1 to something else right now as it may break things.
>
> > for default pull" should be added to the constant definition in the
> > code.
--
With Best Regards,
Andy Shevchenko
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [PATCH v1 1/1] pinctrl: tangier: Move default strength assignment to a switch-case
2023-11-02 12:34 ` Andy Shevchenko
2023-11-02 12:37 ` Andy Shevchenko
@ 2023-11-02 12:56 ` Linus Walleij
2023-11-13 11:53 ` Andy Shevchenko
1 sibling, 1 reply; 12+ messages in thread
From: Linus Walleij @ 2023-11-02 12:56 UTC (permalink / raw)
To: Andy Shevchenko; +Cc: Raag Jadav, linux-gpio, linux-kernel, Mika Westerberg
On Thu, Nov 2, 2023 at 1:34 PM Andy Shevchenko
<andriy.shevchenko@linux.intel.com> wrote:
> On Thu, Nov 02, 2023 at 08:36:11AM +0100, Linus Walleij wrote:
> > So where does this 1 come from in the end? That's the piece I
> > am missing in this explanation. Somewhere, someone decided
> > to pass 1 to indicate "pull to default resistance".
> >
> > Is it coming from ACPI firmware?
>
> No, it's pure Linux kernel decision.
> gpio_set_bias() is who made that. That's why it needs to be chosen on global
> level.
Aha I see, that makes sense.
Reviewed-by: Linus Walleij <linus.walleij@linaro.org>
Yours,
Linus Walleij
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [PATCH v1 1/1] pinctrl: tangier: Move default strength assignment to a switch-case
2023-11-02 12:56 ` Linus Walleij
@ 2023-11-13 11:53 ` Andy Shevchenko
0 siblings, 0 replies; 12+ messages in thread
From: Andy Shevchenko @ 2023-11-13 11:53 UTC (permalink / raw)
To: Linus Walleij; +Cc: Raag Jadav, linux-gpio, linux-kernel, Mika Westerberg
On Thu, Nov 02, 2023 at 01:56:08PM +0100, Linus Walleij wrote:
> On Thu, Nov 2, 2023 at 1:34 PM Andy Shevchenko
> <andriy.shevchenko@linux.intel.com> wrote:
> > On Thu, Nov 02, 2023 at 08:36:11AM +0100, Linus Walleij wrote:
>
> > > So where does this 1 come from in the end? That's the piece I
> > > am missing in this explanation. Somewhere, someone decided
> > > to pass 1 to indicate "pull to default resistance".
> > >
> > > Is it coming from ACPI firmware?
> >
> > No, it's pure Linux kernel decision.
> > gpio_set_bias() is who made that. That's why it needs to be chosen on global
> > level.
>
> Aha I see, that makes sense.
> Reviewed-by: Linus Walleij <linus.walleij@linaro.org>
Pushed to my review and testing queue, thanks!
--
With Best Regards,
Andy Shevchenko
^ permalink raw reply [flat|nested] 12+ messages in thread
end of thread, other threads:[~2023-11-13 11:53 UTC | newest]
Thread overview: 12+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2023-10-30 15:53 [PATCH v1 1/1] pinctrl: tangier: Move default strength assignment to a switch-case Andy Shevchenko
2023-10-30 21:14 ` Raag Jadav
2023-10-31 10:22 ` Andy Shevchenko
2023-10-31 13:57 ` Raag Jadav
2023-11-01 6:35 ` Mika Westerberg
2023-11-01 9:34 ` Andy Shevchenko
2023-11-01 10:44 ` Mika Westerberg
2023-11-02 7:36 ` Linus Walleij
2023-11-02 12:34 ` Andy Shevchenko
2023-11-02 12:37 ` Andy Shevchenko
2023-11-02 12:56 ` Linus Walleij
2023-11-13 11:53 ` Andy Shevchenko
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox