From mboxrd@z Thu Jan 1 00:00:00 1970 From: Vivek Gautam Subject: Re: [PATCH v5 0/6] reset: APIs to manage a list of resets Date: Tue, 13 Jun 2017 12:35:26 +0530 Message-ID: References: <20170601165203.15315-1-p.zabel@pengutronix.de> Mime-Version: 1.0 Content-Type: text/plain; charset=windows-1252; format=flowed Content-Transfer-Encoding: 7bit Return-path: In-Reply-To: <20170601165203.15315-1-p.zabel-bIcnvbaLZ9MEGnE8C9+IrQ@public.gmane.org> Sender: linux-tegra-owner-u79uwXL29TY76Z2rM5mHXA@public.gmane.org To: Philipp Zabel , linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org Cc: Jon Hunter , Felipe Balbi , Greg Kroah-Hartman , Thierry Reding , linux-tegra-u79uwXL29TY76Z2rM5mHXA@public.gmane.org, linux-usb-u79uwXL29TY76Z2rM5mHXA@public.gmane.org, linux-arm-msm-u79uwXL29TY76Z2rM5mHXA@public.gmane.org List-Id: linux-tegra@vger.kernel.org On 06/01/2017 10:21 PM, Philipp Zabel wrote: > A set of patches to allow consumers to get and de/assert or trigger > a number of resets at the same time. A patch on top of Vivek's original > API extension is added to hide the reset_control_array behind a struct > reset_control so that the consumer doesn't have care about the difference > between a singular reset control and reset control controlling an array > of resets, except when requesting the control. > > This series also contains reset controls patches for dwc3-of-simple > and tegra pmc drivers. > A small patch is added in this series to correctly re-order the > resource handling in dwc3_of_simple_remove(). > > The series is tested on torvald's master branch the device tree > patches to enable usb on db820c. > > Changes since v4: > - Added a patch to hide reset control arrays behind struct reset_control > and adapted the consumer patches. This could be merged with the reset > array API patch if we think this is a good idea. Hi Philipp, I tested this series again on my db820c setup. Things work fine. We can merge this series after fixing the 3/6 patch in this series. Thanks Hi Felipe, If you are okay with changes in dwc3, can you kindly consider Ack'ing this series. May be Philipp can pull the entire series after fixing. Thanks Vivek > > Changes since v3: > - Squashed of_reset_control_get_count() patch in the second patch that > adds the reset control array APIs. > - The error path after getting count through of_reset_control_get_count() > now returns NULL pointer in case when 'optional' flag is true. > - Added code in reset_control_array_assert() to deassert the > already asserted resets in the error case. > - Using of_reset_control_array_get_optional_exclusive() in dwc3 patch > to request the reset control array. > - Added a patch to fix the order in which resources are handled in > dwc3_of_simple_remove() path. > - Added tegra_powergate->reset to take care of single reset control > passed from the client drivers. > > Changes since v2: > - Addressed comments to make APIs inline with gpiod API. > - Moved number of reset controls in 'struct reset_control_array' > so that the footprint is reduced. > - of_reset_control_array_get() and devm_reset_control_array_get() > now return pointer to the newly created reset control array. > - Added comments to mention that the reset control array APIs don't > guarantee any particular order when handling the reset controls. > - Dropped 'name' from reset_control_array' since the interface is meant > for a bunch of anonymous resets that can all be asserted or deasserted > in arbitrary order. > - Fixed returns for APIs reported by kbuild. > - Fixed 'for' clause guards reported by kbuild. > > Changes since v1: > - Addressed comment for error handling in of_reset_control_get_count() > - Added patch to manage reset controller array. > - Rebased dwc3-of-simple changes based on the new set of APIs > for reset control array. > - Added a patch for soc/tegra/pmc driver to use the new set of > reset control array APIs. > > Philipp Zabel (2): > reset: use kref for reference counting > reset: hide reset control arrays behind struct reset_control > > Vivek Gautam (4): > reset: Add APIs to manage array of resets > usb: dwc3: of-simple: Re-order resource handling in remove > usb: dwc3: of-simple: Add support to get resets for the device > soc/tegra: pmc: Use the new reset APIs to manage reset controllers > > drivers/reset/core.c | 234 ++++++++++++++++++++++++++++++++++++-- > drivers/soc/tegra/pmc.c | 82 ++++--------- > drivers/usb/dwc3/dwc3-of-simple.c | 29 ++++- > include/linux/reset.h | 73 ++++++++++++ > 4 files changed, 344 insertions(+), 74 deletions(-) > -- The Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum, a Linux Foundation Collaborative Project From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752857AbdFMHFk (ORCPT ); Tue, 13 Jun 2017 03:05:40 -0400 Received: from smtp.codeaurora.org ([198.145.29.96]:46280 "EHLO smtp.codeaurora.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752601AbdFMHFh (ORCPT ); Tue, 13 Jun 2017 03:05:37 -0400 DMARC-Filter: OpenDMARC Filter v1.3.2 smtp.codeaurora.org DBB9E60312 Authentication-Results: pdx-caf-mail.web.codeaurora.org; dmarc=none (p=none dis=none) header.from=codeaurora.org Authentication-Results: pdx-caf-mail.web.codeaurora.org; spf=none smtp.mailfrom=vivek.gautam@codeaurora.org Subject: Re: [PATCH v5 0/6] reset: APIs to manage a list of resets To: Philipp Zabel , linux-kernel@vger.kernel.org References: <20170601165203.15315-1-p.zabel@pengutronix.de> Cc: Jon Hunter , Felipe Balbi , Greg Kroah-Hartman , Thierry Reding , linux-tegra@vger.kernel.org, linux-usb@vger.kernel.org, linux-arm-msm@vger.kernel.org From: Vivek Gautam Message-ID: Date: Tue, 13 Jun 2017 12:35:26 +0530 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:45.0) Gecko/20100101 Thunderbird/45.2.0 MIME-Version: 1.0 In-Reply-To: <20170601165203.15315-1-p.zabel@pengutronix.de> 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 06/01/2017 10:21 PM, Philipp Zabel wrote: > A set of patches to allow consumers to get and de/assert or trigger > a number of resets at the same time. A patch on top of Vivek's original > API extension is added to hide the reset_control_array behind a struct > reset_control so that the consumer doesn't have care about the difference > between a singular reset control and reset control controlling an array > of resets, except when requesting the control. > > This series also contains reset controls patches for dwc3-of-simple > and tegra pmc drivers. > A small patch is added in this series to correctly re-order the > resource handling in dwc3_of_simple_remove(). > > The series is tested on torvald's master branch the device tree > patches to enable usb on db820c. > > Changes since v4: > - Added a patch to hide reset control arrays behind struct reset_control > and adapted the consumer patches. This could be merged with the reset > array API patch if we think this is a good idea. Hi Philipp, I tested this series again on my db820c setup. Things work fine. We can merge this series after fixing the 3/6 patch in this series. Thanks Hi Felipe, If you are okay with changes in dwc3, can you kindly consider Ack'ing this series. May be Philipp can pull the entire series after fixing. Thanks Vivek > > Changes since v3: > - Squashed of_reset_control_get_count() patch in the second patch that > adds the reset control array APIs. > - The error path after getting count through of_reset_control_get_count() > now returns NULL pointer in case when 'optional' flag is true. > - Added code in reset_control_array_assert() to deassert the > already asserted resets in the error case. > - Using of_reset_control_array_get_optional_exclusive() in dwc3 patch > to request the reset control array. > - Added a patch to fix the order in which resources are handled in > dwc3_of_simple_remove() path. > - Added tegra_powergate->reset to take care of single reset control > passed from the client drivers. > > Changes since v2: > - Addressed comments to make APIs inline with gpiod API. > - Moved number of reset controls in 'struct reset_control_array' > so that the footprint is reduced. > - of_reset_control_array_get() and devm_reset_control_array_get() > now return pointer to the newly created reset control array. > - Added comments to mention that the reset control array APIs don't > guarantee any particular order when handling the reset controls. > - Dropped 'name' from reset_control_array' since the interface is meant > for a bunch of anonymous resets that can all be asserted or deasserted > in arbitrary order. > - Fixed returns for APIs reported by kbuild. > - Fixed 'for' clause guards reported by kbuild. > > Changes since v1: > - Addressed comment for error handling in of_reset_control_get_count() > - Added patch to manage reset controller array. > - Rebased dwc3-of-simple changes based on the new set of APIs > for reset control array. > - Added a patch for soc/tegra/pmc driver to use the new set of > reset control array APIs. > > Philipp Zabel (2): > reset: use kref for reference counting > reset: hide reset control arrays behind struct reset_control > > Vivek Gautam (4): > reset: Add APIs to manage array of resets > usb: dwc3: of-simple: Re-order resource handling in remove > usb: dwc3: of-simple: Add support to get resets for the device > soc/tegra: pmc: Use the new reset APIs to manage reset controllers > > drivers/reset/core.c | 234 ++++++++++++++++++++++++++++++++++++-- > drivers/soc/tegra/pmc.c | 82 ++++--------- > drivers/usb/dwc3/dwc3-of-simple.c | 29 ++++- > include/linux/reset.h | 73 ++++++++++++ > 4 files changed, 344 insertions(+), 74 deletions(-) > -- The Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum, a Linux Foundation Collaborative Project