From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1757802AbcEFG0h (ORCPT ); Fri, 6 May 2016 02:26:37 -0400 Received: from mailout4.w1.samsung.com ([210.118.77.14]:23168 "EHLO mailout4.w1.samsung.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751174AbcEFG0e (ORCPT ); Fri, 6 May 2016 02:26:34 -0400 X-AuditID: cbfec7f5-f792a6d000001302-43-572c3915d39d Subject: Re: [RFC v2 09/13] power: pwrseq: Add support for USB hubs with external power To: Javier Martinez Canillas , devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-samsung-soc@vger.kernel.org, linux-mmc@vger.kernel.org, linux-pm@vger.kernel.org, linux-usb@vger.kernel.org, Ulf Hansson , Sebastian Reichel , Dmitry Eremin-Solenikov , David Woodhouse , Greg Kroah-Hartman , Mark Brown References: <1462451666-17945-1-git-send-email-k.kozlowski@samsung.com> <1462451666-17945-10-git-send-email-k.kozlowski@samsung.com> <3bdf7888-5ed1-2a55-6607-ee8be70e25e7@osg.samsung.com> Cc: tjakobi@math.uni-bielefeld.de, m.szyprowski@samsung.com, hverkuil@xs4all.nl, Bartlomiej Zolnierkiewicz From: Krzysztof Kozlowski Message-id: <572C3914.4040708@samsung.com> Date: Fri, 06 May 2016 08:26:28 +0200 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:38.0) Gecko/20100101 Thunderbird/38.7.2 MIME-version: 1.0 In-reply-to: <3bdf7888-5ed1-2a55-6607-ee8be70e25e7@osg.samsung.com> Content-type: text/plain; charset=windows-1252 Content-transfer-encoding: 7bit X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFlrLIsWRmVeSWpSXmKPExsVy+t/xa7qiljrhBh+Pq1lsnLGe1WLqwyds FpOevGe2mH/kHKvFxJWTmS2aF69nszg1+RmTxZu3a5gsXr8wtNj0+BqrxeVdc9gsjvzvZ7T4 3HuE0WLG+X1MFouWtTJbrD1yl93i9O4Si7bVH1gtjq8NdxD22DnrLrvH5hVaHptWdbJ53Lm2 h81j/9w1QKEl9R7/jrF7bOkHyvdtWcXo8XmTnMepr5/ZA7ijuGxSUnMyy1KL9O0SuDJu/xMq 2MFbsXPVEqYGxi9cXYycHBICJhJ7v35kh7DFJC7cW8/WxcjFISSwlFHi6P7HrBDOM0aJw0fu sHQxcnAIC0RKbOzTA4mLCPSySFw4d54JpFtIYD+jRFtvHUiCWaCdUWLrqd1sIAk2AWOJzcuX gNm8AloSF6dsBlvHIqAqcfNLA1izqECExOp115ghagQlfky+B7aMU8BZ4ukBdRCTWUBP4v5F LZAKZgF5ic1r3jJPYBSYhaRhFkLVLCRVCxiZVzGKppYmFxQnpeca6RUn5haX5qXrJefnbmKE ROLXHYxLj1kdYhTgYFTi4c04qR0uxJpYVlyZe4hRgoNZSYRX1UwnXIg3JbGyKrUoP76oNCe1 +BCjNAeLkjjvzF3vQ4QE0hNLUrNTUwtSi2CyTBycUg2MynNSBDo5zh6P6zJt+Mv/3Txg1l8v i2+9Ww8J8goeYNa8z1upf99b49mm415mflftflqaOTz1fqImeyJ6+vdfgi1xlX08Hn+VTz/y Nd3wMjf9eob4goApNeUiEj0zV86R6lvz4Yb54trcjddPvdi17cD7Fzu5Vgv9esex/4fV363P /DNmblALV2Ipzkg01GIuKk4EAARxuX7AAgAA Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On 05/05/2016 09:52 PM, Javier Martinez Canillas wrote: > Hello Krzysztof, > > On 05/05/2016 08:34 AM, Krzysztof Kozlowski wrote: >> Some USB devices on embedded boards have external power supply which has >> to be reset in certain conditions. Add pwrseq interface for this. >> >> Signed-off-by: Krzysztof Kozlowski >> --- >> drivers/power/pwrseq/pwrseq.c | 44 +++++++++++++++++++++++++++++++++++++++++++ >> include/linux/pwrseq.h | 8 ++++++++ >> 2 files changed, 52 insertions(+) >> >> diff --git a/drivers/power/pwrseq/pwrseq.c b/drivers/power/pwrseq/pwrseq.c >> index 495a19d3c30b..306265f55a10 100644 >> --- a/drivers/power/pwrseq/pwrseq.c >> +++ b/drivers/power/pwrseq/pwrseq.c >> @@ -52,6 +52,43 @@ int mmc_pwrseq_alloc(struct mmc_host *host) >> } >> EXPORT_SYMBOL_GPL(mmc_pwrseq_alloc); >> >> +struct pwrseq *pwrseq_alloc(struct device *dev) >> +{ > > This function is USB specific so better to call it usb_pwrseq_alloc() instead. Indeed it is parsing USB specific bindings so such prefix is needed. > Although, this function has a lot of duplicated code from mmc_pwrseq_alloc() > so I think is better to keep the name generic and factorize the common code. > > I expect other devices are also needing some kind of power seq in the future > so having a single alloc function instead of each for device type makes sense. Yes, this can be cleaned up and unified. > >> + struct device_node *np; >> + struct pwrseq *p, *ret = NULL; >> + >> + np = of_parse_phandle(dev->of_node, "usb-pwrseq", 0); > > I know this is just an RFC but you should really add DT bindings for this. Yep, next step. Best regards, Krzysztof