Messages in this thread Patch in this message | | | From | Pawel Moll <> | Subject | [RFC 09/18] power/reset: vexpress: Use regmap instead of custom interface | Date | Mon, 23 Dec 2013 16:23:41 +0000 |
| |
This patch makes the Versatile Express reboot/reset driver use regmap interface, instead of custom vexpress config one. It will request the regmap resource associated with the device, which makes it pretty much hardware agnostic.
Signed-off-by: Pawel Moll <pawel.moll@arm.com> Cc: Anton Vorontsov <anton@enomsg.org> Cc: David Woodhouse <dwmw2@infradead.org> --- drivers/power/reset/Kconfig | 2 +- drivers/power/reset/vexpress-poweroff.c | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-)
diff --git a/drivers/power/reset/Kconfig b/drivers/power/reset/Kconfig index 9b3ea53..98f64dc 100644 --- a/drivers/power/reset/Kconfig +++ b/drivers/power/reset/Kconfig @@ -40,7 +40,7 @@ config POWER_RESET_RESTART config POWER_RESET_VEXPRESS bool "ARM Versatile Express power-off and reset driver" depends on ARM || ARM64 - depends on POWER_RESET && VEXPRESS_CONFIG + depends on POWER_RESET && REGMAP help Power off and reset support for the ARM Ltd. Versatile Express boards. diff --git a/drivers/power/reset/vexpress-poweroff.c b/drivers/power/reset/vexpress-poweroff.c index d752233..a7fc882 100644 --- a/drivers/power/reset/vexpress-poweroff.c +++ b/drivers/power/reset/vexpress-poweroff.c @@ -15,6 +15,7 @@ #include <linux/of.h> #include <linux/of_device.h> #include <linux/platform_device.h> +#include <linux/regmap.h> #include <linux/sched.h> #include <linux/stat.h> #include <linux/vexpress.h> @@ -24,13 +25,12 @@ static void vexpress_reset_do(struct device *dev, const char *what) { int err = -ENOENT; - struct vexpress_config_func *func = - vexpress_config_func_get_by_dev(dev); + struct regmap *reg = dev_get_regmap(dev, NULL); - if (func) { + if (reg) { unsigned long long timeout_ns; - err = vexpress_config_write(func, 0, 0); + err = regmap_write(reg, 0, 0); timeout_ns = sched_clock() + 50000000; while (!err && time_before64(sched_clock(), timeout_ns)) -- 1.8.3.2
| |