tmp_suning_uos_patched/drivers/reset
Bartosz Golaszewski 6691dffab0 reset: add support for non-DT systems
The reset framework only supports device-tree. There are some platforms
however, which need to use it even in legacy, board-file based mode.

An example of such architecture is the DaVinci family of SoCs which
supports both device tree and legacy boot modes and we don't want to
introduce any regressions.

We're currently working on converting the platform from its hand-crafted
clock API to using the common clock framework. Part of the overhaul will
be representing the chip's power sleep controller's reset lines using
the reset framework.

This changeset extends the core reset code with a new reset lookup
entry structure. It contains data allowing the reset core to associate
reset lines with devices by comparing the dev_id and con_id strings.

It also provides a function allowing drivers to register lookup entries
with the framework.

The new lookup function is only called as a fallback in case the
of_node field is NULL and doesn't change anything for current users.

Tested with a dummy reset driver with several lookup entries.

An example lookup table registration from a driver can be found below:

static struct reset_control_lookup foobar_reset_lookup[] = {
	RESET_LOOKUP("foo.0", "foo", 15),
	RESET_LOOKUP("bar.0", NULL,   5),
};

foobar_probe()
{
...

        reset_controller_add_lookup(&rcdev, foobar_reset_lookup,
                                    ARRAY_SIZE(foobar_reset_lookup));

...
}

Cc: Sekhar Nori <nsekhar@ti.com>
Cc: Kevin Hilman <khilman@baylibre.com>
Cc: David Lechner <david@lechnology.com>
Signed-off-by: Bartosz Golaszewski <bgolaszewski@baylibre.com>
Signed-off-by: Philipp Zabel <p.zabel@pengutronix.de>
2018-03-27 10:39:47 +02:00
..
hisilicon reset: hi6220: Set module license so that it can be loaded 2017-05-24 10:53:41 +02:00
sti reset: sti: Use devm_kcalloc() in syscfg_reset_controller_register() 2017-05-15 08:59:08 +02:00
tegra reset: Add Tegra BPMP reset driver 2016-11-18 14:34:56 +01:00
core.c reset: add support for non-DT systems 2018-03-27 10:39:47 +02:00
Kconfig Merge branch 'reset/arc' into reset/next 2017-10-18 15:59:30 +02:00
Makefile ARM: SoC driver updates for v4.15 2017-11-16 16:05:01 -08:00
reset-a10sr.c reset: Add Altera Arria10 SR Reset Controller 2017-03-15 12:19:11 +01:00
reset-ath79.c reset: ath79: make it explicitly non-modular 2017-03-08 09:36:45 +01:00
reset-axs10x.c ARC: reset: introduce AXS10x reset driver 2017-09-18 18:41:27 +02:00
reset-berlin.c
reset-hsdk.c ARC: reset: remove the misleading v1 suffix all over 2017-09-18 13:02:03 +02:00
reset-imx7.c reset: Add i.MX7 SRC reset driver 2017-03-15 12:18:49 +01:00
reset-lantiq.c reset: Add a reset controller driver for the Lantiq XWAY based SoCs 2017-09-04 21:19:02 +02:00
reset-lpc18xx.c reset: lpc18xx: make it explicitly non-modular 2016-10-24 10:45:38 +02:00
reset-meson.c reset: meson-axg: add compatible string for Meson-AXG SoC 2017-11-27 09:16:40 +01:00
reset-oxnas.c reset: oxnas: make it explicitly non-modular 2017-03-08 09:36:45 +01:00
reset-pistachio.c reset: pistachio: make it explicitly non-modular 2017-03-08 09:36:45 +01:00
reset-simple.c reset: zx2967: use the reset-simple driver 2017-10-18 15:51:04 +02:00
reset-simple.h reset: socfpga: use the reset-simple driver 2017-10-18 15:51:02 +02:00
reset-sunxi.c reset: sunxi: use reset-simple driver 2017-10-17 15:35:24 +02:00
reset-ti-sci.c reset: Add the TI SCI reset driver 2017-06-06 09:44:17 +02:00
reset-ti-syscon.c reset: constify reset_control_ops structures 2017-01-12 11:12:07 +01:00
reset-uniphier.c reset: uniphier: add PXs3 reset data 2017-10-05 10:24:14 +02:00
reset-zynq.c reset: zynq: make it explicitly non-modular 2016-10-24 10:45:32 +02:00