From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752340AbbCZAEE (ORCPT ); Wed, 25 Mar 2015 20:04:04 -0400 Received: from mail-gw3-out.broadcom.com ([216.31.210.64]:20901 "EHLO mail-gw3-out.broadcom.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1750979AbbCZAEB (ORCPT ); Wed, 25 Mar 2015 20:04:01 -0400 X-IronPort-AV: E=Sophos;i="5.11,468,1422950400"; d="scan'208";a="60280004" Message-ID: <55134D10.2070805@broadcom.com> Date: Wed, 25 Mar 2015 17:04:32 -0700 From: Arun Ramamurthy User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:31.0) Gecko/20100101 Thunderbird/31.5.0 MIME-Version: 1.0 To: Kishon Vijay Abraham I , Dmitry Torokhov CC: Tony Prisk , Alan Stern , Greg Kroah-Hartman , Arnd Bergmann , , , , "Anatol Pomazau" , Jonathan Richardson , Scott Branden , Ray Jui , Subject: Re: [PATCH 1/3] phy: core: Add devm_of_phy_get_by_index to phy-core References: <1426885630-32429-1-git-send-email-arun.ramamurthy@broadcom.com> <1426885630-32429-2-git-send-email-arun.ramamurthy@broadcom.com> <20150320212645.GA25405@dtor-ws> <550C9134.9020003@broadcom.com> <551330B5.6030901@ti.com> In-Reply-To: <551330B5.6030901@ti.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 On 15-03-25 03:03 PM, Kishon Vijay Abraham I wrote: > Hi, > > On Saturday 21 March 2015 02:59 AM, Arun Ramamurthy wrote: >> >> >> On 15-03-20 02:26 PM, Dmitry Torokhov wrote: >>> Hi Arun, >>> >>> On Fri, Mar 20, 2015 at 02:07:08PM -0700, Arun Ramamurthy wrote: >>>> Adding devm_of_phy_get_by_index to get phys by supplying an index >>>> and not a phy name when multiple phys are declared > > I think a bit more explanation on why get_by_index is needed here. Thanks Kison. Can you be more specific? I am unsure of what more I can explain here. >>>> >>>> Reviewed-by: Ray Jui >>>> Reviewed-by: Scott Branden >>>> Signed-off-by: Arun Ramamurthy >>>> --- >>>> drivers/phy/phy-core.c | 30 ++++++++++++++++++++++++++++++ >>>> include/linux/phy/phy.h | 2 ++ >>>> 2 files changed, 32 insertions(+) >>>> >>>> diff --git a/drivers/phy/phy-core.c b/drivers/phy/phy-core.c >>>> index a12d353..0c03876 100644 >>>> --- a/drivers/phy/phy-core.c >>>> +++ b/drivers/phy/phy-core.c >>>> @@ -622,6 +622,36 @@ struct phy *devm_of_phy_get(struct device *dev, struct >>>> device_node *np, >>>> EXPORT_SYMBOL_GPL(devm_of_phy_get); >>>> >>>> /** >>>> + * devm_of_phy_get_by_index() - lookup and obtain a reference to a phy by >>>> index. >>>> + * @dev: device that requests this phy >>>> + * @np: node containing the phy >>>> + * @index: index of the phy >>>> + * >>>> + * Gets the phy using _of_phy_get(), and associates a device with it using >>>> + * devres. On driver detach, release function is invoked on the devres data, >>>> + * then, devres data is freed. >>>> + * >>>> + */ >>>> +struct phy *devm_of_phy_get_by_index(struct device *dev, struct device_node >>>> *np, >>>> + int index) >>>> +{ >>>> + struct phy **ptr, *phy; >>>> + >>>> + ptr = devres_alloc(devm_phy_release, sizeof(*ptr), GFP_KERNEL); >>>> + if (!ptr) >>>> + return ERR_PTR(-ENOMEM); >>>> + >>>> + phy = _of_phy_get(np, index); >>>> + if (!IS_ERR(phy)) { >>>> + *ptr = phy; >>>> + devres_add(dev, ptr); >>>> + } else { >>>> + devres_free(ptr); >>>> + } >>>> + >>>> + return phy; >>>> +} >>> >>> You want EXPORT_SYMBOL_GPL(devm_of_phy_get_by_index); here. > > Also update the Documentation/phy.txt. > Ok will do. > -Kishon >