mirror of https://lore.kernel.org/lkml/
 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: 26+ 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-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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox

Powered by JetHome