All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Stanley Chang[昌育德]" <stanley_chang@realtek.com>
To: "Stanley Chang[昌育德]" <stanley_chang@realtek.com>,
	"Greg Kroah-Hartman" <gregkh@linuxfoundation.org>
Cc: "Vinod Koul" <vkoul@kernel.org>,
	"Johan Hovold" <johan@kernel.org>,
	"Kishon Vijay Abraham I" <kishon@kernel.org>,
	"Geert Uytterhoeven" <geert+renesas@glider.be>,
	"Jinjie Ruan" <ruanjinjie@huawei.com>,
	"Rob Herring" <robh@kernel.org>,
	"Alan Stern" <stern@rowland.harvard.edu>,
	"Yang Yingliang" <yangyingliang@huawei.com>,
	"Flavio Suligoi" <f.suligoi@asem.it>,
	"Roy Luo" <royluo@google.com>,
	"Heikki Krogerus" <heikki.krogerus@linux.intel.com>,
	"Ricardo Cañuelo" <ricardo.canuelo@collabora.com>,
	"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
	"linux-phy@lists.infradead.org" <linux-phy@lists.infradead.org>,
	"linux-usb@vger.kernel.org" <linux-usb@vger.kernel.org>
Subject: RE: [PATCH v3 1/4] phy: core: add notify_connect and notify_disconnect callback
Date: Mon, 20 Nov 2023 02:16:55 +0000	[thread overview]
Message-ID: <8216e62cf2e646a6bdc8dd6629c88f41@realtek.com> (raw)
In-Reply-To: <20231110054738.23515-1-stanley_chang@realtek.com>

Hi Vinod,

Please help review this patch.

Thanks,
Stanley

