Hi all, Today's linux-next merge of the gpio-brgl tree got a conflict in: include/linux/gpio/driver.h between commit: c7663fa2a663 ("gpio: Move gpiochip_lock/unlock_as_irq to gpio/driver.h") from the gpio tree and commit: 9091373ab7ea ("gpio: remove less important #ifdef around declarations") from the gpio-brgl tree. I fixed it up (see below) and can carry the fix as necessary. This is now fixed as far as linux-next is concerned, but any non trivial conflicts should be mentioned to your upstream maintainer when your tree is submitted for merging. You may also want to consider cooperating with the maintainer of the conflicting tree to minimise any particularly complex conflicts. -- Cheers, Stephen Rothwell diff --cc include/linux/gpio/driver.h index 8d06a054abc8,f28f534f451a..000000000000 --- a/include/linux/gpio/driver.h +++ b/include/linux/gpio/driver.h @@@ -20,12 -20,6 +20,8 @@@ struct module enum gpiod_flags; enum gpio_lookup_flags; - #ifdef CONFIG_GPIOLIB - - #ifdef CONFIG_GPIOLIB_IRQCHIP - +struct gpio_chip; + /** * struct gpio_irq_chip - GPIO interrupt controller */ @@@ -520,38 -443,6 +513,35 @@@ struct bgpio_pdata int ngpio; }; +#ifdef CONFIG_IRQ_DOMAIN_HIERARCHY + +void gpiochip_populate_parent_fwspec_twocell(struct gpio_chip *chip, + struct irq_fwspec *fwspec, + unsigned int parent_hwirq, + unsigned int parent_type); +void gpiochip_populate_parent_fwspec_fourcell(struct gpio_chip *chip, + struct irq_fwspec *fwspec, + unsigned int parent_hwirq, + unsigned int parent_type); + +#else + +static inline void gpiochip_populate_parent_fwspec_twocell(struct gpio_chip *chip, + struct irq_fwspec *fwspec, + unsigned int parent_hwirq, + unsigned int parent_type) +{ +} + +static inline void gpiochip_populate_parent_fwspec_fourcell(struct gpio_chip *chip, + struct irq_fwspec *fwspec, + unsigned int parent_hwirq, + unsigned int parent_type) +{ +} + +#endif /* CONFIG_IRQ_DOMAIN_HIERARCHY */ + - - #if IS_ENABLED(CONFIG_GPIO_GENERIC) - int bgpio_init(struct gpio_chip *gc, struct device *dev, unsigned long sz, void __iomem *dat, void __iomem *set, void __iomem *clr, void __iomem *dirout, void __iomem *dirin, @@@ -720,10 -603,11 +702,15 @@@ void gpiochip_free_own_desc(struct gpio void devprop_gpiochip_set_names(struct gpio_chip *chip, const struct fwnode_handle *fwnode); + + #ifdef CONFIG_GPIOLIB + + struct gpio_chip *gpiod_to_chip(const struct gpio_desc *desc); + +/* lock/unlock as IRQ */ +int gpiochip_lock_as_irq(struct gpio_chip *chip, unsigned int offset); +void gpiochip_unlock_as_irq(struct gpio_chip *chip, unsigned int offset); + #else /* CONFIG_GPIOLIB */ static inline struct gpio_chip *gpiod_to_chip(const struct gpio_desc *desc) @@@ -733,18 -617,6 +720,18 @@@ return ERR_PTR(-ENODEV); } +static inline int gpiochip_lock_as_irq(struct gpio_chip *chip, + unsigned int offset) +{ + WARN_ON(1); + return -EINVAL; +} + +static inline void gpiochip_unlock_as_irq(struct gpio_chip *chip, + unsigned int offset) +{ + WARN_ON(1); +} #endif /* CONFIG_GPIOLIB */ - #endif + #endif /* __LINUX_GPIO_DRIVER_H */
Attachment:
pgp7ZrybCt2KK.pgp
Description: OpenPGP digital signature