Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

gpiolib: Clean up headers

There is a few things done:
- include only the headers we are direct user of
- when pointer is in use, provide a forward declaration
- add missing headers
- group generic headers and subsystem headers
- sort each group alphabetically

Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>

+75 -38
+7 -5
drivers/gpio/gpiolib-acpi.c
··· 7 7 * Mika Westerberg <mika.westerberg@linux.intel.com> 8 8 */ 9 9 10 + #include <linux/acpi.h> 10 11 #include <linux/dmi.h> 11 12 #include <linux/errno.h> 13 + #include <linux/export.h> 14 + #include <linux/interrupt.h> 15 + #include <linux/irq.h> 16 + #include <linux/mutex.h> 17 + #include <linux/pinctrl/pinctrl.h> 18 + 12 19 #include <linux/gpio/consumer.h> 13 20 #include <linux/gpio/driver.h> 14 21 #include <linux/gpio/machine.h> 15 - #include <linux/export.h> 16 - #include <linux/acpi.h> 17 - #include <linux/interrupt.h> 18 - #include <linux/mutex.h> 19 - #include <linux/pinctrl/pinctrl.h> 20 22 21 23 #include "gpiolib.h" 22 24 #include "gpiolib-acpi.h"
-1
drivers/gpio/gpiolib-acpi.h
··· 9 9 #define GPIOLIB_ACPI_H 10 10 11 11 #include <linux/err.h> 12 - #include <linux/errno.h> 13 12 #include <linux/types.h> 14 13 15 14 #include <linux/gpio/consumer.h>
+4 -2
drivers/gpio/gpiolib-of.c
··· 10 10 #include <linux/device.h> 11 11 #include <linux/err.h> 12 12 #include <linux/errno.h> 13 - #include <linux/module.h> 14 13 #include <linux/io.h> 15 - #include <linux/gpio/consumer.h> 14 + #include <linux/module.h> 16 15 #include <linux/of.h> 17 16 #include <linux/of_address.h> 18 17 #include <linux/of_gpio.h> 19 18 #include <linux/pinctrl/pinctrl.h> 20 19 #include <linux/slab.h> 20 + #include <linux/string.h> 21 + 22 + #include <linux/gpio/consumer.h> 21 23 #include <linux/gpio/machine.h> 22 24 23 25 #include "gpiolib.h"
-1
drivers/gpio/gpiolib-of.h
··· 4 4 #define GPIOLIB_OF_H 5 5 6 6 #include <linux/err.h> 7 - #include <linux/errno.h> 8 7 #include <linux/types.h> 9 8 10 9 #include <linux/notifier.h>
+3 -2
drivers/gpio/gpiolib-swnode.c
··· 6 6 */ 7 7 #include <linux/err.h> 8 8 #include <linux/errno.h> 9 - #include <linux/gpio/consumer.h> 10 - #include <linux/gpio/driver.h> 11 9 #include <linux/kernel.h> 12 10 #include <linux/printk.h> 13 11 #include <linux/property.h> 14 12 #include <linux/string.h> 13 + 14 + #include <linux/gpio/consumer.h> 15 + #include <linux/gpio/driver.h> 15 16 16 17 #include "gpiolib.h" 17 18 #include "gpiolib-swnode.h"
+17 -6
drivers/gpio/gpiolib-sysfs.c
··· 1 1 // SPDX-License-Identifier: GPL-2.0 2 - #include <linux/idr.h> 3 - #include <linux/mutex.h> 2 + 3 + #include <linux/bitops.h> 4 4 #include <linux/device.h> 5 - #include <linux/sysfs.h> 6 - #include <linux/gpio/consumer.h> 7 - #include <linux/gpio/driver.h> 5 + #include <linux/idr.h> 6 + #include <linux/init.h> 8 7 #include <linux/interrupt.h> 9 8 #include <linux/kdev_t.h> 9 + #include <linux/kstrtox.h> 10 + #include <linux/list.h> 11 + #include <linux/mutex.h> 12 + #include <linux/printk.h> 10 13 #include <linux/slab.h> 11 - #include <linux/ctype.h> 14 + #include <linux/spinlock.h> 15 + #include <linux/string.h> 16 + #include <linux/sysfs.h> 17 + #include <linux/types.h> 18 + 19 + #include <linux/gpio/consumer.h> 20 + #include <linux/gpio/driver.h> 12 21 13 22 #include "gpiolib.h" 14 23 #include "gpiolib-sysfs.h" 24 + 25 + struct kernfs_node; 15 26 16 27 #define GPIO_IRQF_TRIGGER_NONE 0 17 28 #define GPIO_IRQF_TRIGGER_FALLING BIT(0)
+6 -3
drivers/gpio/gpiolib.c
··· 6 6 #include <linux/debugfs.h> 7 7 #include <linux/device.h> 8 8 #include <linux/err.h> 9 + #include <linux/errno.h> 9 10 #include <linux/file.h> 10 11 #include <linux/fs.h> 11 - #include <linux/gpio.h> 12 - #include <linux/gpio/driver.h> 13 - #include <linux/gpio/machine.h> 14 12 #include <linux/idr.h> 15 13 #include <linux/interrupt.h> 16 14 #include <linux/irq.h> 17 15 #include <linux/kernel.h> 18 16 #include <linux/list.h> 19 17 #include <linux/module.h> 18 + #include <linux/of.h> 20 19 #include <linux/pinctrl/consumer.h> 21 20 #include <linux/seq_file.h> 22 21 #include <linux/slab.h> 23 22 #include <linux/spinlock.h> 23 + 24 + #include <linux/gpio.h> 25 + #include <linux/gpio/driver.h> 26 + #include <linux/gpio/machine.h> 24 27 25 28 #include <uapi/linux/gpio.h> 26 29
+4 -6
include/linux/gpio.h
··· 12 12 #ifndef __LINUX_GPIO_H 13 13 #define __LINUX_GPIO_H 14 14 15 - #include <linux/errno.h> 16 15 #include <linux/types.h> 16 + 17 + struct device; 17 18 18 19 /* see Documentation/driver-api/gpio/legacy.rst */ 19 20 ··· 135 134 136 135 /* CONFIG_GPIOLIB: bindings for managed devices that want to request gpios */ 137 136 138 - struct device; 139 - 140 137 int devm_gpio_request(struct device *dev, unsigned gpio, const char *label); 141 138 int devm_gpio_request_one(struct device *dev, unsigned gpio, 142 139 unsigned long flags, const char *label); 143 140 144 141 #else /* ! CONFIG_GPIOLIB */ 145 142 146 - #include <linux/bug.h> 147 143 #include <linux/kernel.h> 148 144 149 - struct device; 150 - struct gpio_chip; 145 + #include <asm/bug.h> 146 + #include <asm/errno.h> 151 147 152 148 static inline bool gpio_is_valid(int number) 153 149 {
+10 -4
include/linux/gpio/consumer.h
··· 3 3 #define __LINUX_GPIO_CONSUMER_H 4 4 5 5 #include <linux/bits.h> 6 - #include <linux/bug.h> 7 - #include <linux/compiler_types.h> 8 - #include <linux/err.h> 6 + #include <linux/types.h> 9 7 10 8 struct acpi_device; 11 9 struct device; 12 10 struct fwnode_handle; 13 - struct gpio_desc; 11 + 14 12 struct gpio_array; 13 + struct gpio_desc; 15 14 16 15 /** 17 16 * struct gpio_descs - Struct containing an array of descriptors that can be ··· 184 185 185 186 #else /* CONFIG_GPIOLIB */ 186 187 188 + #include <linux/err.h> 187 189 #include <linux/kernel.h> 190 + 191 + #include <asm/bug.h> 188 192 189 193 static inline int gpiod_count(struct device *dev, const char *con_id) 190 194 { ··· 618 616 619 617 #else /* CONFIG_GPIOLIB && CONFIG_ACPI */ 620 618 619 + #include <linux/err.h> 620 + 621 621 static inline int acpi_dev_add_driver_gpios(struct acpi_device *adev, 622 622 const struct acpi_gpio_mapping *gpios) 623 623 { ··· 650 646 void gpiod_unexport(struct gpio_desc *desc); 651 647 652 648 #else /* CONFIG_GPIOLIB && CONFIG_GPIO_SYSFS */ 649 + 650 + #include <asm/errno.h> 653 651 654 652 static inline int gpiod_export(struct gpio_desc *desc, 655 653 bool direction_may_change)
+24 -8
include/linux/gpio/driver.h
··· 2 2 #ifndef __LINUX_GPIO_DRIVER_H 3 3 #define __LINUX_GPIO_DRIVER_H 4 4 5 - #include <linux/device.h> 6 - #include <linux/irq.h> 5 + #include <linux/bits.h> 7 6 #include <linux/irqchip/chained_irq.h> 8 7 #include <linux/irqdomain.h> 8 + #include <linux/irqhandler.h> 9 9 #include <linux/lockdep.h> 10 10 #include <linux/pinctrl/pinconf-generic.h> 11 11 #include <linux/pinctrl/pinctrl.h> 12 12 #include <linux/property.h> 13 + #include <linux/spinlock_types.h> 13 14 #include <linux/types.h> 14 15 16 + #ifdef CONFIG_GENERIC_MSI_IRQ 15 17 #include <asm/msi.h> 18 + #endif 16 19 17 - struct gpio_desc; 18 - struct of_phandle_args; 19 - struct seq_file; 20 - struct gpio_device; 20 + struct device; 21 + struct irq_chip; 22 + struct irq_data; 21 23 struct module; 22 - enum gpiod_flags; 23 - enum gpio_lookup_flags; 24 + struct of_phandle_args; 25 + struct pinctrl_dev; 26 + struct seq_file; 24 27 25 28 struct gpio_chip; 29 + struct gpio_desc; 30 + struct gpio_device; 31 + 32 + enum gpio_lookup_flags; 33 + enum gpiod_flags; 26 34 27 35 union gpio_irq_fwspec { 28 36 struct irq_fwspec fwspec; ··· 687 679 int gpiochip_irqchip_add_domain(struct gpio_chip *gc, 688 680 struct irq_domain *domain); 689 681 #else 682 + 683 + #include <asm/bug.h> 684 + #include <asm/errno.h> 685 + 690 686 static inline int gpiochip_irqchip_add_domain(struct gpio_chip *gc, 691 687 struct irq_domain *domain) 692 688 { ··· 767 755 struct gpio_chip *gpiod_to_chip(const struct gpio_desc *desc); 768 756 769 757 #else /* CONFIG_GPIOLIB */ 758 + 759 + #include <linux/err.h> 760 + 761 + #include <asm/bug.h> 770 762 771 763 static inline struct gpio_chip *gpiod_to_chip(const struct gpio_desc *desc) 772 764 {