> -----Original Message-----
> From: Stanley Chang <stanley_chang@realtek.com>
> Sent: Friday, November 10, 2023 1:45 PM
> To: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
> Cc: Stanley Chang[昌育德] <stanley_chang@realtek.com>; Vinod Koul
> <vkoul@kernel.org>; Johan Hovold <johan@kernel.org>; Kishon Vijay Abraham
> I <kishon@kernel.org>; Geert Uytterhoeven <geert+renesas@glider.be>; Jinjie
> Ruan <ruanjinjie@huawei.com>; Rob Herring <robh@kernel.org>; Alan Stern
> <stern@rowland.harvard.edu>; Yang Yingliang <yangyingliang@huawei.com>;
> Flavio Suligoi <f.suligoi@asem.it>; Roy Luo <royluo@google.com>; Heikki
> Krogerus <heikki.krogerus@linux.intel.com>; Ricardo Cañuelo
> <ricardo.canuelo@collabora.com>; linux-kernel@vger.kernel.org;
> linux-phy@lists.infradead.org; linux-usb@vger.kernel.org
> Subject: [PATCH v3 1/4] phy: core: add notify_connect and notify_disconnect
> callback
> 
> 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
> connection/disconnection change.
> 
> Signed-off-by: Stanley Chang <stanley_chang@realtek.com>
> ---
> v1 to v2:
>     No change
> v2 to v3:
>     No change
> ---
>  drivers/phy/phy-core.c  | 47
> +++++++++++++++++++++++++++++++++++++++++
>  include/linux/phy/phy.h | 18 ++++++++++++++++
>  2 files changed, 65 insertions(+)
> 
> diff --git a/drivers/phy/phy-core.c b/drivers/phy/phy-core.c index
> 96a0b1e111f3..a84ad4896b7f 100644
> --- a/drivers/phy/phy-core.c
> +++ b/drivers/phy/phy-core.c
> @@ -489,6 +489,53 @@ int phy_calibrate(struct phy *phy)  }
> EXPORT_SYMBOL_GPL(phy_calibrate);
> 
> +/**
> + * phy_notify_connect() - phy connect notify
> + * @phy: the phy returned by phy_get()
> + * @port: the port index for connect
> + *
> + * If phy need the get connection status, the callback can be used.
> + * Returns: %0 if successful, a negative error code otherwise  */ int
> +phy_notify_connect(struct phy *phy, int port) {
> +	int ret;
> +
> +	if (!phy || !phy->ops->connect)
> +		return 0;
> +
> +	mutex_lock(&phy->mutex);
> +	ret = phy->ops->connect(phy, port);
> +	mutex_unlock(&phy->mutex);
> +
> +	return ret;
> +}
> +EXPORT_SYMBOL_GPL(phy_notify_connect);
> +
> +/**
> + * phy_notify_disconnect() - phy disconnect notify
> + * @phy: the phy returned by phy_get()
> + * @port: the port index for disconnect
> + *
> + * If phy need the get disconnection status, the callback can be used.
> + *
> + * Returns: %0 if successful, a negative error code otherwise  */ int
> +phy_notify_disconnect(struct phy *phy, int port) {
> +	int ret;
> +
> +	if (!phy || !phy->ops->disconnect)
> +		return 0;
> +
> +	mutex_lock(&phy->mutex);
> +	ret = phy->ops->disconnect(phy, port);
> +	mutex_unlock(&phy->mutex);
> +
> +	return ret;
> +}
> +EXPORT_SYMBOL_GPL(phy_notify_disconnect);
> +
>  /**
>   * phy_configure() - Changes the phy parameters
>   * @phy: the phy returned by phy_get()
> diff --git a/include/linux/phy/phy.h b/include/linux/phy/phy.h index
> f6d607ef0e80..cf98cb29ddaa 100644
> --- a/include/linux/phy/phy.h
> +++ b/include/linux/phy/phy.h
> @@ -122,6 +122,8 @@ struct phy_ops {
>  			    union phy_configure_opts *opts);
>  	int	(*reset)(struct phy *phy);
>  	int	(*calibrate)(struct phy *phy);
> +	int	(*connect)(struct phy *phy, int port);
> +	int	(*disconnect)(struct phy *phy, int port);
>  	void	(*release)(struct phy *phy);
>  	struct module *owner;
>  };
> @@ -243,6 +245,8 @@ static inline enum phy_mode phy_get_mode(struct
> phy *phy)  }  int phy_reset(struct phy *phy);  int phy_calibrate(struct phy
> *phy);
> +int phy_notify_connect(struct phy *phy, int port); int
> +phy_notify_disconnect(struct phy *phy, int port);
>  static inline int phy_get_bus_width(struct phy *phy)  {
>  	return phy->attrs.bus_width;
> @@ -396,6 +400,20 @@ static inline int phy_calibrate(struct phy *phy)
>  	return -ENOSYS;
>  }
> 
> +static inline int phy_notify_connect(struct phy *phy, int index) {
> +	if (!phy)
> +		return 0;
> +	return -ENOSYS;
> +}
> +
> +static inline int phy_notify_disconnect(struct phy *phy, int index) {
> +	if (!phy)
> +		return 0;
> +	return -ENOSYS;
> +}
> +
>  static inline int phy_configure(struct phy *phy,
>  				union phy_configure_opts *opts)
>  {
> --
> 2.34.1


  parent reply	other threads:[~2023-11-20  2:19 UTC|newest]

Thread overview: 15+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-11-10  5:45 [PATCH v3 1/4] phy: core: add notify_connect and notify_disconnect callback Stanley Chang
2023-11-10  5:45 ` [PATCH v3 2/4] phy: realtek: usb: add new driver for the Realtek RTD SoC USB 2.0 PHY Stanley Chang
2023-11-10  7:47   ` Johan Hovold
2023-11-10  7:47     ` Johan Hovold
2023-11-10 10:32     ` Stanley Chang[昌育德]
2023-11-10  5:45 ` [PATCH v3 3/4] phy: realtek: usb: add new driver for the Realtek RTD SoC USB 3.0 PHY Stanley Chang
2023-11-10  5:45 ` [PATCH v3 4/4] usb: core: add phy notify connect and disconnect Stanley Chang
2023-12-07  4:50   ` Stanley Chang[昌育德]
2023-12-07  7:10     ` Greg Kroah-Hartman
2023-12-07  7:10       ` Greg Kroah-Hartman
2023-12-07  7:16       ` Stanley Chang[昌育德]
2023-11-20  2:16 ` Stanley Chang[昌育德] [this message]
2023-11-21  5:47 ` [PATCH v3 1/4] phy: core: add notify_connect and notify_disconnect callback Kishon Vijay Abraham I
2023-11-21  5:47   ` Kishon Vijay Abraham I
2023-11-21  6:54   ` 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=8216e62cf2e646a6bdc8dd6629c88f41@realtek.com \
    --to=stanley_chang@realtek.com \
    --cc=f.suligoi@asem.it \
    --cc=geert+renesas@glider.be \
    --cc=gregkh@linuxfoundation.org \
    --cc=heikki.krogerus@linux.intel.com \
    --cc=johan@kernel.org \
    --cc=kishon@kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-phy@lists.infradead.org \
    --cc=linux-usb@vger.kernel.org \
    --cc=ricardo.canuelo@collabora.com \
    --cc=robh@kernel.org \
    --cc=royluo@google.com \
    --cc=ruanjinjie@huawei.com \
    --cc=stern@rowland.harvard.edu \
    --cc=vkoul@kernel.org \
    --cc=yangyingliang@huawei.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 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.