Skip to content

Commit 380c7ba

Browse files
committed
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>
1 parent 5b19119 commit 380c7ba

10 files changed

Lines changed: 72 additions & 35 deletions

File tree

drivers/gpio/gpiolib-acpi.c

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -7,17 +7,19 @@
77
* Mika Westerberg <mika.westerberg@linux.intel.com>
88
*/
99

10+
#include <linux/acpi.h>
1011
#include <linux/dmi.h>
1112
#include <linux/errno.h>
12-
#include <linux/gpio/consumer.h>
13-
#include <linux/gpio/driver.h>
14-
#include <linux/gpio/machine.h>
1513
#include <linux/export.h>
16-
#include <linux/acpi.h>
1714
#include <linux/interrupt.h>
15+
#include <linux/irq.h>
1816
#include <linux/mutex.h>
1917
#include <linux/pinctrl/pinctrl.h>
2018

19+
#include <linux/gpio/consumer.h>
20+
#include <linux/gpio/driver.h>
21+
#include <linux/gpio/machine.h>
22+
2123
#include "gpiolib.h"
2224
#include "gpiolib-acpi.h"
2325

drivers/gpio/gpiolib-acpi.h

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,6 @@
99
#define GPIOLIB_ACPI_H
1010

1111
#include <linux/err.h>
12-
#include <linux/errno.h>
1312
#include <linux/types.h>
1413

1514
#include <linux/gpio/consumer.h>

drivers/gpio/gpiolib-of.c

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,14 +10,16 @@
1010
#include <linux/device.h>
1111
#include <linux/err.h>
1212
#include <linux/errno.h>
13-
#include <linux/module.h>
1413
#include <linux/io.h>
15-
#include <linux/gpio/consumer.h>
14+
#include <linux/module.h>
1615
#include <linux/of.h>
1716
#include <linux/of_address.h>
1817
#include <linux/of_gpio.h>
1918
#include <linux/pinctrl/pinctrl.h>
2019
#include <linux/slab.h>
20+
#include <linux/string.h>
21+
22+
#include <linux/gpio/consumer.h>
2123
#include <linux/gpio/machine.h>
2224

2325
#include "gpiolib.h"

drivers/gpio/gpiolib-of.h

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,6 @@
44
#define GPIOLIB_OF_H
55

66
#include <linux/err.h>
7-
#include <linux/errno.h>
87
#include <linux/types.h>
98

109
#include <linux/notifier.h>

drivers/gpio/gpiolib-swnode.c

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,13 +6,14 @@
66
*/
77
#include <linux/err.h>
88
#include <linux/errno.h>
9-
#include <linux/gpio/consumer.h>
10-
#include <linux/gpio/driver.h>
119
#include <linux/kernel.h>
1210
#include <linux/printk.h>
1311
#include <linux/property.h>
1412
#include <linux/string.h>
1513

14+
#include <linux/gpio/consumer.h>
15+
#include <linux/gpio/driver.h>
16+
1617
#include "gpiolib.h"
1718
#include "gpiolib-swnode.h"
1819

drivers/gpio/gpiolib-sysfs.c

Lines changed: 16 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,18 +1,29 @@
11
// SPDX-License-Identifier: GPL-2.0
2+
3+
#include <linux/bitops.h>
4+
#include <linux/device.h>
25
#include <linux/idr.h>
6+
#include <linux/init.h>
7+
#include <linux/interrupt.h>
8+
#include <linux/kdev_t.h>
9+
#include <linux/kstrtox.h>
10+
#include <linux/list.h>
311
#include <linux/mutex.h>
4-
#include <linux/device.h>
12+
#include <linux/printk.h>
13+
#include <linux/slab.h>
14+
#include <linux/spinlock.h>
15+
#include <linux/string.h>
516
#include <linux/sysfs.h>
17+
#include <linux/types.h>
18+
619
#include <linux/gpio/consumer.h>
720
#include <linux/gpio/driver.h>
8-
#include <linux/interrupt.h>
9-
#include <linux/kdev_t.h>
10-
#include <linux/slab.h>
11-
#include <linux/ctype.h>
1221

1322
#include "gpiolib.h"
1423
#include "gpiolib-sysfs.h"
1524

25+
struct kernfs_node;
26+
1627
#define GPIO_IRQF_TRIGGER_NONE 0
1728
#define GPIO_IRQF_TRIGGER_FALLING BIT(0)
1829
#define GPIO_IRQF_TRIGGER_RISING BIT(1)

drivers/gpio/gpiolib.c

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -6,22 +6,25 @@
66
#include <linux/debugfs.h>
77
#include <linux/device.h>
88
#include <linux/err.h>
9+
#include <linux/errno.h>
910
#include <linux/file.h>
1011
#include <linux/fs.h>
11-
#include <linux/gpio.h>
12-
#include <linux/gpio/driver.h>
13-
#include <linux/gpio/machine.h>
1412
#include <linux/idr.h>
1513
#include <linux/interrupt.h>
1614
#include <linux/irq.h>
1715
#include <linux/kernel.h>
1816
#include <linux/list.h>
1917
#include <linux/module.h>
18+
#include <linux/of.h>
2019
#include <linux/pinctrl/consumer.h>
2120
#include <linux/seq_file.h>
2221
#include <linux/slab.h>
2322
#include <linux/spinlock.h>
2423

24+
#include <linux/gpio.h>
25+
#include <linux/gpio/driver.h>
26+
#include <linux/gpio/machine.h>
27+
2528
#include <uapi/linux/gpio.h>
2629

