From: Charles Keepax <ckeepax@opensource.cirrus.com>
To: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Cc: <broonie@kernel.org>, <lee@kernel.org>, <robh+dt@kernel.org>,
<krzysztof.kozlowski+dt@linaro.org>, <conor+dt@kernel.org>,
<tglx@linutronix.de>, <maz@kernel.org>,
<linus.walleij@linaro.org>, <vkoul@kernel.org>,
<lgirdwood@gmail.com>, <yung-chuan.liao@linux.intel.com>,
<sanyog.r.kale@intel.com>, <pierre-louis.bossart@linux.intel.com>,
<alsa-devel@alsa-project.org>, <patches@opensource.cirrus.com>,
<devicetree@vger.kernel.org>, <linux-gpio@vger.kernel.org>,
<linux-spi@vger.kernel.org>, <linux-kernel@vger.kernel.org>
Subject: Re: [PATCH 06/10] mfd: cs42l43: Add support for cs42l43 core driver
Date: Thu, 18 May 2023 10:24:42 +0000 [thread overview]
Message-ID: <20230518102442.GZ68926@ediswmail.ad.cirrus.com> (raw)
In-Reply-To: <73438e58-bd96-818d-1f43-5681b0d1a1de@linaro.org>
On Fri, May 12, 2023 at 05:16:42PM +0200, Krzysztof Kozlowski wrote:
> On 12/05/2023 14:28, Charles Keepax wrote:
> > +static int cs42l43_soft_reset(struct cs42l43 *cs42l43)
> > +{
> > + static const struct reg_sequence reset[] = {
> > + { CS42L43_SFT_RESET, 0x5A000000 },
> > + };
> > + unsigned long time;
> > +
> > + dev_dbg(cs42l43->dev, "Soft resetting\n");
>
> Drop simple debug statements for function entry/exit. There are other
> tools in kernel to do such debugging.
I mean I guess I can begrudingly drop them, there sure are other
tools but often just firing on debug is nice/simple/easy and
they are not really marking function entry/exit as much as they
are marking important events.
> > +struct cs42l43_patch_header {
> > + __le16 version;
> > + __le16 size;
> > + u8 reserved;
> > + u8 secure;
> > + __le16 bss_size;
> > + __le32 apply_addr;
> > + __le32 checksum;
> > + __le32 sha;
> > + __le16 swrev;
> > + __le16 patchid;
> > + __le16 ipxid;
> > + __le16 romver;
> > + __le32 load_addr;
> > +} __packed;
>
> Put all structs together at the top.
Can do.
> > + hdr = (void *)&firmware->data[0];
>
> Aren't you dropping here const? Why? That's not recommended programming.
Yeah that is fair will fix that up.
> > + ret = regmap_register_patch(cs42l43->regmap, cs42l43_reva_patch,
> > + ARRAY_SIZE(cs42l43_reva_patch));
> > + if (ret) {
> > + dev_err(cs42l43->dev, "Failed to apply register patch: %d\n", ret);
> > + goto err;
> > + }
> > +
> > + pm_runtime_mark_last_busy(cs42l43->dev);
> > + pm_runtime_put_autosuspend(cs42l43->dev);
> > +
> > + ret = devm_mfd_add_devices(cs42l43->dev, PLATFORM_DEVID_NONE,
> > + cs42l43_devs, ARRAY_SIZE(cs42l43_devs),
>
> I don't why adding devices is not in probe. They use the same regmap
> right? So there will be no problem in probing them from MFD probe.
Well except SoundWire is a bit of a special boy, the hardware is
not necessarily available in probe, the hardware is only available
at some point later when the device attaches. Doing it this way all
of the attaching (and various detach/attach cycles the device needs
during configuration) are over by the time the child drivers bind, so
they don't all need special code to handle that.
> > + cs42l43->reset = devm_gpiod_get_optional(cs42l43->dev, "reset", GPIOD_OUT_LOW);
> > + if (IS_ERR(cs42l43->reset)) {
> > + ret = PTR_ERR(cs42l43->reset);
> > + dev_err(cs42l43->dev, "Failed to get reset: %d\n", ret);
>
> return dev_err_probe
Yeah will put those in.
> > + cs42l43->vdd_p = devm_regulator_get(cs42l43->dev, "VDD_P");
>
> Why these are not part of bulk get?
The comment right above explains this, VDD_P needs to be on for at
least 50uS before any other supply.
Thanks,
Charles
next prev parent reply other threads:[~2023-05-18 10:25 UTC|newest]
Thread overview: 57+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-05-12 12:28 [PATCH 00/10] Add cs42l43 PC focused SoundWire CODEC Charles Keepax
2023-05-12 12:28 ` [PATCH 01/10] soundwire: bus: Allow SoundWire peripherals to register IRQ handlers Charles Keepax
2023-05-12 13:45 ` Pierre-Louis Bossart
2023-05-12 16:02 ` Charles Keepax
2023-05-12 16:34 ` Pierre-Louis Bossart
2023-05-12 16:43 ` Charles Keepax
2023-05-12 12:28 ` [PATCH 02/10] ASoC: soc-component: Add notify control helper function Charles Keepax
2023-05-12 12:28 ` [PATCH 03/10] ASoC: ak4118: Update to use new component control notify helper Charles Keepax
2023-05-12 13:48 ` Pierre-Louis Bossart
2023-05-12 15:42 ` Charles Keepax
2023-05-12 12:28 ` [PATCH 04/10] ASoC: wm_adsp: Update to use new component control notify helepr Charles Keepax
2023-05-12 12:28 ` [PATCH 05/10] dt-bindings: mfd: cirrus,cs42l43: Add initial DT binding Charles Keepax
2023-05-12 15:23 ` Krzysztof Kozlowski
2023-05-12 16:15 ` Charles Keepax
2023-05-13 18:05 ` Krzysztof Kozlowski
2023-05-12 15:25 ` Krzysztof Kozlowski
2023-05-12 16:18 ` Charles Keepax
2023-05-13 18:08 ` Krzysztof Kozlowski
2023-05-15 10:02 ` Charles Keepax
2023-05-12 12:28 ` [PATCH 06/10] mfd: cs42l43: Add support for cs42l43 core driver Charles Keepax
2023-05-12 14:52 ` Pierre-Louis Bossart
2023-05-18 10:05 ` Charles Keepax
2023-05-12 15:16 ` Krzysztof Kozlowski
2023-05-18 10:24 ` Charles Keepax [this message]
2023-05-18 15:16 ` Pierre-Louis Bossart
2023-05-18 16:15 ` Richard Fitzgerald
2023-05-18 16:47 ` Pierre-Louis Bossart
2023-05-19 9:24 ` Charles Keepax
2023-05-12 12:28 ` [PATCH 07/10] irqchip/cs42l43: Add support for the cs42l43 IRQs Charles Keepax
2023-05-12 15:10 ` Marc Zyngier
2023-05-12 15:39 ` Charles Keepax
2023-05-12 16:07 ` Marc Zyngier
2023-05-12 16:42 ` Charles Keepax
2023-05-15 1:08 ` Mark Brown
2023-05-15 9:57 ` Charles Keepax
2023-05-16 10:07 ` Lee Jones
2023-05-15 11:25 ` Lee Jones
2023-05-16 8:51 ` Marc Zyngier
2023-05-16 10:09 ` Lee Jones
2023-05-16 10:23 ` Marc Zyngier
2023-05-16 10:41 ` Charles Keepax
2023-05-12 15:27 ` Krzysztof Kozlowski
2023-05-12 12:28 ` [PATCH 08/10] pinctrl: cs42l43: Add support for the cs42l43 Charles Keepax
2023-05-12 15:30 ` Krzysztof Kozlowski
2023-05-12 15:54 ` Charles Keepax
2023-05-13 18:00 ` Krzysztof Kozlowski
2023-05-12 19:19 ` andy.shevchenko
2023-05-15 10:13 ` Charles Keepax
2023-05-16 19:03 ` Andy Shevchenko
2023-05-17 10:13 ` Charles Keepax
2023-05-17 13:59 ` Andy Shevchenko
2023-05-17 14:11 ` Pierre-Louis Bossart
2023-05-17 14:30 ` Mark Brown
2023-05-12 12:28 ` [PATCH 09/10] spi: cs42l43: Add SPI controller support Charles Keepax
2023-05-12 19:03 ` andy.shevchenko
2023-05-12 12:28 ` [PATCH 10/10] ASoC: cs42l43: Add support for the cs42l43 Charles Keepax
2023-05-15 15:21 ` (subset) [PATCH 00/10] Add cs42l43 PC focused SoundWire CODEC 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=20230518102442.GZ68926@ediswmail.ad.cirrus.com \
--to=ckeepax@opensource.cirrus.com \
--cc=alsa-devel@alsa-project.org \
--cc=broonie@kernel.org \
--cc=conor+dt@kernel.org \
--cc=devicetree@vger.kernel.org \
--cc=krzysztof.kozlowski+dt@linaro.org \
--cc=krzysztof.kozlowski@linaro.org \
--cc=lee@kernel.org \
--cc=lgirdwood@gmail.com \
--cc=linus.walleij@linaro.org \
--cc=linux-gpio@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-spi@vger.kernel.org \
--cc=maz@kernel.org \
--cc=patches@opensource.cirrus.com \
--cc=pierre-louis.bossart@linux.intel.com \
--cc=robh+dt@kernel.org \
--cc=sanyog.r.kale@intel.com \
--cc=tglx@linutronix.de \
--cc=vkoul@kernel.org \
--cc=yung-chuan.liao@linux.intel.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;
as well as URLs for NNTP newsgroup(s).