Subject: [PATCH] gpio: drop unnecessary includes from include/linux/gpio/driver.h

From: [email-masked] (Andy Shevchenko)
Date: Mon, 31 Jul 2017 17:04:27 +0300

On Mon, 2017-07-31 at 15:48 +0200, Linus Walleij wrote:
> On Tue, Jul 4, 2017 at 12:06 PM, Andy Shevchenko
> <[email-masked]> wrote:
> > On Tue, 2017-07-04 at 12:53 +0900, Masahiro Yamada wrote:
> > > Some of include directives in include/linux/gpio/driver.h are
> > > unneeded because the header does not need to know the content of
> > > struct device, irq_chip, etc.??Just declare they are structures.
> > > 
> > > On the other hand, <linux/irqhandler.h> and
> > > <linux/spinlock_types.h>
> > > turned out to be necessary for irq_flow_handler_t and spinlock_t,
> > > respectively.
> > > 
> > > Each driver should include what it needs without relying on what
> > > is
> > > implicitly included from <linux/gpio/driver.h>.??This will cut
> > > down
> > > unnecessary header parsing.
> > 
> > If Linus is okay with the following proposal I would rather go with
> > it,
> > i.e. logical split the series to
> > 
> > 1. Fix IRQ related headers inclusion
> > 2. Fix pinconf-generic.h inclusion
> > 3. Fix OF headers inclusion (btw, of_gpio.h is not enough there?)
> 
> That works fine with me, but also one big patch actually, I do not
> want to make it too much work to refactor obviously incorrect things.
> 
> As soon as we have rough consensus on this and the build robot
> are happy I will apply it to GPIO and also pull it into the pinctrl
> subsystem.

For me priorities like this:
1) it works after the patch being applied (no regressions);
2) it makes code cleaner at the end;
3) it is presented in logically split parts.

So, as long as 1) and 2) are satisfied I can neglect on 3).

-- 
Andy Shevchenko <[email-masked]>
Intel Finland Oy