Late pin control fixes for v5.12:

- Fix the number of pins in the community of the Intel
   Lewisburg SoC.
 
 - Show pin numbers for controllers with base = 0 in the
   new debugfs feature.
 -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCAAdFiEElDRnuGcz/wPCXQWMQRCzN7AZXXMFAmCDVSEACgkQQRCzN7AZ
 XXMZFA//TOed1OfNe3FOxNMZ9bTemv/SQJYLrfcfT+m0VzDp27N07aywCW47axVF
 63udoLzJvPFhp8hTJabr2bsxHZ4A51k49YDJLbIEh1ZTuuLuzaWl2rSuNKCY/ogT
 Kvqjb8/c73TC7sbV24z1dBefHP34wFHB2BEJHogwiS7Z2Jdyb0i5G5G/dcjRtzkB
 y8JGLfYsSOygccOzSqlkAbAPni7ktzbf0AiDcaGdP5lgBWeiEjROZpncLmsMV5Dn
 vgzdT3PYNctjEDz/pUlwHr+VUER2ybDzz9s87TbB0p6gyWUqsV1Uaq38YxvP/qx8
 n50JOERhG/216yFvXZCWmA1Znx/tPew9ys7hdDFGcyzUfr1yyQRkgSTLg5NV//TB
 aTBb/qaXC8NtNXhiQZtLLKxFnizvMDtFj6e5ljfAA9Pj7yxfxfFb+1bwQn045nsN
 q4OZ9TegYAIarBAFZn4jcrxSrA5ep3qaYi1p4JhdayPzF5w+SMeWMX5wlpTLaERB
 sts8uBuPa2/LOPXRsdfERPFA5YZKTTcfy70DMP2z0O+UwLCntp7119e3FfefhyaQ
 97aocxhR+tKa46Nk0HbU1G9cTNkL2FFnnIP3cRvkY409KGppcxGKIeJLwNSTYwKo
 fsxbPywM1VegAQQWjl7TNIQYmIqL5CdTbF6gvsYq0q4h9rw8scM=
 =zhfn
 -----END PGP SIGNATURE-----

Merge tag 'pinctrl-v5.12-3' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-pinctrl

Pull pin control fixes from Linus Walleij:
 "Late pin control fixes, would have been in the main pull request
  normally but hey I got lucky and we got another week to polish up
  v5.12 so here we go.

  One driver fix and one making the core debugfs work:

   - Fix the number of pins in the community of the Intel Lewisburg SoC

   - Show pin numbers for controllers with base = 0 in the new debugfs
     feature"

* tag 'pinctrl-v5.12-3' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-pinctrl:
  pinctrl: core: Show pin numbers for the controllers with base = 0
  pinctrl: lewisburg: Update number of pins in community
This commit is contained in:
Linus Torvalds 2021-04-23 17:11:10 -07:00
commit 8db5efb83f
2 changed files with 11 additions and 9 deletions

View File

@ -1604,8 +1604,8 @@ static int pinctrl_pins_show(struct seq_file *s, void *what)
unsigned i, pin; unsigned i, pin;
#ifdef CONFIG_GPIOLIB #ifdef CONFIG_GPIOLIB
struct pinctrl_gpio_range *range; struct pinctrl_gpio_range *range;
unsigned int gpio_num;
struct gpio_chip *chip; struct gpio_chip *chip;
int gpio_num;
#endif #endif
seq_printf(s, "registered pins: %d\n", pctldev->desc->npins); seq_printf(s, "registered pins: %d\n", pctldev->desc->npins);
@ -1625,7 +1625,7 @@ static int pinctrl_pins_show(struct seq_file *s, void *what)
seq_printf(s, "pin %d (%s) ", pin, desc->name); seq_printf(s, "pin %d (%s) ", pin, desc->name);
#ifdef CONFIG_GPIOLIB #ifdef CONFIG_GPIOLIB
gpio_num = 0; gpio_num = -1;
list_for_each_entry(range, &pctldev->gpio_ranges, node) { list_for_each_entry(range, &pctldev->gpio_ranges, node) {
if ((pin >= range->pin_base) && if ((pin >= range->pin_base) &&
(pin < (range->pin_base + range->npins))) { (pin < (range->pin_base + range->npins))) {
@ -1633,10 +1633,12 @@ static int pinctrl_pins_show(struct seq_file *s, void *what)
break; break;
} }
} }
chip = gpio_to_chip(gpio_num); if (gpio_num >= 0)
if (chip && chip->gpiodev && chip->gpiodev->base) chip = gpio_to_chip(gpio_num);
seq_printf(s, "%u:%s ", gpio_num - else
chip->gpiodev->base, chip->label); chip = NULL;
if (chip)
seq_printf(s, "%u:%s ", gpio_num - chip->gpiodev->base, chip->label);
else else
seq_puts(s, "0:? "); seq_puts(s, "0:? ");
#endif #endif

View File

@ -299,9 +299,9 @@ static const struct pinctrl_pin_desc lbg_pins[] = {
static const struct intel_community lbg_communities[] = { static const struct intel_community lbg_communities[] = {
LBG_COMMUNITY(0, 0, 71), LBG_COMMUNITY(0, 0, 71),
LBG_COMMUNITY(1, 72, 132), LBG_COMMUNITY(1, 72, 132),
LBG_COMMUNITY(3, 133, 144), LBG_COMMUNITY(3, 133, 143),
LBG_COMMUNITY(4, 145, 180), LBG_COMMUNITY(4, 144, 178),
LBG_COMMUNITY(5, 181, 246), LBG_COMMUNITY(5, 179, 246),
}; };
static const struct intel_pinctrl_soc_data lbg_soc_data = { static const struct intel_pinctrl_soc_data lbg_soc_data = {