GPIO library uses of_node and fwnode in the core in non-unified way. The series cleans this up and improves IRQ domain creation for non-OF cases where currently the names of the domain are 'unknown'. This has been tested on Intel Galileo Gen 2. It touches GPIO core parts and it's expected that the series is routed via GPIO tree. In v5: - same as v4 + v3 (patches 1-4/5) in order to route via GPIO tree (Bart) In v4: - based on Rafael's bleeding-edge - split the rest to two patches (Rafael) - elaborate WARN() deduplication in the commit message (Rafael) In v3: - fixed subtle bug in gpiod_count - made irq_domain_add_simple() static inline (Marc) In v2: - added a new patch due to functionality in irq_comain_add_simple() (Linus) - tagged patches 2-4 (Linus) - Cc'ed to Rafael Andy Shevchenko (6): irqdomain: Introduce irq_domain_create_simple() API gpiolib: Unify the checks on fwnode type gpiolib: Move of_node operations to gpiolib-of and correct fwnode use gpiolib: Introduce acpi_gpio_dev_init() and call it from core gpiolib: Reuse device's fwnode to create IRQ domain gpiolib: Fold conditionals into a simple ternary operator Documentation/core-api/irq/irq-domain.rst | 22 ++++---- drivers/gpio/gpiolib-acpi.c | 7 +++ drivers/gpio/gpiolib-acpi.h | 4 ++ drivers/gpio/gpiolib-of.c | 6 ++- drivers/gpio/gpiolib.c | 61 +++++++++-------------- include/linux/irqdomain.h | 19 +++++-- kernel/irq/irqdomain.c | 20 ++++---- 7 files changed, 75 insertions(+), 64 deletions(-) -- 2.30.1