Re: [PATCH 1/3] pinctrl: at91-pio4: Enable Push-Pull configuration

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 17/05/2023 at 13:54, Ryan.Wanner@xxxxxxxxxxxxx wrote:
From: Ryan Wanner <Ryan.Wanner@xxxxxxxxxxxxx>

Enable push-pull configuration. Remove integer value argument from
open-drain configuration as it is discarded when pinconf function is
called from gpiolib. Add push-pull do debug and get functions.

Signed-off-by: Ryan Wanner <Ryan.Wanner@xxxxxxxxxxxxx>

Looks good to me:
Acked-by: Nicolas Ferre <nicolas.ferre@xxxxxxxxxxxxx>

Thanks,
  Nicolas

---
  drivers/pinctrl/pinctrl-at91-pio4.c | 15 +++++++++++----
  1 file changed, 11 insertions(+), 4 deletions(-)

diff --git a/drivers/pinctrl/pinctrl-at91-pio4.c b/drivers/pinctrl/pinctrl-at91-pio4.c
index 2fe40acb6a3e..3c39d62bbc3c 100644
--- a/drivers/pinctrl/pinctrl-at91-pio4.c
+++ b/drivers/pinctrl/pinctrl-at91-pio4.c
@@ -762,6 +762,11 @@ static int atmel_conf_pin_config_group_get(struct pinctrl_dev *pctldev,
  			return -EINVAL;
  		arg = 1;
  		break;
+	case PIN_CONFIG_DRIVE_PUSH_PULL:
+		if (res & ATMEL_PIO_OPD_MASK)
+			return -EINVAL;
+		arg = 1;
+		break;
  	case PIN_CONFIG_INPUT_SCHMITT_ENABLE:
  		if (!(res & ATMEL_PIO_SCHMITT_MASK))
  			return -EINVAL;
@@ -827,10 +832,10 @@ static int atmel_conf_pin_config_group_set(struct pinctrl_dev *pctldev,
  			conf &= (~ATMEL_PIO_PUEN_MASK);
  			break;
  		case PIN_CONFIG_DRIVE_OPEN_DRAIN:
-			if (arg == 0)
-				conf &= (~ATMEL_PIO_OPD_MASK);
-			else
-				conf |= ATMEL_PIO_OPD_MASK;
+			conf |= ATMEL_PIO_OPD_MASK;
+			break;
+		case PIN_CONFIG_DRIVE_PUSH_PULL:
+			conf &= (~ATMEL_PIO_OPD_MASK);
  			break;
  		case PIN_CONFIG_INPUT_SCHMITT_ENABLE:
  			if (arg == 0)
@@ -948,6 +953,8 @@ static void atmel_conf_pin_config_dbg_show(struct pinctrl_dev *pctldev,
  		seq_printf(s, "%s ", "debounce");
  	if (conf & ATMEL_PIO_OPD_MASK)
  		seq_printf(s, "%s ", "open-drain");
+	if (!(conf & ATMEL_PIO_OPD_MASK))
+		seq_printf(s, "%s ", "push-pull");
  	if (conf & ATMEL_PIO_SCHMITT_MASK)
  		seq_printf(s, "%s ", "schmitt");
  	if (atmel_pioctrl->slew_rate_support && (conf & ATMEL_PIO_SR_MASK))

--
Nicolas Ferre




[Index of Archives]     [Device Tree Compilter]     [Device Tree Spec]     [Linux Driver Backports]     [Video for Linux]     [Linux USB Devel]     [Linux PCI Devel]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [XFree86]     [Yosemite Backpacking]


  Powered by Linux