Re: [PATCH] pinctrl: qcom: lpass lpi: use default pullup/strength values

2021-03-10 Thread Linus Walleij
On Thu, Mar 4, 2021 at 8:49 PM Jonathan Marek  wrote:

> If these fields are not set in dts, the driver will use these variables
> uninitialized to set the fields. Not only will it set garbage values for
> these fields, but it can overflow into other fields and break those.
>
> In the current sm8250 dts, the dmic01 entries do not have a pullup setting,
> and might not work without this change.
>
> Fixes: 6e261d1090d6 ("pinctrl: qcom: Add sm8250 lpass lpi pinctrl driver")
> Signed-off-by: Jonathan Marek 

Patch applied for fixes!

Yours,
Linus Walleij


Re: [PATCH] pinctrl: qcom: lpass lpi: use default pullup/strength values

2021-03-05 Thread Srinivas Kandagatla

Thanks Jonathan for fixing this!

On 04/03/2021 19:48, Jonathan Marek wrote:

If these fields are not set in dts, the driver will use these variables
uninitialized to set the fields. Not only will it set garbage values for
these fields, but it can overflow into other fields and break those.

In the current sm8250 dts, the dmic01 entries do not have a pullup setting,
and might not work without this change.

Fixes: 6e261d1090d6 ("pinctrl: qcom: Add sm8250 lpass lpi pinctrl driver")
Signed-off-by: Jonathan Marek 
---


LGTM,
Reviewed-by: Srinivas Kandagatla 


--srini



  drivers/pinctrl/qcom/pinctrl-lpass-lpi.c | 2 +-
  1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/pinctrl/qcom/pinctrl-lpass-lpi.c 
