From: Marc Zyngier <maz@kernel.org>
To: Richard Fitzgerald <rf@opensource.cirrus.com>
Cc: devicetree@vger.kernel.org, alsa-devel@alsa-project.org,
patches@opensource.cirrus.com, linus.walleij@linaro.org,
lee@kernel.org, linux-kernel@vger.kernel.org, robh+dt@kernel.org,
linux-gpio@vger.kernel.org, broonie@kernel.org,
krzysztof.kozlowski+dt@linaro.org, tglx@linutronix.de
Subject: Re: [PATCH 09/12] irqchip: cirrus: Add driver for Cirrus Logic CS48L31/32/33 codecs
Date: Thu, 10 Nov 2022 12:01:45 +0000 [thread overview]
Message-ID: <86pmdvow5y.wl-maz@kernel.org> (raw)
In-Reply-To: <c0c05799-6424-7edf-01b3-e28a10907b2c@opensource.cirrus.com>
On Thu, 10 Nov 2022 11:22:26 +0000,
Richard Fitzgerald <rf@opensource.cirrus.com> wrote:
>
> On 10/11/2022 08:02, Marc Zyngier wrote:
> > On Wed, 09 Nov 2022 16:53:28 +0000,
> > Richard Fitzgerald <rf@opensource.cirrus.com> wrote:
> >>
> >> The Cirrus Logic CS48L31/32/33 audio codecs contain a programmable
> >> interrupt controller with a variety of interrupt sources, including
> >> GPIOs that can be used as interrupt inputs.
> >>
> >> This driver provides the handling for the interrupt controller. As the
> >> codec is accessed via regmap, the generic regmap_irq functionality
> >> is used to do most of the work.
> >>
> >
> > I cannot spot a shred of interrupt controller code in there. This
>
> It is providing support for handling an interrupt controller so that
> other drivers can bind to those interrupts. It's just that regmap
> provides a lot of generic implementation for SPI-connected interrupt
> controllers so we don't need to open-code all that in the
> irqchip driver.
And thus none of that code needs to live in drivers/irqchip.
>
> > belongs IMO to the MFD code.
>
> We did once put interrupt support in MFD for an older product line but
> the MFD maintainer doesn't like the MFD being a dumping-ground for
> random other functionality that have their own subsystems.
I don't like this stuff either. All this code is a glorified set of
interrupt handlers and #defines that only hide the lack of a proper DT
binding to express the interrupt routing (it feels like looking at
board files from 10 years ago).
None of that belongs in the irqchip code.
>
> > It is also a direct copy of the existing
> > irq-madera.c code, duplicated for no obvious reason.
>
> It's not a duplicate. The register map of this device is different
> (different addressing, 32-bit registers not 16-bit)
And? How hard is it to implement an indirection containing the
register map and the relevant callbacks? /roll-eyes
M.
--
Without deviation from the norm, progress is not possible.
WARNING: multiple messages have this Message-ID (diff)
From: Marc Zyngier <maz@kernel.org>
To: Richard Fitzgerald <rf@opensource.cirrus.com>
Cc: <lee@kernel.org>, <robh+dt@kernel.org>,
<krzysztof.kozlowski+dt@linaro.org>, <linus.walleij@linaro.org>,
<broonie@kernel.org>, <tglx@linutronix.de>,
<alsa-devel@alsa-project.org>, <devicetree@vger.kernel.org>,
<linux-gpio@vger.kernel.org>, <linux-kernel@vger.kernel.org>,
<patches@opensource.cirrus.com>
Subject: Re: [PATCH 09/12] irqchip: cirrus: Add driver for Cirrus Logic CS48L31/32/33 codecs
Date: Thu, 10 Nov 2022 12:01:45 +0000 [thread overview]
Message-ID: <86pmdvow5y.wl-maz@kernel.org> (raw)
In-Reply-To: <c0c05799-6424-7edf-01b3-e28a10907b2c@opensource.cirrus.com>
On Thu, 10 Nov 2022 11:22:26 +0000,
Richard Fitzgerald <rf@opensource.cirrus.com> wrote:
>
> On 10/11/2022 08:02, Marc Zyngier wrote:
> > On Wed, 09 Nov 2022 16:53:28 +0000,
> > Richard Fitzgerald <rf@opensource.cirrus.com> wrote:
> >>
> >> The Cirrus Logic CS48L31/32/33 audio codecs contain a programmable
> >> interrupt controller with a variety of interrupt sources, including
> >> GPIOs that can be used as interrupt inputs.
> >>
> >> This driver provides the handling for the interrupt controller. As the
> >> codec is accessed via regmap, the generic regmap_irq functionality
> >> is used to do most of the work.
> >>
> >
> > I cannot spot a shred of interrupt controller code in there. This
>
> It is providing support for handling an interrupt controller so that
> other drivers can bind to those interrupts. It's just that regmap
> provides a lot of generic implementation for SPI-connected interrupt
> controllers so we don't need to open-code all that in the
> irqchip driver.
And thus none of that code needs to live in drivers/irqchip.
>
> > belongs IMO to the MFD code.
>
> We did once put interrupt support in MFD for an older product line but
> the MFD maintainer doesn't like the MFD being a dumping-ground for
> random other functionality that have their own subsystems.
I don't like this stuff either. All this code is a glorified set of
interrupt handlers and #defines that only hide the lack of a proper DT
binding to express the interrupt routing (it feels like looking at
board files from 10 years ago).
None of that belongs in the irqchip code.
>
> > It is also a direct copy of the existing
> > irq-madera.c code, duplicated for no obvious reason.
>
> It's not a duplicate. The register map of this device is different
> (different addressing, 32-bit registers not 16-bit)
And? How hard is it to implement an indirection containing the
register map and the relevant callbacks? /roll-eyes
M.
--
Without deviation from the norm, progress is not possible.
next prev parent reply other threads:[~2022-11-10 12:02 UTC|newest]
Thread overview: 98+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-11-09 16:53 [PATCH 00/12] Add support for the Cirrus Logic CS48L32 audio codecs Richard Fitzgerald
2022-11-09 16:53 ` Richard Fitzgerald
2022-11-09 16:53 ` [PATCH 01/12] dt-bindings: mfd: Add Cirrus Logic CS48L32 audio codec Richard Fitzgerald
2022-11-09 16:53 ` Richard Fitzgerald
2022-11-09 21:09 ` Rob Herring
2022-11-09 21:09 ` Rob Herring
2022-11-14 8:36 ` Krzysztof Kozlowski
2022-11-14 8:36 ` Krzysztof Kozlowski
2022-11-09 16:53 ` [PATCH 02/12] mfd: cs48l32: Add register definitions for Cirrus Logic CS48L31/32/33 Richard Fitzgerald
2022-11-09 16:53 ` Richard Fitzgerald
2022-11-09 16:53 ` [PATCH 03/12] mfd: cs48l32: Add support for CS48L31/32/33 codecs Richard Fitzgerald
2022-11-09 16:53 ` Richard Fitzgerald
2022-11-11 23:07 ` kernel test robot
2022-11-11 23:07 ` kernel test robot
2022-11-16 15:43 ` Lee Jones
2022-11-16 15:43 ` Lee Jones
2022-11-09 16:53 ` [PATCH 04/12] dt-bindings: pinctrl: Add Cirrus Logic CS48L31/32/33 Richard Fitzgerald
2022-11-09 16:53 ` Richard Fitzgerald
2022-11-09 21:09 ` Rob Herring
2022-11-09 21:09 ` Rob Herring
2022-11-14 8:39 ` Krzysztof Kozlowski
2022-11-14 8:39 ` Krzysztof Kozlowski
2022-11-09 16:53 ` [PATCH 05/12] pinctrl: cirrus: Add support for CS48L31/32/33 codecs Richard Fitzgerald
2022-11-09 16:53 ` Richard Fitzgerald
2022-11-10 10:02 ` Linus Walleij
2022-11-10 10:02 ` Linus Walleij
2022-11-10 10:55 ` Richard Fitzgerald
2022-11-10 10:55 ` Richard Fitzgerald
2022-11-12 21:01 ` kernel test robot
2022-11-12 21:01 ` kernel test robot
2022-11-09 16:53 ` [PATCH 06/12] regulator: arizona-micsupp: Don't hardcode use of ARIZONA defines Richard Fitzgerald
2022-11-09 16:53 ` Richard Fitzgerald
2022-11-09 16:53 ` [PATCH 07/12] regulator: arizona-micsupp: Don't use a common regulator name Richard Fitzgerald
2022-11-09 16:53 ` Richard Fitzgerald
2022-11-09 16:53 ` [PATCH 08/12] regulator: arizona-micsupp: Support Cirrus Logic CS48L31/32/33 Richard Fitzgerald
2022-11-09 16:53 ` Richard Fitzgerald
2022-11-09 16:53 ` [PATCH 09/12] irqchip: cirrus: Add driver for Cirrus Logic CS48L31/32/33 codecs Richard Fitzgerald
2022-11-09 16:53 ` Richard Fitzgerald
2022-11-10 8:02 ` Marc Zyngier
2022-11-10 8:02 ` Marc Zyngier
2022-11-10 11:22 ` Richard Fitzgerald
2022-11-10 11:22 ` Richard Fitzgerald
2022-11-10 12:01 ` Marc Zyngier [this message]
2022-11-10 12:01 ` Marc Zyngier
2022-11-10 13:00 ` Richard Fitzgerald
2022-11-10 13:00 ` Richard Fitzgerald
2022-11-10 15:13 ` Marc Zyngier
2022-11-10 15:13 ` Marc Zyngier
2022-11-10 16:31 ` Richard Fitzgerald
2022-11-10 16:31 ` Richard Fitzgerald
2022-11-10 16:55 ` Mark Brown
2022-11-10 16:55 ` Mark Brown
2022-11-10 18:47 ` Marc Zyngier
2022-11-10 18:47 ` Marc Zyngier
2022-11-10 20:36 ` Mark Brown
2022-11-10 20:36 ` Mark Brown
2022-11-11 8:00 ` Marc Zyngier
2022-11-11 8:00 ` Marc Zyngier
2022-11-11 11:16 ` Charles Keepax
2022-11-11 11:16 ` Charles Keepax
2022-11-11 11:49 ` Mark Brown
2022-11-11 11:49 ` Mark Brown
2022-11-11 13:01 ` Charles Keepax
2022-11-11 13:01 ` Charles Keepax
2022-11-11 13:00 ` Charles Keepax
2022-11-11 13:00 ` Charles Keepax
2022-11-16 16:44 ` Mark Brown
2022-11-16 16:44 ` Mark Brown
2022-11-10 13:14 ` Richard Fitzgerald
2022-11-10 13:14 ` Richard Fitzgerald
2022-11-10 15:40 ` Marc Zyngier
2022-11-10 15:40 ` Marc Zyngier
2022-11-10 13:01 ` Mark Brown
2022-11-10 13:01 ` Mark Brown
2022-11-09 16:53 ` [PATCH 10/12] ASoC: wm_adsp: Allow client to hook into pre_run callback Richard Fitzgerald
2022-11-09 16:53 ` Richard Fitzgerald
2022-11-09 16:53 ` [PATCH 11/12] dt-bindings: sound: Add Cirrus Logic CS48L31/32/33 codecs Richard Fitzgerald
2022-11-09 16:53 ` Richard Fitzgerald
2022-11-09 21:09 ` Rob Herring
2022-11-09 21:09 ` Rob Herring
2022-11-14 8:45 ` Krzysztof Kozlowski
2022-11-14 8:45 ` Krzysztof Kozlowski
2022-11-14 11:00 ` Richard Fitzgerald
2022-11-14 11:00 ` Richard Fitzgerald
2022-11-14 11:03 ` Krzysztof Kozlowski
2022-11-14 11:03 ` Krzysztof Kozlowski
2022-11-14 12:34 ` Richard Fitzgerald
2022-11-14 12:34 ` Richard Fitzgerald
2022-11-09 16:53 ` [PATCH 12/12] ASoC: cs48l32: Add codec driver for Cirrus Logic CS48L31/32/33 Richard Fitzgerald
2022-11-09 16:53 ` Richard Fitzgerald
2022-11-10 20:20 ` kernel test robot
2022-11-10 20:20 ` kernel test robot
2022-11-10 20:53 ` [PATCH 00/12] Add support for the Cirrus Logic CS48L32 audio codecs Mark Brown
2022-11-10 20:53 ` Mark Brown
2022-11-11 13:50 ` Richard Fitzgerald
2022-11-11 13:50 ` Richard Fitzgerald
2022-11-23 13:11 ` (subset) " Mark Brown
2022-11-23 13:11 ` Mark Brown
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=86pmdvow5y.wl-maz@kernel.org \
--to=maz@kernel.org \
--cc=alsa-devel@alsa-project.org \
--cc=broonie@kernel.org \
--cc=devicetree@vger.kernel.org \
--cc=krzysztof.kozlowski+dt@linaro.org \
--cc=lee@kernel.org \
--cc=linus.walleij@linaro.org \
--cc=linux-gpio@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=patches@opensource.cirrus.com \
--cc=rf@opensource.cirrus.com \
--cc=robh+dt@kernel.org \
--cc=tglx@linutronix.de \
/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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.