diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2024-09-18 10:43:07 +0200 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2024-09-18 10:43:07 +0200 |
commit | 9b08f8327f71bf3b091567f0a9ddb72ca60f4fb2 (patch) | |
tree | a32fda2b4379418975938f16e02866b23e095540 /drivers/gpio/gpio-ixp4xx.c | |
parent | cc52dc2fe39ff5dee9916ac2d9381ec3cbf650c0 (diff) | |
parent | 6b5e97c020060c2b8ad286002415106ab7034435 (diff) |
Merge tag 'gpio-updates-for-v6.12-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/brgl/linux
Pull gpio updates from Bartosz Golaszewski:
"Core GPIOLIB:
- provide and add users for a macro allowing to iterate over accepted
GPIO property names of consumer device nodes
- remove legacy definitions that are no longer used
- put legacy GPIO devres helpers together with the rest of the
deprecated code
- implement and use swnode_gpio_get_reference(): a wrapper
simplifying the underlying calls to
fwnode_property_get_reference_args()
- use IS_ERR_OR_NULL() where it makes sense
- replace of_find_property() with of_property_present()
- simplify code with the scoped variant of OF-node children iterator
Documentation:
- update GPIO kerneldocs with Return sections
- fix "Excess struct member description" warnings now being triggered
with W=1
New drivers:
- add support for Analog Devices ADP5585
Driver improvements:
- add support for wake-on-GPIO to gpio-mpc8xxx
- use GPIO_LOOKUP_IDX() in gpio-virtuser
- use devm_clk_get_[optional_]enabled() where applicable in several
drivers
- replace OF-specific functions with provider-agnostic alternatives
where possible
- drop support for legacy platform data from gpio-ath79 and
gpio-davinci
- refactor gpio-stmpe
- improve error reporting in gpio-pca953x
- add support for reading the direction of pins for some models to
gpio-vf610
DT bindings:
- convert the bindings for nxp,lpc3220 to YAML
- add gpio-reserved-ranges to gpio-davinci
- simplify the GPIO hog schema
- fix a GPIO hog issue in bindings for fcs,fxl6408
Other:
- fix format specifiers in user-space tools
- remove leftover files on make clean in tools/gpio/"
* tag 'gpio-updates-for-v6.12-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/brgl/linux: (54 commits)
gpio: mpc8xxx: switch to using DEFINE_RUNTIME_DEV_PM_OPS()
gpio: xilinx: Use helper function devm_clk_get_optional_enabled()
gpio: mb86s7x: Use helper function devm_clk_get_optional_enabled()
gpio: lpc18xx: Use helper function devm_clk_get_enabled()
gpio: cadence: Use helper function devm_clk_get_enabled()
gpio: sama5d2-piobu: convert comma to semicolon
gpio: mpc8xxx: order headers alphabetically
gpio: davinci: use devm_clk_get_enabled()
gpio: davinci: drop platform data support
gpio: stmpe: Sort headers
gpio: stmpe: Make use of device properties
gpio: stmpe: Utilise temporary variable for struct device
gpio: stmpe: Remove unused 'dev' member of struct stmpe_gpio
gpio: stmpe: Fix IRQ related error messages
gpio: pch: kerneldoc fixes for excess members
gpio: zynq: Simplify using devm_clk_get_enabled()
gpio: mpc8xxx: Add wake on GPIO support
gpio: syscon: fix excess struct member build warning
gpio: stp-xway: Simplify using devm_clk_get_enabled()
gpiolib: legacy: Consolidate devm_gpio_*() with other legacy APIs
...
Diffstat (limited to 'drivers/gpio/gpio-ixp4xx.c')
-rw-r--r-- | drivers/gpio/gpio-ixp4xx.c | 10 |
1 files changed, 4 insertions, 6 deletions
diff --git a/drivers/gpio/gpio-ixp4xx.c b/drivers/gpio/gpio-ixp4xx.c index c5a9fa640566..28a8a6a8f05f 100644 --- a/drivers/gpio/gpio-ixp4xx.c +++ b/drivers/gpio/gpio-ixp4xx.c @@ -6,6 +6,7 @@ // based on previous work and know-how from: // Deepak Saxena <dsaxena@plexity.net> +#include <linux/bitops.h> #include <linux/gpio/driver.h> #include <linux/io.h> #include <linux/irq.h> @@ -13,7 +14,7 @@ #include <linux/irqchip.h> #include <linux/of_irq.h> #include <linux/platform_device.h> -#include <linux/bitops.h> +#include <linux/property.h> #define IXP4XX_REG_GPOUT 0x00 #define IXP4XX_REG_GPOE 0x04 @@ -53,16 +54,14 @@ /** * struct ixp4xx_gpio - IXP4 GPIO state container * @dev: containing device for this instance - * @fwnode: the fwnode for this GPIO chip * @gc: gpiochip for this instance * @base: remapped I/O-memory base * @irq_edge: Each bit represents an IRQ: 1: edge-triggered, * 0: level triggered */ struct ixp4xx_gpio { - struct device *dev; - struct fwnode_handle *fwnode; struct gpio_chip gc; + struct device *dev; void __iomem *base; unsigned long long irq_edge; }; @@ -237,7 +236,6 @@ static int ixp4xx_gpio_probe(struct platform_device *pdev) dev_err(dev, "no IRQ parent domain\n"); return -ENODEV; } - g->fwnode = of_node_to_fwnode(np); /* * If either clock output is enabled explicitly in the device tree @@ -322,7 +320,7 @@ static int ixp4xx_gpio_probe(struct platform_device *pdev) girq = &g->gc.irq; gpio_irq_chip_set_chip(girq, &ixp4xx_gpio_irqchip); - girq->fwnode = g->fwnode; + girq->fwnode = dev_fwnode(dev); girq->parent_domain = parent; girq->child_to_parent_hwirq = ixp4xx_gpio_child_to_parent_hwirq; girq->handler = handle_bad_irq; |