Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752987AbbDCNmo (ORCPT ); Fri, 3 Apr 2015 09:42:44 -0400 Received: from devils.ext.ti.com ([198.47.26.153]:49070 "EHLO devils.ext.ti.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752666AbbDCNmk (ORCPT ); Fri, 3 Apr 2015 09:42:40 -0400 Message-ID: <551E98A0.4000106@ti.com> Date: Fri, 3 Apr 2015 19:11:52 +0530 From: Kishon Vijay Abraham I User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:31.0) Gecko/20100101 Thunderbird/31.0 MIME-Version: 1.0 To: Arun Ramamurthy , Rob Herring , Pawel Moll , Mark Rutland , Ian Campbell , Kumar Gala , Arnd Bergmann , CC: , , , Dmitry Torokhov , Anatol Pomazau , Jonathan Richardson , Scott Branden , Ray Jui , Dmitry Torokhov Subject: Re: [PATCH v2 1/3] phy: phy-core: allow specifying supply at port level References: <1427921457-18235-1-git-send-email-arun.ramamurthy@broadcom.com> <1427921457-18235-2-git-send-email-arun.ramamurthy@broadcom.com> In-Reply-To: <1427921457-18235-2-git-send-email-arun.ramamurthy@broadcom.com> Content-Type: text/plain; charset="windows-1252"; format=flowed Content-Transfer-Encoding: 7bit Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 2167 Lines: 76 On Thursday 02 April 2015 02:20 AM, Arun Ramamurthy wrote: > From: Dmitry Torokhov > > Multi-port phy's may have per-port power supplies. Let's change phy core > to first attempt to look up the supply at the port level, and then, if > not found, check parent device. This commit log is no longer valid. -Kishon > > Signed-off-by: Dmitry Torokhov > Signed-off-by: Arun Ramamurthy > Reviewed-by: Ray Jui > Reviewed-by: Scott Branden > --- > drivers/phy/phy-core.c | 23 ++++++++++------------- > 1 file changed, 10 insertions(+), 13 deletions(-) > > diff --git a/drivers/phy/phy-core.c b/drivers/phy/phy-core.c > index 3791838..c7aa297 100644 > --- a/drivers/phy/phy-core.c > +++ b/drivers/phy/phy-core.c > @@ -651,16 +651,6 @@ struct phy *phy_create(struct device *dev, struct device_node *node, > goto free_phy; > } > > - /* phy-supply */ > - phy->pwr = regulator_get_optional(dev, "phy"); > - if (IS_ERR(phy->pwr)) { > - if (PTR_ERR(phy->pwr) == -EPROBE_DEFER) { > - ret = -EPROBE_DEFER; > - goto free_ida; > - } > - phy->pwr = NULL; > - } > - > device_initialize(&phy->dev); > mutex_init(&phy->mutex); > > @@ -674,6 +664,16 @@ struct phy *phy_create(struct device *dev, struct device_node *node, > if (ret) > goto put_dev; > > + /* phy-supply */ > + phy->pwr = regulator_get_optional(&phy->dev, "phy"); > + if (IS_ERR(phy->pwr)) { > + ret = PTR_ERR(phy->pwr); > + if (ret == -EPROBE_DEFER) > + goto put_dev; > + > + phy->pwr = NULL; > + } > + > ret = device_add(&phy->dev); > if (ret) > goto put_dev; > @@ -689,9 +689,6 @@ put_dev: > put_device(&phy->dev); /* calls phy_release() which frees resources */ > return ERR_PTR(ret); > > -free_ida: > - ida_simple_remove(&phy_ida, phy->id); > - > free_phy: > kfree(phy); > return ERR_PTR(ret); > -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/