mirror of https://lore.kernel.org/linux-amlogic/
 help / color / mirror / Atom feed
From: khilman@baylibre.com (Kevin Hilman)
To: linus-amlogic@lists.infradead.org
Subject: [PATCH v6 2/9] irqchip: add Amlogic Meson GPIO irqchip driver
Date: Fri, 09 Jun 2017 16:30:07 -0700	[thread overview]
Message-ID: <m2tw3o4u4g.fsf@baylibre.com> (raw)
In-Reply-To: <702e4608-8592-41fe-b79c-fef985c49be7@gmail.com> (Heiner Kallweit's message of "Sat, 10 Jun 2017 00:30:14 +0200")

Heiner Kallweit <hkallweit1@gmail.com> writes:

> Am 09.06.2017 um 23:15 schrieb Kevin Hilman:
>> Jerome Brunet <jbrunet@baylibre.com> writes:
>> 
>>> On Thu, 2017-06-08 at 21:38 +0200, Heiner Kallweit wrote:
>>>> Add a driver supporting the GPIO interrupt controller on certain
>>>> Amlogic meson SoC's.
>>>>
>>>> Signed-off-by: Heiner Kallweit <hkallweit1@gmail.com>
>> 
>> [...]
>> 
>>>> +static unsigned int meson_irq_startup(struct irq_data *data)
>>>> +{
>>>> +	irq_chip_unmask_parent(data);
>>>> +	/*
>>>> +	 * An extra bit was added to allow having the same gpio hwirq twice
>>>> +	 * for handling IRQ_TYPE_EDGE_BOTH. Remove this bit to get the
>>>> +	 * gpio hwirq.
>>>> +	 */
>>>> +	meson_irq_set_hwirq(data, data->hwirq >> 1);
>>>
>>> Please keep in mind that any device can use this controller as irq parent.
>>> It has to make sense, even when not serving the gpio driver.
>>>
>>> This hack means that, in DT, we'd have to multiply by 2 the values given under
>>> section "22.3 GPIO interrupts" of the datasheet. This is an example Linux
>>> specific stuff in DT.
>>> It also means that the controller declares a lot more lines that it really has
>>> ... 
>>>
>>> This is all to accommodate your hack around IRQ_TYPE_BOTH and creating the
>>> mapping from the irq_set_type callback of the GPIO driver, which is still think
>>> should be dropped at this point.
>> 
>> +1
>> 
>> Please drop the hack for IRQ_TYPE_BOTH so we can reach agreement on the
>> basic design and functionality.  The gymnastics required to support this
>> hack (due to broken hardware) are getting in the way of getting basic
>> functionality merged.
>> 
> I haven't heard any feedback on the other proposal yet:
> Always reserve two parent irq's in the request_resources callback,
> then set_type is easy. How about this one?

The feedback is the same: let's consider that after getting the basics
reviewed, accepted and merged.

> Having max. 4 gpio irq's should be a fair price for a cleaner design.

Yuck, but better than no support for both _BOTH I guess.

But again, discussion of hacks for the hardware limitation is getting in
the way discussing and merging the basics.  Let's get the basics right
first, then add functionality.  

I understand it can be rather frustrating to give up features and/or
functionality for having something "clean", but unfortunately, that's
how the upstream linux kernel community has always worked.

Most maintainers prefer clean, well-designed and maintainable code that
comes in small, easily reviewable chunks over something that's difficult
to understand with hacks and workarounds.  Even if that means a limited
feature set initially.

Additional functionality (even if hacky) is much easier to review,
discuss and maintain *later* when it's on top of a starting point that
is clean.

Kevin

  reply	other threads:[~2017-06-09 23:30 UTC|newest]

Thread overview: 19+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-06-08 19:14 [PATCH v6 0/9] pinctrl: meson: add support for GPIO IRQs Heiner Kallweit
2017-06-08 19:37 ` [PATCH v6 1/9] pinctrl: meson: add interrupts to pinctrl data Heiner Kallweit
2017-06-09  7:30   ` Linus Walleij
2017-06-08 19:38 ` [PATCH v6 2/9] irqchip: add Amlogic Meson GPIO irqchip driver Heiner Kallweit
2017-06-09  7:31   ` Linus Walleij
2017-06-09  9:07   ` Jerome Brunet
2017-06-09 18:38     ` Heiner Kallweit
2017-06-09 21:15     ` Kevin Hilman
2017-06-09 22:30       ` Heiner Kallweit
2017-06-09 23:30         ` Kevin Hilman [this message]
2017-06-08 19:38 ` [PATCH v6 3/9] dt-bindings: add Amlogic Meson GPIO interrupt-controller DT binding documentation Heiner Kallweit
2017-06-08 19:38 ` [PATCH v6 4/9] ARM: dts: meson: add GPIO interrupt-controller support Heiner Kallweit
2017-06-08 19:39 ` [PATCH v6 5/9] ARM64: " Heiner Kallweit
2017-06-08 19:39 ` [PATCH v6 6/9] pinctrl: meson: add support for GPIO interrupts Heiner Kallweit
2017-06-09  9:06   ` Jerome Brunet
2017-06-09 18:09     ` Heiner Kallweit
2017-06-08 19:39 ` [PATCH v6 7/9] pinctrl: meson: update DT binding documentation Heiner Kallweit
2017-06-08 19:39 ` [PATCH v6 8/9] ARM: dts: meson: mark gpio controllers as interrupt controllers Heiner Kallweit
2017-06-08 19:39 ` [PATCH v6 9/9] ARM64: " Heiner Kallweit

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=m2tw3o4u4g.fsf@baylibre.com \
    --to=khilman@baylibre.com \
    --cc=linus-amlogic@lists.infradead.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox

all inboxes | Powered by JetHome®