[SRU][R][PATCH v4 3/7] ASoC: SDCA: Remove devm from primary IRQ cleanup

Andrei Gherzan andrei.gherzan at canonical.com
Thu Sep 10 09:49:14 UTC 2026


On 26/09/10 09:23AM, Chris Chiu wrote:
> On Tue, Sep 8, 2026 at 5:12 PM Andrei Gherzan
> <andrei.gherzan at canonical.com> wrote:
> >
> > On 26/09/08 09:55AM, Chris Chiu wrote:
> > > On Mon, Sep 7, 2026 at 6:27 PM Andrei Gherzan
> > > <andrei.gherzan at canonical.com> wrote:
> > > >
> > > > On 26/09/07 02:47PM, Chris Chiu via kernel-team wrote:
> > > > > From: Charles Keepax <ckeepax at opensource.cirrus.com>
> > > > >
> > > > > BugLink: https://bugs.launchpad.net/bugs/2163215
> > > > >
> > > > > To provide greater flexibility on when the IRQs are requested for
> > > > > client drivers don't use devm for the primary IRQ request/cleanup
> > > > > helper functions.
> > > > >
> > > > > Signed-off-by: Charles Keepax <ckeepax at opensource.cirrus.com>
> > > > > Link: https://patch.msgid.link/20260721143636.361814-4-ckeepax@opensource.cirrus.com
> > > > > Signed-off-by: Mark Brown <broonie at kernel.org>
> > > > > (backported from commit 0880082c27b6251cc3fea307dffa6899ad163e8b)
> > > > > [ChrisChiu: Conflict in sdca_jack.c due to missing sdca_jack_free_state()
> > > > >  function in our branch. Resolved by adding the new sdca_jack_free_state()
> > > > >  function before the type_get_mask() function as the upstream intended.]
> > > > > Signed-off-by: Chris Chiu <chris.chiu at canonical.com>
> > > > > ---
> > > > > v3 -> v4 chage:
> > > > >  - factor duplicate reporting into type_get_mask and modify related path
> > > > >
> > > > >  include/sound/sdca_fdl.h         |  2 ++
> > > > >  include/sound/sdca_interrupts.h  |  2 ++
> > > > >  include/sound/sdca_jack.h        |  2 ++
> > > > >  sound/soc/sdca/sdca_fdl.c        | 13 +++++++++--
> > > > >  sound/soc/sdca/sdca_interrupts.c |  8 +++++++
> > > > >  sound/soc/sdca/sdca_jack.c       | 39 ++++++++++++++++++++++++++++++--
> > > > >  6 files changed, 62 insertions(+), 4 deletions(-)
> > > > >
> > > > > diff --git a/include/sound/sdca_fdl.h b/include/sound/sdca_fdl.h
> > > > > index fbaf4b384c8a..dc33927b82bd 100644
> > > > > --- a/include/sound/sdca_fdl.h
> > > > > +++ b/include/sound/sdca_fdl.h
> > > > > @@ -67,6 +67,8 @@ struct fdl_state {
> > > > >  #if IS_ENABLED(CONFIG_SND_SOC_SDCA_FDL)
> > > >
> > > > I think there is an issue here when CONFIG_SND_SOC_SDCA_FDL is disabled. I see
> > > > that we provide stubs for the existing functions (sdca_fdl_alloc_state,
> > > > sdca_fdl_process, sdca_fdl_sync, sdca_reset_function) but for the newly added
> > > > declaration (sdca_fdl_free_state), there is none. This means that the code
> > > > would fail to build when SND_SOC_SDCA_IRQ=y and SND_SOC_SDCA_FDL=n. Checking a
> > > > bit upstream, it looks like a known and fixed gap: "ASoC: SDCA: Add missing
> > > > stub for sdca_fdl_free_state()".
> > > >
> > >
> > > Thanks — good catch. The new sdca_fdl_free_state() prototype lacks a
> > > disabled-config stub,
> > > so builds fail when SND_SOC_SDCA_FDL=n but SDCA IRQs are enabled.
> > > Upstream fixed this
> > > with f6970d8535a9 'ASoC: SDCA: Add missing stub for sdca_fdl_free_state()'.
> > >
> > > Plan: add the same no-op stub under the #else so the header always
> > > provides a definition, then
> > > post an updated patch (v5). Is this approach acceptable, or do you
> > > have better suggestions?
> >
> > Thanks for confirming. Yes, I would consider that follow-up commit up for
> > inclusion in this patchset.
> >
> > PS: Please take a look at the other comment I made regarding "type_get_mask".
> >
> 
> Thanks, I took another look at type_get_mask(). In upstream,
> type_get_mask() was already present before commit 0880082c27b6
> ("ASoC: SDCA: Remove devm from primary IRQ cleanup"). type_get_mask()
> is not present because we do not have the earlier upstream change
> cb3c257e0824 ("ASoC: SDCA: Add correct masks whilst reporting SDCA
> jack status"),
> which introduced the helper and converted sdca_jack_report() to use it
> 
> My preference is to drop type_get_mask() from this patch and place
> sdca_jack_free_state() before sdca_jack_set_jack() instead, keeping this
> patch limited to the IRQ cleanup/backport. Alternatively, if you think the
> mask handling fix should also be included in this series, I can backport
> cb3c257e0824 as a separate patch. Which approach would you suggest?

You would definitely understand the patch set better, but as I see it, I agree
with your preference.

Thanks for looking into this.

-- 
Andrei Gherzan
gpg: rsa4096/D4D94F67AD0E9640
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 833 bytes
Desc: not available
URL: <https://lists.ubuntu.com/archives/kernel-team/attachments/20260910/e2f2b3b9/attachment-0001.sig>


More information about the kernel-team mailing list