summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndy Shevchenko <andriy.shevchenko@linux.intel.com>2026-01-13 13:07:26 +0300
committerAndy Shevchenko <andriy.shevchenko@linux.intel.com>2026-01-13 23:46:40 +0300
commitbfec8ce11af00971909b454fafc07341620bfa9f (patch)
tree172a2fdf051cb5a280f7c737448912ceb26c07ee
parent57db74bdaa546881f8351a35c9b6b4e9da4e0cc8 (diff)
downloadlinux-bfec8ce11af00971909b454fafc07341620bfa9f.tar.xz
pinctrl: lynxpoint: Convert to use intel_gpio_add_pin_ranges()
Driver is ready to use intel_gpio_add_pin_ranges() directly instead of custom approach. Convert it now. Acked-by: Mika Westerberg <mika.westerberg@linux.intel.com> Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
-rw-r--r--drivers/pinctrl/intel/pinctrl-lynxpoint.c27
1 files changed, 11 insertions, 16 deletions
diff --git a/drivers/pinctrl/intel/pinctrl-lynxpoint.c b/drivers/pinctrl/intel/pinctrl-lynxpoint.c
index 1565eefdd4bf..e9233c12e824 100644
--- a/drivers/pinctrl/intel/pinctrl-lynxpoint.c
+++ b/drivers/pinctrl/intel/pinctrl-lynxpoint.c
@@ -29,10 +29,12 @@
#include "pinctrl-intel.h"
-#define COMMUNITY(p, n) \
+#define LPTLP_COMMUNITY(p, n, g) \
{ \
.pin_base = (p), \
.npins = (n), \
+ .gpps = (g), \
+ .ngpps = ARRAY_SIZE(g), \
}
static const struct pinctrl_pin_desc lptlp_pins[] = {
@@ -133,8 +135,14 @@ static const struct pinctrl_pin_desc lptlp_pins[] = {
PINCTRL_PIN(94, "GP94_UART0_CTSB"),
};
+static const struct intel_padgroup lptlp_gpps[] = {
+ INTEL_GPP(0, 0, 31, 0),
+ INTEL_GPP(1, 32, 63, 32),
+ INTEL_GPP(2, 64, 94, 64),
+};
+
static const struct intel_community lptlp_communities[] = {
- COMMUNITY(0, 95),
+ LPTLP_COMMUNITY(0, 95, lptlp_gpps),
};
static const struct intel_pinctrl_soc_data lptlp_soc_data = {
@@ -692,19 +700,6 @@ static int lp_gpio_irq_init_hw(struct gpio_chip *chip)
return 0;
}
-static int lp_gpio_add_pin_ranges(struct gpio_chip *chip)
-{
- struct intel_pinctrl *lg = gpiochip_get_data(chip);
- struct device *dev = lg->dev;
- int ret;
-
- ret = gpiochip_add_pin_range(chip, dev_name(dev), 0, 0, lg->soc->npins);
- if (ret)
- return dev_err_probe(dev, ret, "failed to add GPIO pin range\n");
-
- return 0;
-}
-
static int lp_gpio_probe(struct platform_device *pdev)
{
const struct intel_pinctrl_soc_data *soc;
@@ -777,7 +772,7 @@ static int lp_gpio_probe(struct platform_device *pdev)
gc->base = -1;
gc->ngpio = LP_NUM_GPIO;
gc->can_sleep = false;
- gc->add_pin_ranges = lp_gpio_add_pin_ranges;
+ gc->add_pin_ranges = intel_gpio_add_pin_ranges;
gc->parent = dev;
/* set up interrupts */