Skip to contentSkip to conversation

pinctrl: lynxpoint: Use defined constant for disabled bias explicitly

PATCH In review Andy Shevchenko 2 participants 5 messages Nov 11, 2020 – Nov 12, 2020

Subsystems (3)
lore
Share & tools
lore
#0 lore raw

PATCH 1/2 pinctrl: lynxpoint: Use defined constant for disabled bias explicitly

We have a specific constant to describe a disabled bias, i.e. GPIWP_NONE. Use it explicitly instead of making an assumption about its value.

While at it, move argument assignment to the switch-case in lp_pin_config_get().

---
 drivers/pinctrl/intel/pinctrl-lynxpoint.c | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)
drivers/pinctrl/intel/pinctrl-lynxpoint.c +4 -2
index 849979d5d646..2e9670fc479a 100644
@@ -496,7 +496,7 @@ static int lp_pin_config_get(struct pinctrl_dev *pctldev, unsigned int pin,
 	enum pin_config_param param = pinconf_to_config_param(*config);
 	unsigned long flags;
 	u32 value, pull;
-	u16 arg = 0;
+	u16 arg;
 
 	raw_spin_lock_irqsave(&lg->lock, flags);
 	value = ioread32(conf2);
@@ -506,8 +506,9 @@ static int lp_pin_config_get(struct pinctrl_dev *pctldev, unsigned int pin,
 
 	switch (param) {
 	case PIN_CONFIG_BIAS_DISABLE:
-		if (pull)
+		if (pull != GPIWP_NONE)
 			return -EINVAL;
+		arg = 0;
 		break;
 	case PIN_CONFIG_BIAS_PULL_DOWN:
 		if (pull != GPIWP_DOWN)
@@ -550,6 +551,7 @@ static int lp_pin_config_set(struct pinctrl_dev *pctldev, unsigned int pin,
 		switch (param) {
 		case PIN_CONFIG_BIAS_DISABLE:
 			value &= ~GPIWP_MASK;
+			value |= GPIWP_NONE;
 			break;
 		case PIN_CONFIG_BIAS_PULL_DOWN:
 			value &= ~GPIWP_MASK;
Signature · 1 line
2.28.0
#1 lore raw

PATCH 2/2 pinctrl: lynxpoint: Enable pin configuration setting for GPIO chip

It appears that pin configuration for GPIO chip hasn't been enabled yet due to absence of ->set_config() callback.

Enable it here for Intel Lynxpoint PCH.

Depends-on: 2956b5d94a76 ("pinctrl / gpio: Introduce .set_config() callback for GPIO chips")

---
 drivers/pinctrl/intel/pinctrl-lynxpoint.c | 1 +
 1 file changed, 1 insertion(+)
drivers/pinctrl/intel/pinctrl-lynxpoint.c +1 -0
index 2e9670fc479a..0a48ca46ab59 100644
@@ -874,6 +874,7 @@ static int lp_gpio_probe(struct platform_device *pdev)
 	gc->direction_output = lp_gpio_direction_output;
 	gc->get = lp_gpio_get;
 	gc->set = lp_gpio_set;
+	gc->set_config = gpiochip_generic_config;
 	gc->get_direction = lp_gpio_get_direction;
 	gc->base = -1;
 	gc->ngpio = LP_NUM_GPIO;
Signature · 1 line
2.28.0
maintainer Acked-by on v1 2/2
#2 lore raw

Re: [PATCH v1 2/2] pinctrl: lynxpoint: Enable pin configuration setting for GPIO chip

Quoted 7 lines · Andy Shevchenko

It appears that pin configuration for GPIO chip hasn't been enabled yet due to absence of ->set_config() callback.

Enable it here for Intel Lynxpoint PCH.

Depends-on: 2956b5d94a76 ("pinctrl / gpio: Introduce .set_config() callback for GPIO chips")

#3 lore raw

Re: [PATCH v1 2/2] pinctrl: lynxpoint: Enable pin configuration setting for GPIO chip

Quoted 10 lines · Mika Westerberg
Quoted 7 lines · Andy Shevchenko

It appears that pin configuration for GPIO chip hasn't been enabled yet due to absence of ->set_config() callback.

Enable it here for Intel Lynxpoint PCH.

Depends-on: 2956b5d94a76 ("pinctrl / gpio: Introduce .set_config() callback for GPIO chips")

Pushed to my review and testing queue, thanks!

Signature · 2 lines
With Best Regards,
Andy Shevchenko