linux-phy.lists.infradead.org archive mirror
 help / color / mirror / Atom feed
  • * Re: [PATCH v2 1/3] usb: phy: add usb phy notify port status API
           [not found] <20230525022617.30537-1-stanley_chang@realtek.com>
           [not found] ` <20230525022617.30537-2-stanley_chang@realtek.com>
    @ 2023-05-29 14:27 ` Greg Kroah-Hartman
           [not found]   ` <647ded70ff024a3081cbf5c45f5da12c@realtek.com>
           [not found] ` <20230525022617.30537-3-stanley_chang@realtek.com>
      2 siblings, 1 reply; 9+ messages in thread
    From: Greg Kroah-Hartman @ 2023-05-29 14:27 UTC (permalink / raw)
      To: Stanley Chang
      Cc: Vinod Koul, Kishon Vijay Abraham I, Rob Herring,
    	Krzysztof Kozlowski, Conor Dooley, Alan Stern, Michael Grzeschik,
    	Bagas Sanjaya, Flavio Suligoi, Matthias Kaehlcke, Mathias Nyman,
    	Ray Chi, linux-phy, devicetree, linux-kernel, linux-usb
    
    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
    
    ^ permalink raw reply	[flat|nested] 9+ messages in thread
  • [parent not found: <20230525022617.30537-3-stanley_chang@realtek.com>]

  • end of thread, other threads:[~2023-06-02  7:10 UTC | newest]
    
    Thread overview: 9+ messages (download: mbox.gz follow: Atom feed
    -- links below jump to the message on this page --
         [not found] <20230525022617.30537-1-stanley_chang@realtek.com>
         [not found] ` <20230525022617.30537-2-stanley_chang@realtek.com>
    2023-05-29 14:25   ` [PATCH v2 2/3] phy: realtek: usb: Add driver for the Realtek SoC USB 2.0/3.0 PHY Greg Kroah-Hartman
         [not found]     ` <1dfa6d4026364fb99eeffa548cda0cfc@realtek.com>
    2023-05-30  7:31       ` Greg Kroah-Hartman
    2023-05-29 14:27 ` [PATCH v2 1/3] usb: phy: add usb phy notify port status API Greg Kroah-Hartman
         [not found]   ` <647ded70ff024a3081cbf5c45f5da12c@realtek.com>
    2023-05-30  7:32     ` Greg Kroah-Hartman
         [not found] ` <20230525022617.30537-3-stanley_chang@realtek.com>
    2023-05-29 18:59   ` [PATCH v2 3/3] dt-bindings: phy: realtek: Add the doc about the Realtek SoC USB 2.0/3.0 PHY Conor Dooley
         [not found]     ` <44015844858c42a79e0e7f9207d01496@realtek.com>
    2023-05-30  6:56       ` Conor Dooley
         [not found]       ` <202305310146.34V1kevI7026106@rtits1.realtek.com.tw>
         [not found]         ` <96a7905208c148debe3791636034a038@realtek.com>
    2023-06-01 20:13           ` Conor Dooley
         [not found]   ` <0b2143ca-ead7-c8fa-2e80-a94222af51ca@linaro.org>
         [not found]     ` <ee65a9d6d40d4099987db5ff1ad1753f@realtek.com>
    2023-06-01 15:32       ` Krzysztof Kozlowski
         [not found]         ` <f53b5c21247c49db8be7071de36c773b@realtek.com>
    2023-06-02  7:10           ` Krzysztof Kozlowski
    

    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).