From: "Stanley Chang[昌育德]" <stanley_chang@realtek.com>
To: Alan Stern <stern@rowland.harvard.edu>
Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
Vinod Koul <vkoul@kernel.org>,
Kishon Vijay Abraham I <kishon@kernel.org>,
Rob Herring <robh+dt@kernel.org>,
Krzysztof Kozlowski <krzysztof.kozlowski+dt@linaro.org>,
Conor Dooley <conor+dt@kernel.org>, "Roy Luo" <royluo@google.com>,
Ray Chi <raychi@google.com>, Flavio Suligoi <f.suligoi@asem.it>,
"linux-phy@lists.infradead.org" <linux-phy@lists.infradead.org>,
"devicetree@vger.kernel.org" <devicetree@vger.kernel.org>,
"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
"linux-usb@vger.kernel.org" <linux-usb@vger.kernel.org>
Subject: RE: [PATCH v8 1/5] usb: phy: add usb phy notify port status API
Date: Tue, 25 Jul 2023 02:44:01 +0000 [thread overview]
Message-ID: <0c611f376c4646bda5bae2b46261ecbc@realtek.com> (raw)
In-Reply-To: <802dd50c-7201-45d2-8855-6692aeb947db@rowland.harvard.edu>
Hi Alan,
> > --- a/drivers/usb/core/hub.c
> > +++ b/drivers/usb/core/hub.c
> > @@ -614,6 +614,30 @@ static int hub_ext_port_status(struct usb_hub *hub,
> int port1, int type,
> > ret = 0;
> > }
> > mutex_unlock(&hub->status_mutex);
> > +
> > + /*
> > + * There is no need to lock status_mutex here, because status_mutex
> > + * protects hub->status, and the phy driver only checks the port
> > + * status without changing the status.
> > + */
> > + if (!ret) {
> > + struct usb_device *hdev = hub->hdev;
> > +
> > + /*
> > + * Applies to roothub only. That is, when hdev->parent is
> > + * empty. Only roothub will be notified of port state
> > + * changes, since the USB PHY only cares about changes at
> > + * the next level.
> > + */
> > + if (hdev && !hdev->parent) {
>
> hdev can never be NULL, so you don't need to test it. Also, there is an
> is_root_hub() routine you can call here -- it's an inline defined in usb.h. If you
> use that then you won't have to explain it in the comment.
>
> To be fair, there are plenty of other places in the driver that test !hdev->parent
> (or !udev->parent) with no explanation.
>
Using is_root_hub() is a good choice.
Thanks,
Stanley
prev parent reply other threads:[~2023-07-25 3:06 UTC|newest]
Thread overview: 7+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-07-24 10:34 [PATCH v8 1/5] usb: phy: add usb phy notify port status API Stanley Chang
2023-07-24 10:34 ` [PATCH v8 2/5] phy: realtek: usb: Add driver for the Realtek SoC USB 2.0 PHY Stanley Chang
2023-07-24 10:34 ` [PATCH v8 3/5] phy: realtek: usb: Add driver for the Realtek SoC USB 3.0 PHY Stanley Chang
2023-07-24 10:34 ` [PATCH v8 4/5] dt-bindings: phy: realtek: Add Realtek DHC RTD SoC USB 2.0 PHY Stanley Chang
2023-07-24 10:34 ` [PATCH v8 5/5] dt-bindings: phy: realtek: Add Realtek DHC RTD SoC USB 3.0 PHY Stanley Chang
2023-07-24 14:18 ` [PATCH v8 1/5] usb: phy: add usb phy notify port status API Alan Stern
2023-07-25 2:44 ` Stanley Chang[昌育德] [this message]
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=0c611f376c4646bda5bae2b46261ecbc@realtek.com \
--to=stanley_chang@realtek.com \
--cc=conor+dt@kernel.org \
--cc=devicetree@vger.kernel.org \
--cc=f.suligoi@asem.it \
--cc=gregkh@linuxfoundation.org \
--cc=kishon@kernel.org \
--cc=krzysztof.kozlowski+dt@linaro.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-phy@lists.infradead.org \
--cc=linux-usb@vger.kernel.org \
--cc=raychi@google.com \
--cc=robh+dt@kernel.org \
--cc=royluo@google.com \
--cc=stern@rowland.harvard.edu \
--cc=vkoul@kernel.org \
/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