From: Mark Brown <broonie@kernel.org>
To: Krzysztof Kozlowski <k.kozlowski@samsung.com>
Cc: Kukjin Kim <kgene@kernel.org>,
Chanwoo Choi <cw00.choi@samsung.com>,
Liam Girdwood <lgirdwood@gmail.com>,
Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
devicetree@vger.kernel.org, linux-kernel@vger.kernel.org,
linux-arm-kernel@lists.infradead.org,
linux-samsung-soc@vger.kernel.org, linux-usb@vger.kernel.org,
linux.amoon@gmail.com, tjakobi@math.uni-bielefeld.de,
m.szyprowski@samsung.com, hverkuil@xs4all.nl,
Bartlomiej Zolnierkiewicz <b.zolnierkie@samsung.com>
Subject: Re: [RFT PATCH 1/3] usb: misc: usb3503: Fix HUB mode after bootloader initialization
Date: Fri, 29 Apr 2016 12:30:59 +0100 [thread overview]
Message-ID: <20160429113059.GX3217@sirena.org.uk> (raw)
In-Reply-To: <1461927591-7864-2-git-send-email-k.kozlowski@samsung.com>
[-- Attachment #1: Type: text/plain, Size: 2057 bytes --]
On Fri, Apr 29, 2016 at 12:59:49PM +0200, Krzysztof Kozlowski wrote:
> +++ b/Documentation/devicetree/bindings/usb/usb3503.txt
> @@ -24,6 +24,7 @@ Optional properties:
> pins (optional, if not provided, driver will not set rate of the
> REFCLK signal and assume that a value from the primary reference
> clock frequencies table is used)
> +- vdd33-supply: Optional supply for VDD 3.3 V power source.
Supplies are only optional if they may be physically absent. In this
case it's possible that on device regulators may be used instead, a
pattern more like that used for arizona-ldo1 where we represent those
regulators might be better as it's more clearly describing the
situation. I'm just wondering if the supply lookup stuff there should
be factored out as this is not an uncommon pattern..
It should at least be clearly stated what's going on, ignoring failure
to get supplies is generally a bug and people will tend to blindly cut
and paste things (witness all the breakage in graphics drivers with
this).
> static int usb3503_reset(struct usb3503 *hub, int state)
> {
> + int err;
> +
> + err = usb3503_regulator(hub, state);
> + if (err) {
> + dev_err(hub->dev, "unable to %s VDD33 regulator to (%d)\n",
> + (state ? "enable" : "disable"), err);
> + }
Are we sure that the callers all balance enables and disables and we
don't ever end up going through reset more than once on the way down?
> + hub->vdd_reg = devm_regulator_get_optional(dev, "vdd33");
> + if (IS_ERR(hub->vdd_reg)) {
> + if (PTR_ERR(hub->vdd_reg) == -EPROBE_DEFER)
> + return -EPROBE_DEFER;
This should explicitly check for -ENODEV and return the error if it gets
anything else, that will mean that if the supply is needed but lookup
fails somehow due to a non-deferral error we'll handle it properly.
> + err = usb3503_regulator(hub, true);
The naming on this function is very obscure (and there's also a couple
of other supplies). I'd suggest just folding this into the reset
function, or at least renaming so the reader can tell what these calls
do.
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 473 bytes --]
next prev parent reply other threads:[~2016-04-29 11:31 UTC|newest]
Thread overview: 22+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-04-29 10:59 [RFT PATCH 0/3] usb: misc: usb3503: Fix missing device when TFTP booting Krzysztof Kozlowski
2016-04-29 10:59 ` [RFT PATCH 1/3] usb: misc: usb3503: Fix HUB mode after bootloader initialization Krzysztof Kozlowski
2016-04-29 11:30 ` Mark Brown [this message]
2016-04-29 11:55 ` Krzysztof Kozlowski
2016-04-29 16:44 ` Mark Brown
2016-05-02 9:49 ` Krzysztof Kozlowski
2016-05-02 10:49 ` Krzysztof Kozlowski
2016-05-02 10:55 ` Mark Brown
2016-05-03 18:00 ` Rob Herring
2016-05-04 12:01 ` Krzysztof Kozlowski
2016-05-04 18:25 ` Mark Brown
2016-04-29 10:59 ` [RFT PATCH 2/3] ARM: dts: exynos: Provide regulator for usb3503 on Odroid to fix device detection Krzysztof Kozlowski
[not found] ` <1461927591-7864-1-git-send-email-k.kozlowski-Sze3O3UU22JBDgjK7y7TUQ@public.gmane.org>
2016-04-29 10:59 ` [PATCH 3/3] regulator: max77686: Configure enable time to properly handle regulator enable Krzysztof Kozlowski
2016-04-29 11:31 ` Applied "regulator: max77686: Configure enable time to properly handle regulator enable" to the regulator tree Mark Brown
2016-04-30 9:43 ` [RFT PATCH 0/3] usb: misc: usb3503: Fix missing device when TFTP booting Hans Verkuil
[not found] ` <57247E50.1020000-qWit8jRvyhVmR6Xm/wNWPw@public.gmane.org>
2016-05-01 13:17 ` Krzysztof Kozlowski
2016-05-01 14:09 ` Hans Verkuil
[not found] ` <57260E1E.70205-qWit8jRvyhVmR6Xm/wNWPw@public.gmane.org>
2016-05-01 16:01 ` Hans Verkuil
2016-05-01 16:42 ` Krzysztof Kozlowski
2016-05-02 13:40 ` Hans Verkuil
2016-05-02 13:41 ` Krzysztof Kozlowski
[not found] ` <57262844.7060809-qWit8jRvyhVmR6Xm/wNWPw@public.gmane.org>
2016-05-02 5:50 ` Marek Szyprowski
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=20160429113059.GX3217@sirena.org.uk \
--to=broonie@kernel.org \
--cc=b.zolnierkie@samsung.com \
--cc=cw00.choi@samsung.com \
--cc=devicetree@vger.kernel.org \
--cc=gregkh@linuxfoundation.org \
--cc=hverkuil@xs4all.nl \
--cc=k.kozlowski@samsung.com \
--cc=kgene@kernel.org \
--cc=lgirdwood@gmail.com \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-samsung-soc@vger.kernel.org \
--cc=linux-usb@vger.kernel.org \
--cc=linux.amoon@gmail.com \
--cc=m.szyprowski@samsung.com \
--cc=tjakobi@math.uni-bielefeld.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox