Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1700059 > unrolled thread

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

Started byLinus Walleij <linus.walleij@linaro.org>
First post2017-07-31 15:50 +0200
Last post2017-08-02 03:30 +0200
Articles 5 — 4 participants

Back to article view | Back to linux.kernel

This discussion starts older than the indexed window; earlier articles aren't shown. The article labeled Started by below is the oldest one visible, not the original post.


Contents

  Re: [PATCH] gpio: drop unnecessary includes from include/linux/gpio/driver.h Linus Walleij <linus.walleij@linaro.org> - 2017-07-31 15:50 +0200
    Re: [PATCH] gpio: drop unnecessary includes from  include/linux/gpio/driver.h Andy Shevchenko <andriy.shevchenko@linux.intel.com> - 2017-07-31 16:10 +0200
      Re: [PATCH] gpio: drop unnecessary includes from include/linux/gpio/driver.h Linus Walleij <linus.walleij@linaro.org> - 2017-08-01 10:00 +0200
        Re: [PATCH] gpio: drop unnecessary includes from include/linux/gpio/driver.h Andy Shevchenko <andy.shevchenko@gmail.com> - 2017-08-01 13:10 +0200
          Re: [PATCH] gpio: drop unnecessary includes from include/linux/gpio/driver.h Masahiro Yamada <yamada.masahiro@socionext.com> - 2017-08-02 03:30 +0200

#1700059 — Re: [PATCH] gpio: drop unnecessary includes from include/linux/gpio/driver.h

FromLinus Walleij <linus.walleij@linaro.org>
Date2017-07-31 15:50 +0200
SubjectRe: [PATCH] gpio: drop unnecessary includes from include/linux/gpio/driver.h
Message-ID<u9jf3-6U3-3@gated-at.bofh.it>
On Tue, Jul 4, 2017 at 12:06 PM, Andy Shevchenko
<andriy.shevchenko@linux.intel.com> 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.

Yours,
Linus Walleij

[toc] | [next] | [standalone]


#1700073 — Re: [PATCH] gpio: drop unnecessary includes from include/linux/gpio/driver.h

FromAndy Shevchenko <andriy.shevchenko@linux.intel.com>
Date2017-07-31 16:10 +0200
SubjectRe: [PATCH] gpio: drop unnecessary includes from include/linux/gpio/driver.h
Message-ID<u9jyq-7fE-11@gated-at.bofh.it>
In reply to#1700059
On Mon, 2017-07-31 at 15:48 +0200, Linus Walleij wrote:
> On Tue, Jul 4, 2017 at 12:06 PM, Andy Shevchenko
> <andriy.shevchenko@linux.intel.com> 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 <andriy.shevchenko@linux.intel.com>
Intel Finland Oy

[toc] | [prev] | [next] | [standalone]


#1700713

FromLinus Walleij <linus.walleij@linaro.org>
Date2017-08-01 10:00 +0200
Message-ID<u9AfV-pF-25@gated-at.bofh.it>
In reply to#1700073
On Mon, Jul 31, 2017 at 4:04 PM, Andy Shevchenko
<andriy.shevchenko@linux.intel.com> wrote:
> On Mon, 2017-07-31 at 15:48 +0200, Linus Walleij wrote:
>> On Tue, Jul 4, 2017 at 12:06 PM, Andy Shevchenko
>> <andriy.shevchenko@linux.intel.com> 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).

We are in violent agreement :D

Yours,
Linus Walleij

[toc] | [prev] | [next] | [standalone]


#1700870

FromAndy Shevchenko <andy.shevchenko@gmail.com>
Date2017-08-01 13:10 +0200
Message-ID<u9DdL-3gc-11@gated-at.bofh.it>
In reply to#1700713
On Tue, Aug 1, 2017 at 10:53 AM, Linus Walleij <linus.walleij@linaro.org> wrote:
> On Mon, Jul 31, 2017 at 4:04 PM, Andy Shevchenko
> <andriy.shevchenko@linux.intel.com> wrote:
>> On Mon, 2017-07-31 at 15:48 +0200, Linus Walleij wrote:
>>> On Tue, Jul 4, 2017 at 12:06 PM, Andy Shevchenko
>>> <andriy.shevchenko@linux.intel.com> wrote:

>>> > 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).
>
> We are in violent agreement :D

What I would like to say is that is up to you after all :-)
For me looks better to split.

-- 
With Best Regards,
Andy Shevchenko

[toc] | [prev] | [next] | [standalone]


#1701618

FromMasahiro Yamada <yamada.masahiro@socionext.com>
Date2017-08-02 03:30 +0200
Message-ID<u9QE1-3cM-3@gated-at.bofh.it>
In reply to#1700870
Hi.

2017-08-01 20:04 GMT+09:00 Andy Shevchenko <andy.shevchenko@gmail.com>:
> On Tue, Aug 1, 2017 at 10:53 AM, Linus Walleij <linus.walleij@linaro.org> wrote:
>> On Mon, Jul 31, 2017 at 4:04 PM, Andy Shevchenko
>> <andriy.shevchenko@linux.intel.com> wrote:
>>> On Mon, 2017-07-31 at 15:48 +0200, Linus Walleij wrote:
>>>> On Tue, Jul 4, 2017 at 12:06 PM, Andy Shevchenko
>>>> <andriy.shevchenko@linux.intel.com> wrote:
>
>>>> > 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).
>>
>> We are in violent agreement :D
>
> What I would like to say is that is up to you after all :-)
> For me looks better to split.



I will split this into sensible chunks.


As I mentioned before, linux/gpio/driver.h is included from several sub-systems,
so I need at least two development cycles to finish this task.


Maybe,

[1] Send patches to subsystems (gpio, pinctrl, etc.) for v4.14
     (splitting into sensible chunks, like per-driver)
[2] Drop unneeded includes from linux/gpio/driver.h for v4.15




-- 
Best Regards
Masahiro Yamada

[toc] | [prev] | [standalone]


Back to top | Article view | linux.kernel


csiph-web