Skip to content

Commit dee7c11

Browse files
committed
Merge tag 'gpio-fixes-for-v5.6-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/brgl/linux into fixes
gpio fixes for v5.6-rc2 - fix a regression introduced by gpio_do_set_config() - sort GPIO entries in MAINTAINERS - remove leftover defines in gpio-bd71828 - remove an redundant switch case in gpio_set_config()
2 parents bb6d3fb + 8131b73 commit dee7c11

File tree

3 files changed

+39
-29
lines changed

3 files changed

+39
-29
lines changed

MAINTAINERS

Lines changed: 14 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -2796,11 +2796,11 @@ F: drivers/block/aoe/
27962796

27972797
ATHEROS 71XX/9XXX GPIO DRIVER
27982798
M: Alban Bedel <[email protected]>
2799+
S: Maintained
27992800
W: https://github.com/AlbanBedel/linux
28002801
T: git git://github.com/AlbanBedel/linux
2801-
S: Maintained
2802-
F: drivers/gpio/gpio-ath79.c
28032802
F: Documentation/devicetree/bindings/gpio/gpio-ath79.txt
2803+
F: drivers/gpio/gpio-ath79.c
28042804

28052805
ATHEROS 71XX/9XXX USB PHY DRIVER
28062806
M: Alban Bedel <[email protected]>
@@ -3422,8 +3422,8 @@ BROADCOM BRCMSTB GPIO DRIVER
34223422
M: Gregory Fong <[email protected]>
34233423
34243424
S: Supported
3425-
F: drivers/gpio/gpio-brcmstb.c
34263425
F: Documentation/devicetree/bindings/gpio/brcm,brcmstb-gpio.txt
3426+
F: drivers/gpio/gpio-brcmstb.c
34273427

34283428
BROADCOM BRCMSTB I2C DRIVER
34293429
M: Kamal Dasu <[email protected]>
@@ -3481,8 +3481,8 @@ BROADCOM KONA GPIO DRIVER
34813481
M: Ray Jui <[email protected]>
34823482
34833483
S: Supported
3484-
F: drivers/gpio/gpio-bcm-kona.c
34853484
F: Documentation/devicetree/bindings/gpio/brcm,kona-gpio.txt
3485+
F: drivers/gpio/gpio-bcm-kona.c
34863486

34873487
BROADCOM NETXTREME-E ROCE DRIVER
34883488
M: Selvin Xavier <[email protected]>
@@ -3597,8 +3597,8 @@ F: sound/pci/bt87x.c
35973597

35983598
BT8XXGPIO DRIVER
35993599
M: Michael Buesch <[email protected]>
3600-
W: http://bu3sch.de/btgpio.php
36013600
S: Maintained
3601+
W: http://bu3sch.de/btgpio.php
36023602
F: drivers/gpio/gpio-bt8xx.c
36033603

36043604
BTRFS FILE SYSTEM
@@ -7143,18 +7143,18 @@ GPIO SUBSYSTEM
71437143
M: Linus Walleij <[email protected]>
71447144
M: Bartosz Golaszewski <[email protected]>
71457145
7146-
T: git git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-gpio.git
71477146
S: Maintained
7147+
T: git git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-gpio.git
7148+
F: Documentation/ABI/obsolete/sysfs-gpio
7149+
F: Documentation/ABI/testing/gpio-cdev
7150+
F: Documentation/admin-guide/gpio/
71487151
F: Documentation/devicetree/bindings/gpio/
71497152
F: Documentation/driver-api/gpio/
7150-
F: Documentation/admin-guide/gpio/
7151-
F: Documentation/ABI/testing/gpio-cdev
7152-
F: Documentation/ABI/obsolete/sysfs-gpio
71537153
F: drivers/gpio/
7154+
F: include/asm-generic/gpio.h
71547155
F: include/linux/gpio/
71557156
F: include/linux/gpio.h
71567157
F: include/linux/of_gpio.h
7157-
F: include/asm-generic/gpio.h
71587158
F: include/uapi/linux/gpio.h
71597159
F: tools/gpio/
71607160

@@ -8055,8 +8055,8 @@ F: drivers/scsi/ips.*
80558055
ICH LPC AND GPIO DRIVER
80568056
M: Peter Tyser <[email protected]>
80578057
S: Maintained
8058-
F: drivers/mfd/lpc_ich.c
80598058
F: drivers/gpio/gpio-ich.c
8059+
F: drivers/mfd/lpc_ich.c
80608060

80618061
ICY I2C DRIVER
80628062
M: Max Staudt <[email protected]>
@@ -16075,8 +16075,8 @@ F: Documentation/devicetree/bindings/reset/snps,axs10x-reset.txt
1607516075
SYNOPSYS CREG GPIO DRIVER
1607616076
M: Eugeniy Paltsev <[email protected]>
1607716077
S: Maintained
16078-
F: drivers/gpio/gpio-creg-snps.c
1607916078
F: Documentation/devicetree/bindings/gpio/snps,creg-gpio.txt
16079+
F: drivers/gpio/gpio-creg-snps.c
1608016080

