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@xxxxxxxxx> > --- > 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 -- To unsubscribe from this list: send the line "unsubscribe devicetree" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html