[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <20170601165203.15315-1-p.zabel@pengutronix.de>
Date: Thu, 1 Jun 2017 18:51:57 +0200
From: Philipp Zabel <p.zabel@...gutronix.de>
To: linux-kernel@...r.kernel.org
Cc: Vivek Gautam <vivek.gautam@...eaurora.org>,
Jon Hunter <jonathanh@...dia.com>,
Felipe Balbi <balbi@...nel.org>,
Greg Kroah-Hartman <gregkh@...uxfoundation.org>,
Thierry Reding <treding@...dia.com>,
linux-tegra@...r.kernel.org, linux-usb@...r.kernel.org,
linux-arm-msm@...r.kernel.org,
Philipp Zabel <p.zabel@...gutronix.de>
Subject: [PATCH v5 0/6] reset: APIs to manage a list of resets
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.
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(-)
--
2.11.0
Powered by blists - more mailing lists