1608116081
SYNOPSYS DESIGNWARE 8250 UART DRIVER
1608216082
R: Andy Shevchenko <[email protected]>
@@ -16087,8 +16087,8 @@ SYNOPSYS DESIGNWARE APB GPIO DRIVER
1608716087
M: Hoan Tran <[email protected]>
1608816088
1608916089
S: Maintained
16090-
F: drivers/gpio/gpio-dwapb.c
1609116090
F: Documentation/devicetree/bindings/gpio/snps-dwapb-gpio.txt
16091+
F: drivers/gpio/gpio-dwapb.c
1609216092

1609316093
SYNOPSYS DESIGNWARE AXI DMAC DRIVER
1609416094
M: Eugeniy Paltsev <[email protected]>
@@ -18414,8 +18414,8 @@ M: Nandor Han <[email protected]>
1841418414
M: Semi Malinen <[email protected]>
1841518415
1841618416
S: Maintained
18417-
F: drivers/gpio/gpio-xra1403.c
1841818417
F: Documentation/devicetree/bindings/gpio/gpio-xra1403.txt
18418+
F: drivers/gpio/gpio-xra1403.c
1841918419

1842018420
XTENSA XTFPGA PLATFORM SUPPORT
1842118421
M: Max Filippov <[email protected]>

drivers/gpio/gpio-bd71828.c

Lines changed: 0 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -10,16 +10,6 @@
1010
#define GPIO_OUT_REG(off) (BD71828_REG_GPIO_CTRL1 + (off))
1111
#define HALL_GPIO_OFFSET 3
1212

13-
/*
14-
* These defines can be removed when
15-
* "gpio: Add definition for GPIO direction"
16-
* (9208b1e77d6e8e9776f34f46ef4079ecac9c3c25 in GPIO tree) gets merged,
17-
*/
18-
#ifndef GPIO_LINE_DIRECTION_IN
19-
#define GPIO_LINE_DIRECTION_IN 1
20-
#define GPIO_LINE_DIRECTION_OUT 0
21-
#endif
22-
2313
struct bd71828_gpio {
2414
struct rohm_regmap_dev chip;
2515
struct gpio_chip gpio;

drivers/gpio/gpiolib.c

Lines changed: 25 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -3035,13 +3035,33 @@ EXPORT_SYMBOL_GPL(gpiochip_free_own_desc);
30353035
* rely on gpio_request() having been called beforehand.
30363036
*/
30373037

3038-
static int gpio_set_config(struct gpio_chip *gc, unsigned int offset,
3039-
enum pin_config_param mode)
3038+
static int gpio_do_set_config(struct gpio_chip *gc, unsigned int offset,
3039+
unsigned long config)
30403040
{
30413041
if (!gc->set_config)
30423042
return -ENOTSUPP;
30433043

3044-
return gc->set_config(gc, offset, mode);
3044+
return gc->set_config(gc, offset, config);
3045+
}
3046+
3047+
static int gpio_set_config(struct gpio_chip *gc, unsigned int offset,
3048+
enum pin_config_param mode)
3049+
{
3050+
unsigned long config;
3051+
unsigned arg;
3052+
3053+
switch (mode) {
3054+
case PIN_CONFIG_BIAS_PULL_DOWN:
3055+
case PIN_CONFIG_BIAS_PULL_UP:
3056+
arg = 1;
3057+
break;
3058+
3059+
default:
3060+
arg = 0;
3061+
}
3062+
3063+
config = PIN_CONF_PACKED(mode, arg);
3064+
return gpio_do_set_config(gc, offset, config);
30453065
}
30463066

30473067
static int gpio_set_bias(struct gpio_chip *chip, struct gpio_desc *desc)
@@ -3277,7 +3297,7 @@ int gpiod_set_debounce(struct gpio_desc *desc, unsigned debounce)
32773297
chip = desc->gdev->chip;
32783298

32793299
config = pinconf_to_config_packed(PIN_CONFIG_INPUT_DEBOUNCE, debounce);
3280-
return gpio_set_config(chip, gpio_chip_hwgpio(desc), config);
3300+
return gpio_do_set_config(chip, gpio_chip_hwgpio(desc), config);
32813301
}
32823302
EXPORT_SYMBOL_GPL(gpiod_set_debounce);
32833303

@@ -3311,7 +3331,7 @@ int gpiod_set_transitory(struct gpio_desc *desc, bool transitory)
33113331
packed = pinconf_to_config_packed(PIN_CONFIG_PERSIST_STATE,
33123332
!transitory);
33133333
gpio = gpio_chip_hwgpio(desc);
3314-
rc = gpio_set_config(chip, gpio, packed);
3334+
rc = gpio_do_set_config(chip, gpio, packed);
33153335
if (rc == -ENOTSUPP) {
33163336
dev_dbg(&desc->gdev->dev, "Persistence not supported for GPIO %d\n",
33173337
gpio);

0 commit comments

Comments
 (0)