2730
#include "gpiolib-acpi.h"

include/linux/gpio.h

Lines changed: 4 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -12,9 +12,10 @@
1212
#ifndef __LINUX_GPIO_H
1313
#define __LINUX_GPIO_H
1414

15-
#include <linux/errno.h>
1615
#include <linux/types.h>
1716

17+
struct device;
18+
1819
/* see Documentation/driver-api/gpio/legacy.rst */
1920

2021
/* make these flag values available regardless of GPIO kconfig options */
@@ -134,19 +135,16 @@ void gpio_free_array(const struct gpio *array, size_t num);
134135

135136
/* CONFIG_GPIOLIB: bindings for managed devices that want to request gpios */
136137

137-
struct device;
138-
139138
int devm_gpio_request(struct device *dev, unsigned gpio, const char *label);
140139
int devm_gpio_request_one(struct device *dev, unsigned gpio,
141140
unsigned long flags, const char *label);
142141

143142
#else /* ! CONFIG_GPIOLIB */
144143

145-
#include <linux/bug.h>
146144
#include <linux/kernel.h>
147145

148-
struct device;
149-
struct gpio_chip;
146+
#include <asm/bug.h>
147+
#include <asm/errno.h>
150148

151149
static inline bool gpio_is_valid(int number)
152150
{

include/linux/gpio/consumer.h

Lines changed: 10 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -3,15 +3,14 @@
33
#define __LINUX_GPIO_CONSUMER_H
44

55
#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>
97

108
struct acpi_device;
119
struct device;
1210
struct fwnode_handle;
13-
struct gpio_desc;
11+
1412
struct gpio_array;
13+
struct gpio_desc;
1514

1615
/**
1716
* struct gpio_descs - Struct containing an array of descriptors that can be
@@ -185,8 +184,11 @@ struct gpio_desc *devm_fwnode_gpiod_get_index(struct device *dev,
185184

186185
#else /* CONFIG_GPIOLIB */
187186

187+
#include <linux/err.h>
188188
#include <linux/kernel.h>
189189

190+
#include <asm/bug.h>
191+
190192
static inline int gpiod_count(struct device *dev, const char *con_id)
191193
{
192194
return 0;
@@ -616,6 +618,8 @@ struct gpio_desc *acpi_get_and_request_gpiod(char *path, unsigned int pin, char
616618

617619
#else /* CONFIG_GPIOLIB && CONFIG_ACPI */
618620

621+
#include <linux/err.h>
622+
619623
static inline int acpi_dev_add_driver_gpios(struct acpi_device *adev,
620624
const struct acpi_gpio_mapping *gpios)
621625
{
@@ -647,6 +651,8 @@ void gpiod_unexport(struct gpio_desc *desc);
647651

648652
#else /* CONFIG_GPIOLIB && CONFIG_GPIO_SYSFS */
649653

654+
#include <asm/errno.h>
655+
650656
static inline int gpiod_export(struct gpio_desc *desc,
651657
bool direction_may_change)
652658
{

include/linux/gpio/driver.h

Lines changed: 23 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -2,27 +2,35 @@
22
#ifndef __LINUX_GPIO_DRIVER_H
33
#define __LINUX_GPIO_DRIVER_H
44

5-
#include <linux/device.h>
6-
#include <linux/irq.h>
5+
#include <linux/bits.h>
76
#include <linux/irqchip/chained_irq.h>
87
#include <linux/irqdomain.h>
8+
#include <linux/irqhandler.h>
99
#include <linux/lockdep.h>
1010
#include <linux/pinctrl/pinconf-generic.h>
1111
#include <linux/pinctrl/pinctrl.h>
1212
#include <linux/property.h>
13+
#include <linux/spinlock_types.h>
1314
#include <linux/types.h>
1415

16+
#ifdef CONFIG_GENERIC_MSI_IRQ
1517
#include <asm/msi.h>
18+
#endif
1619

17-
struct gpio_desc;
20+
struct device;
21+
struct irq_chip;
22+
struct irq_data;
23+
struct module;
1824
struct of_phandle_args;
25+
struct pinctrl_dev;
1926
struct seq_file;
20-
struct gpio_device;
21-
struct module;
22-
enum gpiod_flags;
23-
enum gpio_lookup_flags;
2427

2528
struct gpio_chip;
29+
struct gpio_desc;
30+
struct gpio_device;
31+
32+
enum gpio_lookup_flags;
33+
enum gpiod_flags;
2634

2735
union gpio_irq_fwspec {
2836
struct irq_fwspec fwspec;
@@ -679,6 +687,10 @@ bool gpiochip_irqchip_irq_valid(const struct gpio_chip *gc,
679687
int gpiochip_irqchip_add_domain(struct gpio_chip *gc,
680688
struct irq_domain *domain);
681689
#else
690+
691+
#include <asm/bug.h>
692+
#include <asm/errno.h>
693+
682694
static inline int gpiochip_irqchip_add_domain(struct gpio_chip *gc,
683695
struct irq_domain *domain)
684696
{
@@ -756,6 +768,10 @@ struct gpio_chip *gpiod_to_chip(const struct gpio_desc *desc);
756768

757769
#else /* CONFIG_GPIOLIB */
758770

771+
#include <linux/err.h>
772+
773+
#include <asm/bug.h>
774+
759775
static inline struct gpio_chip *gpiod_to_chip(const struct gpio_desc *desc)
760776
{
761777
/* GPIO can never have been requested */

0 commit comments

Comments
 (0)