All of lore.kernel.org
 help / color / mirror / Atom feed
From: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
To: Stanley Chang <stanley_chang@realtek.com>
Cc: 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>,
	Alan Stern <stern@rowland.harvard.edu>,
	Michael Grzeschik <m.grzeschik@pengutronix.de>,
	Bagas Sanjaya <bagasdotme@gmail.com>,
	Flavio Suligoi <f.suligoi@asem.it>,
	Matthias Kaehlcke <mka@chromium.org>,
	Mathias Nyman <mathias.nyman@linux.intel.com>,
	Ray Chi <raychi@google.com>,
	linux-phy@lists.infradead.org, devicetree@vger.kernel.org,
	linux-kernel@vger.kernel.org, linux-usb@vger.kernel.org
Subject: Re: [PATCH v2 1/3] usb: phy: add usb phy notify port status API
Date: Mon, 29 May 2023 15:27:16 +0100	[thread overview]
Message-ID: <2023052905-maimed-studied-3563@gregkh> (raw)
In-Reply-To: <20230525022617.30537-1-stanley_chang@realtek.com>

On Thu, May 25, 2023 at 10:26:02AM +0800, Stanley Chang wrote:
> In Realtek SoC, the parameter of usb phy is designed to can dynamic
> tuning base on port status. Therefore, add a notify callback of phy
> driver when usb port status change.
> 
> Signed-off-by: Stanley Chang <stanley_chang@realtek.com>
> ---
> v1 to v2 change:
>     No change
> ---
>  drivers/usb/core/hub.c  | 13 +++++++++++++
>  include/linux/usb/phy.h | 14 ++++++++++++++
>  2 files changed, 27 insertions(+)
> 
> diff --git a/drivers/usb/core/hub.c b/drivers/usb/core/hub.c
> index 97a0f8faea6e..b4fbbeae1927 100644
> --- a/drivers/usb/core/hub.c
> +++ b/drivers/usb/core/hub.c
> @@ -614,6 +614,19 @@ static int hub_ext_port_status(struct usb_hub *hub, int port1, int type,
>  		ret = 0;
>  	}
>  	mutex_unlock(&hub->status_mutex);
> +
> +	if (!ret) {
> +		struct usb_device *hdev = hub->hdev;
> +
> +		if (hdev && !hdev->parent) {
> +			struct usb_hcd *hcd = bus_to_hcd(hdev->bus);
> +
> +			if (hcd->usb_phy)
> +				usb_phy_notify_port_status(hcd->usb_phy,
> +					    port1 - 1, *status, *change);
> +		}
> +	}
> +
>  	return ret;
>  }
>  
> diff --git a/include/linux/usb/phy.h b/include/linux/usb/phy.h
> index e4de6bc1f69b..53bf3540098f 100644
> --- a/include/linux/usb/phy.h
> +++ b/include/linux/usb/phy.h
> @@ -144,6 +144,10 @@ struct usb_phy {
>  	 */
>  	int	(*set_wakeup)(struct usb_phy *x, bool enabled);
>  
> +	/* notify phy port status change */
> +	int	(*notify_port_status)(struct usb_phy *x,
> +		int port, u16 portstatus, u16 portchange);
> +
>  	/* notify phy connect status change */
>  	int	(*notify_connect)(struct usb_phy *x,
>  			enum usb_device_speed speed);

Why can't this be part of the same notify_connect() callback?

What makes it different somehow?  Please document this much better.


> @@ -316,6 +320,16 @@ usb_phy_set_wakeup(struct usb_phy *x, bool enabled)
>  		return 0;
>  }
>  
> +static inline int
> +usb_phy_notify_port_status(struct usb_phy *x, int port, u16 portstatus,
> +	    u16 portchange)
> +{
> +	if (x && x->notify_port_status)

How can x ever be NULL?

thanks,

greg k-h

-- 
linux-phy mailing list
linux-phy@lists.infradead.org
https://lists.infradead.org/mailman/listinfo/linux-phy

WARNING: multiple messages have this Message-ID (diff)
From: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
To: Stanley Chang <stanley_chang@realtek.com>
Cc: 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>,
	Alan Stern <stern@rowland.harvard.edu>,
	Michael Grzeschik <m.grzeschik@pengutronix.de>,
	Bagas Sanjaya <bagasdotme@gmail.com>,
	Flavio Suligoi <f.suligoi@asem.it>,
	Matthias Kaehlcke <mka@chromium.org>,
	Mathias Nyman <mathias.nyman@linux.intel.com>,
	Ray Chi <raychi@google.com>,
	linux-phy@lists.infradead.org, devicetree@vger.kernel.org,
	linux-kernel@vger.kernel.org, linux-usb@vger.kernel.org
Subject: Re: [PATCH v2 1/3] usb: phy: add usb phy notify port status API
Date: Mon, 29 May 2023 15:27:16 +0100	[thread overview]
Message-ID: <2023052905-maimed-studied-3563@gregkh> (raw)
In-Reply-To: <20230525022617.30537-1-stanley_chang@realtek.com>

On Thu, May 25, 2023 at 10:26:02AM +0800, Stanley Chang wrote:
> In Realtek SoC, the parameter of usb phy is designed to can dynamic
> tuning base on port status. Therefore, add a notify callback of phy
> driver when usb port status change.
> 
> Signed-off-by: Stanley Chang <stanley_chang@realtek.com>
> ---
> v1 to v2 change:
>     No change
> ---
>  drivers/usb/core/hub.c  | 13 +++++++++++++
>  include/linux/usb/phy.h | 14 ++++++++++++++
>  2 files changed, 27 insertions(+)
> 
> diff --git a/drivers/usb/core/hub.c b/drivers/usb/core/hub.c
> index 97a0f8faea6e..b4fbbeae1927 100644
> --- a/drivers/usb/core/hub.c
> +++ b/drivers/usb/core/hub.c
> @@ -614,6 +614,19 @@ static int hub_ext_port_status(struct usb_hub *hub, int port1, int type,
>  		ret = 0;
>  	}
>  	mutex_unlock(&hub->status_mutex);
> +
> +	if (!ret) {
> +		struct usb_device *hdev = hub->hdev;
> +
> +		if (hdev && !hdev->parent) {
> +			struct usb_hcd *hcd = bus_to_hcd(hdev->bus);
> +
> +			if (hcd->usb_phy)
> +				usb_phy_notify_port_status(hcd->usb_phy,
> +					    port1 - 1, *status, *change);
> +		}
> +	}
> +
>  	return ret;
>  }
>  
> diff --git a/include/linux/usb/phy.h b/include/linux/usb/phy.h
> index e4de6bc1f69b..53bf3540098f 100644
> --- a/include/linux/usb/phy.h
> +++ b/include/linux/usb/phy.h
> @@ -144,6 +144,10 @@ struct usb_phy {
>  	 */
>  	int	(*set_wakeup)(struct usb_phy *x, bool enabled);
>  
> +	/* notify phy port status change */
> +	int	(*notify_port_status)(struct usb_phy *x,
> +		int port, u16 portstatus, u16 portchange);
> +
>  	/* notify phy connect status change */
>  	int	(*notify_connect)(struct usb_phy *x,
>  			enum usb_device_speed speed);

Why can't this be part of the same notify_connect() callback?

What makes it different somehow?  Please document this much better.


> @@ -316,6 +320,16 @@ usb_phy_set_wakeup(struct usb_phy *x, bool enabled)
>  		return 0;
>  }
>  
> +static inline int
> +usb_phy_notify_port_status(struct usb_phy *x, int port, u16 portstatus,
> +	    u16 portchange)
> +{
> +	if (x && x->notify_port_status)

How can x ever be NULL?

thanks,

greg k-h

  parent reply	other threads:[~2023-05-29 14:27 UTC|newest]

Thread overview: 30+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-05-25  2:26 [PATCH v2 1/3] usb: phy: add usb phy notify port status API Stanley Chang
2023-05-25  2:26 ` [PATCH v2 2/3] phy: realtek: usb: Add driver for the Realtek SoC USB 2.0/3.0 PHY Stanley Chang
2023-05-29 14:25   ` Greg Kroah-Hartman
2023-05-29 14:25     ` Greg Kroah-Hartman
2023-05-30  1:50     ` Stanley Chang[昌育德]
2023-05-30  7:31       ` Greg Kroah-Hartman
2023-05-30  7:31         ` Greg Kroah-Hartman
2023-05-30  7:37         ` Stanley Chang[昌育德]
2023-05-25  2:26 ` [PATCH v2 3/3] dt-bindings: phy: realtek: Add the doc about " Stanley Chang
2023-05-29 18:59   ` Conor Dooley
2023-05-29 18:59     ` Conor Dooley
2023-05-30  3:08     ` Stanley Chang[昌育德]
2023-05-30  6:56       ` Conor Dooley
2023-05-30  6:56         ` Conor Dooley
     [not found]       ` <202305310146.34V1kevI7026106@rtits1.realtek.com.tw>
2023-06-01  2:24         ` Stanley Chang[昌育德]
2023-06-01 20:13           ` Conor Dooley
2023-06-01 20:13             ` Conor Dooley
     [not found]   ` <0b2143ca-ead7-c8fa-2e80-a94222af51ca@linaro.org>
2023-06-01 10:49     ` Stanley Chang[昌育德]
2023-06-01 15:32       ` Krzysztof Kozlowski
2023-06-01 15:32         ` Krzysztof Kozlowski
2023-06-02  3:20         ` Stanley Chang[昌育德]
2023-06-02  7:10           ` Krzysztof Kozlowski
2023-06-02  7:10             ` Krzysztof Kozlowski
2023-06-02  7:33             ` Stanley Chang[昌育德]
2023-05-29 14:27 ` Greg Kroah-Hartman [this message]
2023-05-29 14:27   ` [PATCH v2 1/3] usb: phy: add usb phy notify port status API Greg Kroah-Hartman
2023-05-30  2:19   ` Stanley Chang[昌育德]
2023-05-30  7:32     ` Greg Kroah-Hartman
2023-05-30  7:32       ` Greg Kroah-Hartman
2023-05-30  7:38       ` Stanley Chang[昌育德]

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=2023052905-maimed-studied-3563@gregkh \
    --to=gregkh@linuxfoundation.org \
    --cc=bagasdotme@gmail.com \
    --cc=conor+dt@kernel.org \
    --cc=devicetree@vger.kernel.org \
    --cc=f.suligoi@asem.it \
    --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=m.grzeschik@pengutronix.de \
    --cc=mathias.nyman@linux.intel.com \
    --cc=mka@chromium.org \
    --cc=raychi@google.com \
    --cc=robh+dt@kernel.org \
    --cc=stanley_chang@realtek.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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.