From: "Liao, Bard" <yung-chuan.liao@linux.intel.com>
To: Charles Keepax <ckeepax@opensource.cirrus.com>, broonie@kernel.org
Cc: rafael@kernel.org, pierre-louis.bossart@linux.dev,
peter.ujfalusi@linux.intel.com, shumingf@realtek.com,
lgirdwood@gmail.com, linux-sound@vger.kernel.org,
patches@opensource.cirrus.com, bard.liao@intel.com
Subject: Re: [PATCH 07/15] ASoC: SDCA: Rely less on the ASoC component in IRQ handling
Date: Mon, 8 Sep 2025 18:27:40 +0800 [thread overview]
Message-ID: <01bc3a67-6ed7-4bb5-8106-531af7f29d63@linux.intel.com> (raw)
In-Reply-To: <20250905143123.3038716-8-ckeepax@opensource.cirrus.com>
On 9/5/2025 10:31 PM, Charles Keepax wrote:
> In the future some IRQs (mostly File DownLoad) will need to run before
> the soundcard is constructed, as such refactor more of the IRQ handling
> to use raw device and regmap pointers rather than accessing things
> through the component.
>
> Signed-off-by: Charles Keepax <ckeepax@opensource.cirrus.com>
> ---
> -int sdca_irq_data_populate(struct snd_soc_component *component,
> +int sdca_irq_data_populate(struct device *dev, struct regmap *regmap,
> + struct snd_soc_component *component,
> struct sdca_function_data *function,
> struct sdca_entity *entity,
> struct sdca_control *control,
> struct sdca_interrupt *interrupt)
> {
> - struct device *dev = component->dev;
Previously, we assume 'component' will never be null.
> const char *name;
>
> + if (!dev && component)
But now we test 'component'. If we don't assume 'component' is not null
any more, we could test 'component' at the very beginning of this function.
> + dev = component->dev;
> + if (!dev)
> + return -ENODEV;
> +
> name = devm_kasprintf(dev, GFP_KERNEL, "%s %s %s", function->desc->name,
> entity->label, control->label);
> if (!name)
> return -ENOMEM;
>
> interrupt->name = name;
> + interrupt->dev = dev;
> + if (!regmap && component)
> + interrupt->function_regmap = component->regmap;
> + else
> + interrupt->function_regmap = regmap;
> interrupt->component = component;
> interrupt->function = function;
> interrupt->entity = entity;
> @@ -394,8 +406,9 @@ int sdca_irq_populate(struct sdca_function_data *function,
> else if (!interrupt)
> continue;
>
> - ret = sdca_irq_data_populate(component, function, entity,
> - control, interrupt);
> + ret = sdca_irq_data_populate(dev, NULL, component,
> + function, entity, control,
> + interrupt);
> if (ret)
> return ret;
>
next prev parent reply other threads:[~2025-09-08 10:27 UTC|newest]
Thread overview: 50+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-09-05 14:31 [PATCH 00/15] Add SDCA UMP/FDL support Charles Keepax
2025-09-05 14:31 ` [PATCH 01/15] regmap: sdw-mbq: Don't assume the regmap device is the SoundWire slave Charles Keepax
2025-09-08 11:35 ` Pierre-Louis Bossart
2025-09-08 12:38 ` Charles Keepax
2025-09-05 14:31 ` [PATCH 02/15] ASoC: SDCA: Add manual PM runtime gets to IRQ handlers Charles Keepax
2025-09-08 11:42 ` Pierre-Louis Bossart
2025-09-08 13:31 ` Charles Keepax
2025-09-08 14:15 ` Charles Keepax
2025-09-09 12:56 ` Pierre-Louis Bossart
2025-09-05 14:31 ` [PATCH 03/15] ASoC: SDCA: Pass SoundWire slave to HID Charles Keepax
2025-09-05 14:31 ` [PATCH 04/15] ASoC: SDCA: Pass device register map from IRQ alloc to handlers Charles Keepax
2025-09-08 11:49 ` Pierre-Louis Bossart
2025-09-08 12:56 ` Charles Keepax
2025-09-09 13:05 ` Pierre-Louis Bossart
2025-09-09 16:43 ` Charles Keepax
2025-09-05 14:31 ` [PATCH 05/15] ASoC: SDCA: Update externally_requested flag to cover all requests Charles Keepax
2025-09-05 14:31 ` [PATCH 06/15] ASoC: SDCA: Factor out a helper to find SDCA IRQ data Charles Keepax
2025-09-05 14:31 ` [PATCH 07/15] ASoC: SDCA: Rely less on the ASoC component in IRQ handling Charles Keepax
2025-09-08 10:27 ` Liao, Bard [this message]
2025-09-08 12:56 ` Charles Keepax
2025-09-08 14:43 ` Charles Keepax
2025-09-09 1:42 ` Liao, Bard
2025-09-09 8:56 ` Charles Keepax
2025-09-10 1:33 ` Liao, Bard
2025-09-08 11:55 ` Pierre-Louis Bossart
2025-09-08 12:58 ` Charles Keepax
2025-09-05 14:31 ` [PATCH 08/15] ASoC: SDCA: Force some SDCA Controls to be volatile Charles Keepax
2025-09-05 14:31 ` [PATCH 09/15] ASoC: SDCA: Add UMP buffer helper functions Charles Keepax
2025-09-08 12:02 ` Pierre-Louis Bossart
2025-09-08 13:15 ` Charles Keepax
2025-09-09 13:14 ` Pierre-Louis Bossart
2025-09-09 16:52 ` Charles Keepax
2025-09-10 12:09 ` Pierre-Louis Bossart
2025-09-10 13:37 ` Charles Keepax
2025-09-10 14:29 ` Pierre-Louis Bossart
2025-09-10 15:39 ` Charles Keepax
2025-09-11 12:33 ` Pierre-Louis Bossart
2025-09-11 13:07 ` Charles Keepax
2025-09-12 10:15 ` Pierre-Louis Bossart
2025-09-12 10:33 ` Charles Keepax
2025-09-12 11:30 ` Pierre-Louis Bossart
2025-09-05 14:31 ` [PATCH 10/15] ASoC: SDCA: Add SDCA FDL data parsing Charles Keepax
2025-09-05 14:31 ` [PATCH 11/15] ASoC: SDCA: Add FDL library for XU entities Charles Keepax
2025-09-08 12:14 ` Pierre-Louis Bossart
2025-09-08 13:16 ` Charles Keepax
2025-09-09 13:14 ` Pierre-Louis Bossart
2025-09-05 14:31 ` [PATCH 12/15] ASoC: SDCA: Add XU-specific IRQ processing Charles Keepax
2025-09-05 14:31 ` [PATCH 13/15] ASoC: SDCA: Add completion for FDL start and stop Charles Keepax
2025-09-05 14:31 ` [PATCH 14/15] ASoC: SDCA: Add early IRQ handling Charles Keepax
2025-09-05 14:31 ` [PATCH 15/15] ASoC: SDCA: Add HID button IRQ Charles Keepax
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=01bc3a67-6ed7-4bb5-8106-531af7f29d63@linux.intel.com \
--to=yung-chuan.liao@linux.intel.com \
--cc=bard.liao@intel.com \
--cc=broonie@kernel.org \
--cc=ckeepax@opensource.cirrus.com \
--cc=lgirdwood@gmail.com \
--cc=linux-sound@vger.kernel.org \
--cc=patches@opensource.cirrus.com \
--cc=peter.ujfalusi@linux.intel.com \
--cc=pierre-louis.bossart@linux.dev \
--cc=rafael@kernel.org \
--cc=shumingf@realtek.com \
/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