[PATCH 04/14] reset: Add reset_controller_of_init() function
Philipp Zabel
p.zabel at pengutronix.de
Fri Feb 13 03:49:04 PST 2015
Hi Maxime,
Am Donnerstag, den 12.02.2015, 18:45 +0100 schrieb Maxime Coquelin:
> Some platforms need to initialize the reset controller before the timers.
>
> This patch introduces a reset_controller_of_init() function that can be
> called before the timers intialization.
>
> Signed-off-by: Maxime Coquelin <mcoquelin.stm32 at gmail.com>
> ---
> drivers/reset/core.c | 20 ++++++++++++++++++++
> include/asm-generic/vmlinux.lds.h | 4 +++-
> include/linux/reset-controller.h | 6 ++++++
> 3 files changed, 29 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/reset/core.c b/drivers/reset/core.c
> index 7955e00..18ee579 100644
> --- a/drivers/reset/core.c
> +++ b/drivers/reset/core.c
> @@ -86,6 +86,26 @@ void reset_controller_unregister(struct reset_controller_dev *rcdev)
> }
> EXPORT_SYMBOL_GPL(reset_controller_unregister);
>
> +extern struct of_device_id __reset_ctrl_of_table[];
> +
> +static const struct of_device_id __reset_ctrl_of_table_sentinel
> + __used __section(__reset_ctrl_of_table_end);
> +
> +void __init reset_controller_of_init(void)
The patch looks fine to me, but this function is missing a kerneldoc
comment.
> +{
> + struct device_node *np;
> + const struct of_device_id *match;
> + of_init_fn_1 init_func;
> +
> + for_each_matching_node_and_match(np, __reset_ctrl_of_table, &match) {
> + if (!of_device_is_available(np))
> + continue;
> +
> + init_func = match->data;
> + init_func(np);
> + }
> +}
> +
> /**
> * reset_control_reset - reset the controlled device
> * @rstc: reset controller
regards
Philipp
More information about the linux-arm-kernel
mailing list