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
next prev parent 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®