b/drivers/pinctrl/qcom/pinctrl-lpass-lpi.c
index 369ee20a7ea95..2f19ab4db7208 100644
--- a/drivers/pinctrl/qcom/pinctrl-lpass-lpi.c
+++ b/drivers/pinctrl/qcom/pinctrl-lpass-lpi.c
@@ -392,7 +392,7 @@ static int lpi_config_set(struct pinctrl_dev *pctldev, 
unsigned int group,
  unsigned long *configs, unsigned int nconfs)
  {
struct lpi_pinctrl *pctrl = dev_get_drvdata(pctldev->dev);
-   unsigned int param, arg, pullup, strength;
+   unsigned int param, arg, pullup = LPI_GPIO_BIAS_DISABLE, strength = 2;
bool value, output_enabled = false;
const struct lpi_pingroup *g;
unsigned long sval;



Re: [PATCH] pinctrl: qcom: lpass lpi: use default pullup/strength values

2021-03-04 Thread Jonathan Marek

On 3/4/21 7:05 PM, Bjorn Andersson wrote:

On Thu 04 Mar 13:48 CST 2021, Jonathan Marek wrote:


If these fields are not set in dts, the driver will use these variables
uninitialized to set the fields. Not only will it set garbage values for
these fields, but it can overflow into other fields and break those.

In the current sm8250 dts, the dmic01 entries do not have a pullup setting,
and might not work without this change.



Perhaps you didn't see it, but Dan reported this a few days back. So
unless you object I would suggest that we include:



I did not see it. But feel free to add tags.


Reported-by: kernel test robot 
Reported-by: Dan Carpenter 


Reviewed-by: Bjorn Andersson 

Regards,
Bjorn


Fixes: 6e261d1090d6 ("pinctrl: qcom: Add sm8250 lpass lpi pinctrl driver")
Signed-off-by: Jonathan Marek 
---
  drivers/pinctrl/qcom/pinctrl-lpass-lpi.c | 2 +-
  1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/pinctrl/qcom/pinctrl-lpass-lpi.c 
b/drivers/pinctrl/qcom/pinctrl-lpass-lpi.c
index 369ee20a7ea95..2f19ab4db7208 100644
--- a/drivers/pinctrl/qcom/pinctrl-lpass-lpi.c
+++ b/drivers/pinctrl/qcom/pinctrl-lpass-lpi.c
@@ -392,7 +392,7 @@ static int lpi_config_set(struct pinctrl_dev *pctldev, 
unsigned int group,
  unsigned long *configs, unsigned int nconfs)
  {
struct lpi_pinctrl *pctrl = dev_get_drvdata(pctldev->dev);
-   unsigned int param, arg, pullup, strength;
+   unsigned int param, arg, pullup = LPI_GPIO_BIAS_DISABLE, strength = 2;
bool value, output_enabled = false;
const struct lpi_pingroup *g;
unsigned long sval;
--
2.26.1



Re: [PATCH] pinctrl: qcom: lpass lpi: use default pullup/strength values

2021-03-04 Thread Bjorn Andersson
On Thu 04 Mar 13:48 CST 2021, Jonathan Marek wrote:

> If these fields are not set in dts, the driver will use these variables
> uninitialized to set the fields. Not only will it set garbage values for
> these fields, but it can overflow into other fields and break those.
> 
> In the current sm8250 dts, the dmic01 entries do not have a pullup setting,
> and might not work without this change.
> 

Perhaps you didn't see it, but Dan reported this a few days back. So
unless you object I would suggest that we include:

Reported-by: kernel test robot 
Reported-by: Dan Carpenter 


Reviewed-by: Bjorn Andersson 

Regards,
Bjorn

> Fixes: 6e261d1090d6 ("pinctrl: qcom: Add sm8250 lpass lpi pinctrl driver")
> Signed-off-by: Jonathan Marek 
> ---
>  drivers/pinctrl/qcom/pinctrl-lpass-lpi.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/drivers/pinctrl/qcom/pinctrl-lpass-lpi.c 
> b/drivers/pinctrl/qcom/pinctrl-lpass-lpi.c
> index 369ee20a7ea95..2f19ab4db7208 100644
> --- a/drivers/pinctrl/qcom/pinctrl-lpass-lpi.c
> +++ b/drivers/pinctrl/qcom/pinctrl-lpass-lpi.c
> @@ -392,7 +392,7 @@ static int lpi_config_set(struct pinctrl_dev *pctldev, 
> unsigned int group,
> unsigned long *configs, unsigned int nconfs)
>  {
>   struct lpi_pinctrl *pctrl = dev_get_drvdata(pctldev->dev);
> - unsigned int param, arg, pullup, strength;
> + unsigned int param, arg, pullup = LPI_GPIO_BIAS_DISABLE, strength = 2;
>   bool value, output_enabled = false;
>   const struct lpi_pingroup *g;
>   unsigned long sval;
> -- 
> 2.26.1
> 


[PATCH] pinctrl: qcom: lpass lpi: use default pullup/strength values

2021-03-04 Thread Jonathan Marek
If these fields are not set in dts, the driver will use these variables
uninitialized to set the fields. Not only will it set garbage values for
these fields, but it can overflow into other fields and break those.

In the current sm8250 dts, the dmic01 entries do not have a pullup setting,
and might not work without this change.

Fixes: 6e261d1090d6 ("pinctrl: qcom: Add sm8250 lpass lpi pinctrl driver")
Signed-off-by: Jonathan Marek 
---
 drivers/pinctrl/qcom/pinctrl-lpass-lpi.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/pinctrl/qcom/pinctrl-lpass-lpi.c 
b/drivers/pinctrl/qcom/pinctrl-lpass-lpi.c
index 369ee20a7ea95..2f19ab4db7208 100644
--- a/drivers/pinctrl/qcom/pinctrl-lpass-lpi.c
+++ b/drivers/pinctrl/qcom/pinctrl-lpass-lpi.c
@@ -392,7 +392,7 @@ static int lpi_config_set(struct pinctrl_dev *pctldev, 
unsigned int group,
  unsigned long *configs, unsigned int nconfs)
 {
struct lpi_pinctrl *pctrl = dev_get_drvdata(pctldev->dev);
-   unsigned int param, arg, pullup, strength;
+   unsigned int param, arg, pullup = LPI_GPIO_BIAS_DISABLE, strength = 2;
bool value, output_enabled = false;
const struct lpi_pingroup *g;
unsigned long sval;
-- 
2.26.1