summaryrefslogtreecommitdiff
path: root/drivers
diff options
context:
space:
mode:
authorArnd Bergmann <arnd@arndb.de>2018-01-05 14:24:25 +0300
committerArnd Bergmann <arnd@arndb.de>2018-01-05 14:25:04 +0300
commitc8ac0b10fd941d31295eed01acc1564415390f39 (patch)
treea0538a5832c004486828b689aff0db2c39fbc6ff /drivers
parent830ebd37c57709e08c1b010c26ad1659a5853ce1 (diff)
parent0e5721f76252d69d424ec87a391d5ea37414b641 (diff)
downloadlinux-c8ac0b10fd941d31295eed01acc1564415390f39.tar.xz
Merge tag 'reset-for-4.16' of git://git.pengutronix.de/git/pza/linux into next/drivers
Pull "Reset controller changes for v4.16" from Philipp Zabel: This adds Meson-AXG reset support and fixes a few issues with the reset include header: device_reset_optional is fixed to be really optional, unused headers are pruned, and useless warnings and deprecated API calls are removed. * tag 'reset-for-4.16' of git://git.pengutronix.de/git/pza/linux: reset: meson-axg: add compatible string for Meson-AXG SoC dt-bindings: reset: Add bindings for the Meson-AXG SoC Reset Controller reset: remove reset_control_get(_optional) reset: minimize the number of headers included from <linux/reset.h> reset: remove remaining WARN_ON() in <linux/reset.h> reset: make device_reset_optional() really optional
Diffstat (limited to 'drivers')
-rw-r--r--drivers/reset/core.c9
-rw-r--r--drivers/reset/reset-meson.c2
2 files changed, 7 insertions, 4 deletions
diff --git a/drivers/reset/core.c b/drivers/reset/core.c
index 1d21c6f7d56c..da4292e9de97 100644
--- a/drivers/reset/core.c
+++ b/drivers/reset/core.c
@@ -566,17 +566,18 @@ EXPORT_SYMBOL_GPL(__devm_reset_control_get);
* device_reset - find reset controller associated with the device
* and perform reset
* @dev: device to be reset by the controller
+ * @optional: whether it is optional to reset the device
*
- * Convenience wrapper for reset_control_get() and reset_control_reset().
+ * Convenience wrapper for __reset_control_get() and reset_control_reset().
* This is useful for the common case of devices with single, dedicated reset
* lines.
*/
-int device_reset(struct device *dev)
+int __device_reset(struct device *dev, bool optional)
{
struct reset_control *rstc;
int ret;
- rstc = reset_control_get(dev, NULL);
+ rstc = __reset_control_get(dev, NULL, 0, 0, optional);
if (IS_ERR(rstc))
return PTR_ERR(rstc);
@@ -586,7 +587,7 @@ int device_reset(struct device *dev)
return ret;
}
-EXPORT_SYMBOL_GPL(device_reset);
+EXPORT_SYMBOL_GPL(__device_reset);
/**
* APIs to manage an array of reset controls.
diff --git a/drivers/reset/reset-meson.c b/drivers/reset/reset-meson.c
index c419a3753d00..93cbee1ae8ef 100644
--- a/drivers/reset/reset-meson.c
+++ b/drivers/reset/reset-meson.c
@@ -139,6 +139,8 @@ static const struct of_device_id meson_reset_dt_ids[] = {
.data = &meson_reset_meson8_ops, },
{ .compatible = "amlogic,meson-gxbb-reset",
.data = &meson_reset_gx_ops, },
+ { .compatible = "amlogic,meson-axg-reset",
+ .data = &meson_reset_gx_ops, },
{ /* sentinel */ },
};