All of lore.kernel.org
 help / color / mirror / Atom feed
From: Subhash Jadavani <subhashj@codeaurora.org>
To: Vivek Gautam <vivek.gautam@codeaurora.org>
Cc: kishon@ti.com, jejb@linux.vnet.ibm.com, vinholikatti@gmail.com,
	martin.petersen@oracle.com, linux-kernel@vger.kernel.org,
	linux-scsi@vger.kernel.org, linux-arm-msm@vger.kernel.org
Subject: Re: [PATCH v2 10/10] phy: qcom-ufs: Remove common layer phy exit callback
Date: Tue, 18 Oct 2016 17:07:29 -0700	[thread overview]
Message-ID: <c796178922167d6276168f0d055dd592@codeaurora.org> (raw)
In-Reply-To: <1476800897-19898-11-git-send-email-vivek.gautam@codeaurora.org>

On 2016-10-18 07:28, Vivek Gautam wrote:
> The common layer phy exit callback ufs_qcom_phy_exit()
> calls phy_power_off() that has no meaning when phy_power_off()
> callback is already registered with the phy provider and
> the consumer makes use of the same.
> Instead, add a no-op specific phy_exit() callback for now
> to add the exit sequence at a later point.
> 
> Signed-off-by: Vivek Gautam <vivek.gautam@codeaurora.org>
> ---
> 
> New patch added in v2 series.
> 
>  drivers/phy/phy-qcom-ufs-i.h        |  1 -
>  drivers/phy/phy-qcom-ufs-qmp-14nm.c |  7 ++++++-
>  drivers/phy/phy-qcom-ufs-qmp-20nm.c |  7 ++++++-
>  drivers/phy/phy-qcom-ufs.c          | 17 ++++++-----------
>  4 files changed, 18 insertions(+), 14 deletions(-)
> 
> diff --git a/drivers/phy/phy-qcom-ufs-i.h 
> b/drivers/phy/phy-qcom-ufs-i.h
> index 69e836d..d505d98 100644
> --- a/drivers/phy/phy-qcom-ufs-i.h
> +++ b/drivers/phy/phy-qcom-ufs-i.h
> @@ -141,7 +141,6 @@ struct ufs_qcom_phy_specific_ops {
>  struct ufs_qcom_phy *get_ufs_qcom_phy(struct phy *generic_phy);
>  int ufs_qcom_phy_power_on(struct phy *generic_phy);
>  int ufs_qcom_phy_power_off(struct phy *generic_phy);
> -int ufs_qcom_phy_exit(struct phy *generic_phy);
>  int ufs_qcom_phy_init_clks(struct ufs_qcom_phy *phy_common);
>  int ufs_qcom_phy_init_vregulators(struct ufs_qcom_phy *phy_common);
>  int ufs_qcom_phy_remove(struct phy *generic_phy,
> diff --git a/drivers/phy/phy-qcom-ufs-qmp-14nm.c
> b/drivers/phy/phy-qcom-ufs-qmp-14nm.c
> index a60cf34..061604f 100644
> --- a/drivers/phy/phy-qcom-ufs-qmp-14nm.c
> +++ b/drivers/phy/phy-qcom-ufs-qmp-14nm.c
> @@ -47,6 +47,11 @@ static int ufs_qcom_phy_qmp_14nm_init(struct phy
> *generic_phy)
>  	return 0;
>  }
> 
> +static int ufs_qcom_phy_qmp_14nm_exit(struct phy *generic_phy)
> +{
> +	return 0;
> +}
> +
>  static
>  void ufs_qcom_phy_qmp_14nm_power_control(struct ufs_qcom_phy *phy, 
> bool val)
>  {
> @@ -94,7 +99,7 @@ static int ufs_qcom_phy_qmp_14nm_is_pcs_ready(struct
> ufs_qcom_phy *phy_common)
> 
>  static const struct phy_ops ufs_qcom_phy_qmp_14nm_phy_ops = {
>  	.init		= ufs_qcom_phy_qmp_14nm_init,
> -	.exit		= ufs_qcom_phy_exit,
> +	.exit		= ufs_qcom_phy_qmp_14nm_exit,
>  	.power_on	= ufs_qcom_phy_power_on,
>  	.power_off	= ufs_qcom_phy_power_off,
>  	.owner		= THIS_MODULE,
> diff --git a/drivers/phy/phy-qcom-ufs-qmp-20nm.c
> b/drivers/phy/phy-qcom-ufs-qmp-20nm.c
> index dfc5175..1a26a64 100644
> --- a/drivers/phy/phy-qcom-ufs-qmp-20nm.c
> +++ b/drivers/phy/phy-qcom-ufs-qmp-20nm.c
> @@ -66,6 +66,11 @@ static int ufs_qcom_phy_qmp_20nm_init(struct phy
> *generic_phy)
>  	return 0;
>  }
> 
> +static int ufs_qcom_phy_qmp_20nm_exit(struct phy *generic_phy)
> +{
> +	return 0;
> +}
> +
>  static
>  void ufs_qcom_phy_qmp_20nm_power_control(struct ufs_qcom_phy *phy, 
> bool val)
>  {
> @@ -152,7 +157,7 @@ static int
> ufs_qcom_phy_qmp_20nm_is_pcs_ready(struct ufs_qcom_phy *phy_common)
> 
>  static const struct phy_ops ufs_qcom_phy_qmp_20nm_phy_ops = {
>  	.init		= ufs_qcom_phy_qmp_20nm_init,
> -	.exit		= ufs_qcom_phy_exit,
> +	.exit		= ufs_qcom_phy_qmp_20nm_exit,
>  	.power_on	= ufs_qcom_phy_power_on,
>  	.power_off	= ufs_qcom_phy_power_off,
>  	.owner		= THIS_MODULE,
> diff --git a/drivers/phy/phy-qcom-ufs.c b/drivers/phy/phy-qcom-ufs.c
> index a425cc2..494f90f 100644
> --- a/drivers/phy/phy-qcom-ufs.c
> +++ b/drivers/phy/phy-qcom-ufs.c
> @@ -615,17 +615,6 @@ int ufs_qcom_phy_calibrate_phy(struct phy
> *generic_phy, bool is_rate_B)
>  }
>  EXPORT_SYMBOL_GPL(ufs_qcom_phy_calibrate_phy);
> 
> -int ufs_qcom_phy_exit(struct phy *generic_phy)
> -{
> -	struct ufs_qcom_phy *ufs_qcom_phy = get_ufs_qcom_phy(generic_phy);
> -
> -	if (ufs_qcom_phy->is_powered_on)
> -		phy_power_off(generic_phy);
> -
> -	return 0;
> -}
> -EXPORT_SYMBOL_GPL(ufs_qcom_phy_exit);
> -
>  int ufs_qcom_phy_is_pcs_ready(struct phy *generic_phy)
>  {
>  	struct ufs_qcom_phy *ufs_qcom_phy = get_ufs_qcom_phy(generic_phy);
> @@ -647,6 +636,9 @@ int ufs_qcom_phy_power_on(struct phy *generic_phy)
>  	struct device *dev = phy_common->dev;
>  	int err;
> 
> +	if (phy_common->is_powered_on)
> +		return 0;
> +
>  	err = ufs_qcom_phy_enable_vreg(dev, &phy_common->vdda_phy);
>  	if (err) {
>  		dev_err(dev, "%s enable vdda_phy failed, err=%d\n",
> @@ -709,6 +701,9 @@ int ufs_qcom_phy_power_off(struct phy *generic_phy)
>  {
>  	struct ufs_qcom_phy *phy_common = get_ufs_qcom_phy(generic_phy);
> 
> +	if (!phy_common->is_powered_on)
> +		return 0;
> +
>  	phy_common->phy_spec_ops->power_control(phy_common, false);
> 
>  	if (phy_common->vddp_ref_clk.reg)

LGTM , Reviewed-by: Subhash Jadavani <subhashj@codeaurora.org>

-- 
The Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum,
a Linux Foundation Collaborative Project

  reply	other threads:[~2016-10-19  0:07 UTC|newest]

Thread overview: 27+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-10-18 14:28 [PATCH v2 00/10] ufs-qcom: phy/hcd: Clean up qcom-ufs phy and ufs-qcom hcd Vivek Gautam
2016-10-18 14:28 ` [PATCH v2 01/10] phy: qcom-ufs: remove failure when rx/tx_iface_clk are absent Vivek Gautam
2016-10-18 18:38   ` Subhash Jadavani
2016-10-18 21:18   ` Stephen Boyd
2016-10-19 17:20     ` Vivek Gautam
2016-10-29 20:21       ` Vivek Gautam
2016-10-18 14:28 ` [PATCH v2 02/10] phy: qcom-ufs: Remove unnecessary BUG_ON Vivek Gautam
2016-10-18 14:28 ` [PATCH v2 03/10] phy: qcom-ufs: Use devm sibling of kstrdup for regulator names Vivek Gautam
2016-10-18 14:28 ` [PATCH v2 04/10] phy: qcom-ufs-qmp-xx: Discard remove callback for drivers Vivek Gautam
2016-10-26 20:20   ` Kishon Vijay Abraham I
2016-10-26 20:20     ` Kishon Vijay Abraham I
2016-10-29 20:16     ` Vivek Gautam
2016-10-18 14:28 ` [PATCH v2 05/10] phy: qcom-ufs: Cleanup clock and regulator initialization Vivek Gautam
2016-10-18 14:28 ` [PATCH v2 06/10] phy: qcom-ufs: Remove unnecessary function declarations Vivek Gautam
2016-10-18 18:41   ` Subhash Jadavani
2016-10-18 14:28 ` [PATCH v2 07/10] phy: qcom-ufs-qmp-xx: Move clock and regulator init out of phy init Vivek Gautam
2016-10-18 14:28 ` [PATCH 08/10] ufs-qcom: phy/hcd: Refactoring phy clock handling Vivek Gautam
2016-10-18 20:13   ` Subhash Jadavani
2016-10-19 17:45     ` Vivek Gautam
2016-10-19 19:18       ` Subhash Jadavani
2016-10-20  3:44         ` Vivek Gautam
2016-10-18 14:28 ` [PATCH v2 09/10] scsi/ufs: qcom: Add phy_exit call in hcd exit path Vivek Gautam
2016-10-18 20:19   ` Subhash Jadavani
2016-10-18 14:28 ` [PATCH v2 10/10] phy: qcom-ufs: Remove common layer phy exit callback Vivek Gautam
2016-10-19  0:07   ` Subhash Jadavani [this message]
2016-10-25  0:40 ` [PATCH v2 00/10] ufs-qcom: phy/hcd: Clean up qcom-ufs phy and ufs-qcom hcd Martin K. Petersen
2016-10-25  6:00   ` Vivek Gautam

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=c796178922167d6276168f0d055dd592@codeaurora.org \
    --to=subhashj@codeaurora.org \
    --cc=jejb@linux.vnet.ibm.com \
    --cc=kishon@ti.com \
    --cc=linux-arm-msm@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-scsi@vger.kernel.org \
    --cc=martin.petersen@oracle.com \
    --cc=vinholikatti@gmail.com \
    --cc=vivek.gautam@codeaurora.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.