From: Philipp Zabel <p.zabel@pengutronix.de>
To: linux-kernel@vger.kernel.org
Cc: Vivek Gautam <vivek.gautam@codeaurora.org>,
Jon Hunter <jonathanh@nvidia.com>,
Felipe Balbi <balbi@kernel.org>,
Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
Thierry Reding <treding@nvidia.com>,
linux-tegra@vger.kernel.org, linux-usb@vger.kernel.org,
linux-arm-msm@vger.kernel.org,
Philipp Zabel <p.zabel@pengutronix.de>
Subject: [PATCH v5 0/6] reset: APIs to manage a list of resets
Date: Thu, 1 Jun 2017 18:51:57 +0200 [thread overview]
Message-ID: <20170601165203.15315-1-p.zabel@pengutronix.de> (raw)
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
next reply other threads:[~2017-06-01 16:51 UTC|newest]
Thread overview: 14+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-06-01 16:51 Philipp Zabel [this message]
2017-06-01 16:51 ` [PATCH v5 2/6] reset: Add APIs to manage array of resets Philipp Zabel
2017-06-01 16:52 ` [PATCH v5 4/6] usb: dwc3: of-simple: Re-order resource handling in remove Philipp Zabel
[not found] ` <20170601165203.15315-1-p.zabel-bIcnvbaLZ9MEGnE8C9+IrQ@public.gmane.org>
2017-06-01 16:51 ` [PATCH v5 1/6] reset: use kref for reference counting Philipp Zabel
2017-06-01 16:52 ` [PATCH v5 3/6] reset: hide reset control arrays behind struct reset_control Philipp Zabel
[not found] ` <20170601165203.15315-4-p.zabel-bIcnvbaLZ9MEGnE8C9+IrQ@public.gmane.org>
2017-06-01 23:09 ` kbuild test robot
2017-06-02 0:12 ` kbuild test robot
2017-06-13 6:46 ` Vivek Gautam
2017-06-19 12:18 ` Philipp Zabel
2017-06-19 13:06 ` Vivek Gautam
2017-06-01 16:52 ` [PATCH v5 5/6] usb: dwc3: of-simple: Add support to get resets for the device Philipp Zabel
2017-06-01 16:52 ` [PATCH v5 6/6] soc/tegra: pmc: Use the new reset APIs to manage reset controllers Philipp Zabel
2017-06-19 12:37 ` Philipp Zabel
2017-06-13 7:05 ` [PATCH v5 0/6] reset: APIs to manage a list of resets Vivek Gautam
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20170601165203.15315-1-p.zabel@pengutronix.de \
--to=p.zabel@pengutronix.de \
--cc=balbi@kernel.org \
--cc=gregkh@linuxfoundation.org \
--cc=jonathanh@nvidia.com \
--cc=linux-arm-msm@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-tegra@vger.kernel.org \
--cc=linux-usb@vger.kernel.org \
--cc=treding@nvidia.com \
--cc=vivek.gautam@codeaurora.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).