aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/reset
Commit message (Collapse)AuthorAge
* ENGR00269945: reset: build in CONFIG_RESET_GPIO by defaultShawn Guo2014-04-16
| | | | | | | GPIO is widely used as the reset control for various devices. Let's build the support in by default. Signed-off-by: Shawn Guo <shawn.guo@freescale.com>
* ENGR00269945: reset: register gpio-reset driver in arch_initcallShawn Guo2014-04-16
| | | | | | | | | | | | | | | | | | | It's a little bit late to register gpio-reset driver at module_init time, because gpio-reset provides reset control via gpio for other devices which are mostly probed at module_init time too. And it becomes even worse, when the gpio comes from IO expander on I2C bus, e.g. pca953x. In that case, gpio-reset needs to be ready before I2C bus driver which is generally ready at subsys_initcall time. Let's register gpio-reset driver in arch_initcall() to have it ready early enough. The defer probe mechanism is not used here, because a reset controller driver should be reasonably registered early than other devices. More importantly, defer probe doe not help in some nasty cases, e.g. the gpio-pca953x device itself needs a reset from gpio-reset driver start working. Signed-off-by: Shawn Guo <shawn.guo@freescale.com>
* ENGR00269945: reset: handle cansleep case in gpio-resetShawn Guo2014-04-16
| | | | | | | | | Some gpio reset may be backed by a gpio that can sleep, e.g. pca953x gpio output. For such gpio, gpio_set_value_cansleep() should be called. Otherwise, the WARN_ON(chip->can_sleep) in gpiod_set_value() will be hit. Add a gpio_cansleep() check to handle cansleep gpio. Signed-off-by: Shawn Guo <shawn.guo@freescale.com>
* reset: Add driver for gpio-controlled reset pinsPhilipp Zabel2014-04-16
| | | | | | | | | | | This driver implements a reset controller device that toggle a gpio connected to a reset pin of a peripheral IC. The delay between assertion and de-assertion of the reset signal can be configured via device tree. Signed-off-by: Philipp Zabel <p.zabel@pengutronix.de> Reviewed-by: Stephen Warren <swarren@nvidia.com> Reviewed-by: Pavel Machek <pavel@ucw.cz> Signed-off-by: Shawn Guo <shawn.guo@freescale.com>
* reset: NULL deref on allocation failureDan Carpenter2013-04-12
| | | | | | | "rstc" is NULL here and we should use "rcdev" instead of "rstc->rcdev". Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com> Signed-off-by: Philipp Zabel <p.zabel@pengutronix.de>
* reset: Add reset controller APIPhilipp Zabel2013-04-12
This adds a simple API for devices to request being reset by separate reset controller hardware and implements the reset signal device tree binding. Signed-off-by: Philipp Zabel <p.zabel@pengutronix.de> Reviewed-by: Stephen Warren <swarren@nvidia.com> Reviewed-by: Shawn Guo <shawn.guo@linaro.org> Reviewed-by: Marek Vasut <marex@denx.de> Reviewed-by: Pavel Machek <pavel@ucw.cz>