From: "Martin Povišer" <povik+lin@cutebit.org>
To: "James Schulman" <james.schulman@cirrus.com>,
"David Rhodes" <david.rhodes@cirrus.com>,
"Lucas Tanure" <tanureal@opensource.cirrus.com>,
"Richard Fitzgerald" <rf@opensource.cirrus.com>,
"Liam Girdwood" <lgirdwood@gmail.com>,
"Mark Brown" <broonie@kernel.org>,
"Rob Herring" <robh+dt@kernel.org>,
"Krzysztof Kozlowski" <krzysztof.kozlowski+dt@linaro.org>,
"Jaroslav Kysela" <perex@perex.cz>,
"Takashi Iwai" <tiwai@suse.com>,
"Martin Povišer" <povik+lin@cutebit.org>
Cc: Charles Keepax <ckeepax@opensource.cirrus.com>,
ChiYuan Huang <cy_huang@richtek.com>,
Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>,
Lukas Bulwahn <lukas.bulwahn@gmail.com>,
Matt Flax <flatmax@flatmax.com>,
- <patches@opensource.cirrus.com>,
alsa-devel@alsa-project.org, devicetree@vger.kernel.org,
linux-kernel@vger.kernel.org, asahi@lists.linux.dev
Subject: Re: [PATCH 04/10] ASoC: cs42l42: Split probe() and remove() into stages
Date: Thu, 15 Sep 2022 11:08:11 +0200 [thread overview]
Message-ID: <A40F3F43-2052-4759-BAF0-3EE0EEA270DC@cutebit.org> (raw)
In-Reply-To: <20220909135334.98220-5-povik+lin@cutebit.org>
> On 9. 9. 2022, at 15:53, Martin Povišer <povik+lin@cutebit.org> wrote:
>
> To prepare for adding SoundWire the probe must be split into three
> parts:
>
> 1) The bus-specific probe
> 2) Common bus-agnostic probe steps
> 3) Initialization of the peripheral registers
>
> Step (3) must be separate because on SoundWire devices the probe must
> enable power supplies and release reset so that the peripheral can be
> enumerated by the bus, but it isn't possible to access registers until
> enumeration has completed.
>
> The call to devm_snd_soc_register_component() must be done at stage (2)
> so that it can EPROBE_DEFER if necessary. In SoundWire systems stage (3)
> is not a probe event so a deferral at this stage would not result in
> re-probing dependencies.
>
> A new init_done flag indicates that the chip has been identified and
> initialized. This is used to prevent cs42l42_remove(), cs42l42_suspend(),
> cs42l42_restore() and cs42l42_irq_thread() from attempting register
> accesses if the chip was not successfully initialized. Although this
> cannot happen on I2C, because the entire probe would fail, it is
> possible on SoundWire if probe succeeds but the cs42l42 is never
> enumerated.
>
> Signed-off-by: Richard Fitzgerald <rf@opensource.cirrus.com>
> Signed-off-by: Martin Povišer <povik+lin@cutebit.org>
Preparing the next iteration of the series, I noticed that I reset
the authorship of this patch in the course of git manipulations. The
author of this patch is of course Richard, apologies for that. It will
be fixed for v2.
Martin
next prev parent reply other threads:[~2022-09-15 9:09 UTC|newest]
Thread overview: 22+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-09-09 13:53 [PATCH 00/10] Support for CS42L83 on Apple machines Martin Povišer
2022-09-09 13:53 ` [PATCH 01/10] ASoC: dt-bindings: cs42l42: Add 'cs42l83' compatible Martin Povišer
2022-09-09 14:48 ` Krzysztof Kozlowski
2022-09-09 13:53 ` [PATCH 02/10] ASoC: cs42l42: Add bitclock frequency argument to cs42l42_pll_config() Martin Povišer
2022-09-09 13:53 ` [PATCH 03/10] ASoC: cs42l42: Use cs42l42->dev instead of &i2c_client->dev Martin Povišer
2022-09-09 13:53 ` [PATCH 04/10] ASoC: cs42l42: Split probe() and remove() into stages Martin Povišer
2022-09-09 15:55 ` Richard Fitzgerald
2022-09-15 9:08 ` Martin Povišer [this message]
2022-09-09 13:53 ` [PATCH 05/10] ASoC: cs42l42: Split cs42l42_resume into two functions Martin Povišer
2022-09-09 13:53 ` [PATCH 06/10] ASoC: cs42l42: Pass component and dai defs into common probe Martin Povišer
2022-09-09 13:53 ` [PATCH 07/10] ASoC: cs42l42: Split I2C identity into separate module Martin Povišer
2022-09-09 15:40 ` Richard Fitzgerald
2022-09-09 15:44 ` Martin Povišer
2022-09-09 16:00 ` Richard Fitzgerald
2022-09-09 13:53 ` [PATCH 08/10] ASoC: cs42l42: Export regmap elements to core namespace Martin Povišer
2022-09-09 13:53 ` [PATCH 09/10] ASoC: cs42l83: Extend CS42L42 support to new part Martin Povišer
2022-09-09 14:47 ` Krzysztof Kozlowski
2022-09-09 15:10 ` Martin Povišer
2022-09-09 15:33 ` Krzysztof Kozlowski
2022-09-09 13:53 ` [PATCH 10/10] ASoC: cs42l42: Implement 'set_bclk_ratio' Martin Povišer
2022-09-09 16:16 ` [PATCH 00/10] Support for CS42L83 on Apple machines Richard Fitzgerald
2022-09-09 17:27 ` 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=A40F3F43-2052-4759-BAF0-3EE0EEA270DC@cutebit.org \
--to=povik+lin@cutebit.org \
--cc=alsa-devel@alsa-project.org \
--cc=asahi@lists.linux.dev \
--cc=broonie@kernel.org \
--cc=ckeepax@opensource.cirrus.com \
--cc=cy_huang@richtek.com \
--cc=david.rhodes@cirrus.com \
--cc=devicetree@vger.kernel.org \
--cc=flatmax@flatmax.com \
--cc=james.schulman@cirrus.com \
--cc=krzysztof.kozlowski+dt@linaro.org \
--cc=lgirdwood@gmail.com \
--cc=linux-kernel@vger.kernel.org \
--cc=lukas.bulwahn@gmail.com \
--cc=patches@opensource.cirrus.com \
--cc=perex@perex.cz \
--cc=pierre-louis.bossart@linux.intel.com \
--cc=rf@opensource.cirrus.com \
--cc=robh+dt@kernel.org \
--cc=tanureal@opensource.cirrus.com \
--cc=tiwai@suse.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
all inboxes | Powered by JetHome®