History

Merge tag 'gpio-v5.5-1' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-gpio

Pull GPIO updates from Linus Walleij: "This is the bulk of GPIO changes for the v5.5 kernel cycle Core changes: - Expose pull up/down flags for the GPIO character device to userspace. After clear input from the RaspberryPi and Beagle communities, it has been established that prototyping, industrial automation and make communities strongly need this feature, and as we want people to use the character device, we have implemented the simple pull up/down interface for GPIO lines. This means we can specify that a (chip-specific) pull up/down resistor can be enabled, but does not offer fine-grained control such as cases where the resistance of the same pull resistor can be controlled (yet). - Introduce devm_fwnode_gpiod_get_index() and start to phase out the old symbol devm_fwnode_get_index_gpiod_from_child(). - A bit of documentation clean-up work. - Introduce a define for GPIO line directions and deploy it in all GPIO drivers in the drivers/gpio directory. - Add a special callback to populate pin ranges when cooperating with the pin control subsystem and registering ranges as part of adding a gpiolib driver and a gpio_irq_chip driver at the same time. This is also deployed in the Intel Merrifield driver. New drivers: - RDA Micro GPIO controller. - XGS-iproc GPIO driver. Driver improvements: - Wake event and debounce support on the Tegra 186 driver. - Finalize the Aspeed SGPIO driver. - MPC8xxx uses a normal IRQ handler rather than a chained handler" * tag 'gpio-v5.5-1' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-gpio: (64 commits) gpio: Add TODO item for regmap helper Documentation: gpio: driver.rst: Fix warnings gpio: of: Fix bogus reference to gpiod_get_count() gpiolib: Grammar s/manager/managed/ gpio: lynxpoint: Setup correct IRQ handlers MAINTAINERS: Replace my email by one @kernel.org gpiolib: acpi: Make acpi_gpiochip_alloc_event always return AE_OK gpio/mpc8xxx: fix qoriq GPIO reading gpio: mpc8xxx: Don't overwrite default irq_set_type callback gpiolib: acpi: Print pin number on acpi_gpiochip_alloc_event errors gpiolib: fix coding style in gpiod_hog() drm/bridge: ti-tfp410: switch to using fwnode_gpiod_get_index() gpio: merrifield: Pass irqchip when adding gpiochip gpio: merrifield: Add GPIO <-> pin mapping ranges via callback gpiolib: Introduce ->add_pin_ranges() callback gpio: mmio: remove untrue leftover comment gpio: em: Use platform_get_irq() to obtain interrupts gpio: tegra186: Add debounce support gpio: tegra186: Program interrupt route mapping gpio: tegra186: Derive register offsets from bank/port ...

Linus Torvalds committed 6 years ago

Commit 99a0d9f2 parents 3732391 41c461688 files · +1849 −598Browse files

Showing the changes to include/linux (1 of 88 files). Show all

Unified · Split

include/linux/gpio/driver.h+8−0
@@ -22,6 +22,9 @@ enum gpio_lookup_flags; · 21 unmodified lines
22 22
23struct gpio_chip;23struct gpio_chip;
24 24
25#define GPIO_LINE_DIRECTION_IN 1
26#define GPIO_LINE_DIRECTION_OUT 0
27
25/**28/**
26 * struct gpio_irq_chip - GPIO interrupt controller29 * struct gpio_irq_chip - GPIO interrupt controller
27 */30 */
@@ -286,6 +289,9 @@ struct gpio_irq_chip { · 258 unmodified lines
286 * state (such as pullup/pulldown configuration).289 * state (such as pullup/pulldown configuration).
287 * @init_valid_mask: optional routine to initialize @valid_mask, to be used if290 * @init_valid_mask: optional routine to initialize @valid_mask, to be used if
288 * not all GPIOs are valid.291 * not all GPIOs are valid.
292 * @add_pin_ranges: optional routine to initialize pin ranges, to be used when
293 * requires special mapping of the pins that provides GPIO functionality.
294 * It is called after adding GPIO chip and before adding IRQ chip.
289 * @base: identifies the first GPIO number handled by this chip;295 * @base: identifies the first GPIO number handled by this chip;
290 * or, if negative during registration, requests dynamic ID allocation.296 * or, if negative during registration, requests dynamic ID allocation.
291 * DEPRECATION: providing anything non-negative and nailing the base297 * DEPRECATION: providing anything non-negative and nailing the base
@@ -376,6 +382,8 @@ struct gpio_chip { · 84 unmodified lines
376 unsigned long *valid_mask,382 unsigned long *valid_mask,
377 unsigned int ngpios);383 unsigned int ngpios);
378 384
385 int (*add_pin_ranges)(struct gpio_chip *chip);
386
379 int base;387 int base;
380 u16 ngpio;388 u16 ngpio;
381 const char *const *names;389 const char *const *names;

Keyboard shortcuts

General

Show keyboard shortcuts
?
Focus the current search
/

Issues and pull requests

Open filters
f

Issues, pull requests and Inbox

Select next item
j↓
Select previous item
k↑
Open selected item
Enter
Dismiss filters or clear selection
Esc

Repository code

Go to file
t