mirror of
https://github.com/hardkernel/linux.git
synced 2026-03-24 19:40:21 +09:00
It has two main use cases: 1) Allow drivers to reset their hardware via a GPIO line in a standard fashion as supplied by the reset framework. This allows adhoc driver code requesting GPIOs etc to be replaced with a single call to device_reset(). 2) Allow hardware on discoverable busses to be rest via a GPIO line without driver modifications. Examples of the second use case include: * SDIO wifi modules * USB hub chips with a reset line In this second use case the reset has to be done externally to the driver managing the hardware since resetting the device from the driver's probe() method will either do nothing (if the device needs to be reset before ennumeration will work) or cause racy beahviour (when the device disappears from the bus during probe()). So, in addition to providing a gpio based reset controller implementation it is also possible to reset devices at boot via a DT property or from userspace on request via sysfs attributes. Change-Id: I316f9e622d99cff7167b57e8fd5ff73a34dc2a81 Signed-off-by: Martin Fuzzey <mfuzzey@parkeon.com> Signed-off-by: Kevin Kim <ckkim@hardkernel.com>