Message ID | 20170117230738.28257-1-alexandre.belloni@free-electrons.com |
---|---|
State | New |
Headers | show |
Hi Alexandre, On Wed, Jan 18, 2017 at 12:07:37AM +0100, Alexandre Belloni wrote: > From: Szemző András <sza@esh.hu> > > Add samx7 support. It is lacking a few bits and needs a new reset function. > > Signed-off-by: Szemző András <sza@esh.hu> > Signed-off-by: Alexandre Belloni <alexandre.belloni@free-electrons.com> > --- > drivers/power/reset/at91-reset.c | 10 ++++++++++ > 1 file changed, 10 insertions(+) > > diff --git a/drivers/power/reset/at91-reset.c b/drivers/power/reset/at91-reset.c > index 568580cf0655..bb2588f0a4c7 100644 > --- a/drivers/power/reset/at91-reset.c > +++ b/drivers/power/reset/at91-reset.c > @@ -134,6 +134,15 @@ static int sama5d3_restart(struct notifier_block *this, unsigned long mode, > return NOTIFY_DONE; > } > > +static int samx7_restart(struct notifier_block *this, unsigned long mode, > + void *cmd) > +{ > + writel(cpu_to_le32(AT91_RSTC_KEY | AT91_RSTC_PROCRST), > + at91_rstc_base); > + > + return NOTIFY_DONE; > +} > + > static void __init at91_reset_status(struct platform_device *pdev) > { > u32 reg = readl(at91_rstc_base + AT91_RSTC_SR); > @@ -173,6 +182,7 @@ static const struct of_device_id at91_reset_of_match[] = { > { .compatible = "atmel,at91sam9260-rstc", .data = at91sam9260_restart }, > { .compatible = "atmel,at91sam9g45-rstc", .data = at91sam9g45_restart }, > { .compatible = "atmel,sama5d3-rstc", .data = sama5d3_restart }, > + { .compatible = "atmel,samx7-rstc", .data = samx7_restart }, > { /* sentinel */ } > }; > MODULE_DEVICE_TABLE(of, at91_reset_of_match); Thanks, queued into power-supply's for-next branch. -- Sebastian
Hi Alexandre, On Wed, Jan 18, 2017 at 12:07:38AM +0100, Alexandre Belloni wrote: > commit eacd8d09db7f ("power/reset: at91-reset: remove useless > at91_reset_platform_probe()") removed non DT probe support but forgot to > remove the now useless id_table. Do that now. > > Signed-off-by: Alexandre Belloni <alexandre.belloni@free-electrons.com> > --- > drivers/power/reset/at91-reset.c | 8 -------- > 1 file changed, 8 deletions(-) > > diff --git a/drivers/power/reset/at91-reset.c b/drivers/power/reset/at91-reset.c > index bb2588f0a4c7..b99769f8ab15 100644 > --- a/drivers/power/reset/at91-reset.c > +++ b/drivers/power/reset/at91-reset.c > @@ -248,20 +248,12 @@ static int __exit at91_reset_remove(struct platform_device *pdev) > return 0; > } > > -static const struct platform_device_id at91_reset_plat_match[] = { > - { "at91-sam9260-reset", (unsigned long)at91sam9260_restart }, > - { "at91-sam9g45-reset", (unsigned long)at91sam9g45_restart }, > - { /* sentinel */ } > -}; > -MODULE_DEVICE_TABLE(platform, at91_reset_plat_match); > - > static struct platform_driver at91_reset_driver = { > .remove = __exit_p(at91_reset_remove), > .driver = { > .name = "at91-reset", > .of_match_table = at91_reset_of_match, > }, > - .id_table = at91_reset_plat_match, > }; > module_platform_driver_probe(at91_reset_driver, at91_reset_probe); Thanks, also queued into power-supply's for-next branch. -- Sebastian
diff --git a/drivers/power/reset/at91-reset.c b/drivers/power/reset/at91-reset.c index 568580cf0655..bb2588f0a4c7 100644 --- a/drivers/power/reset/at91-reset.c +++ b/drivers/power/reset/at91-reset.c @@ -134,6 +134,15 @@ static int sama5d3_restart(struct notifier_block *this, unsigned long mode, return NOTIFY_DONE; } +static int samx7_restart(struct notifier_block *this, unsigned long mode, + void *cmd) +{ + writel(cpu_to_le32(AT91_RSTC_KEY | AT91_RSTC_PROCRST), + at91_rstc_base); + + return NOTIFY_DONE; +} + static void __init at91_reset_status(struct platform_device *pdev) { u32 reg = readl(at91_rstc_base + AT91_RSTC_SR); @@ -173,6 +182,7 @@ static const struct of_device_id at91_reset_of_match[] = { { .compatible = "atmel,at91sam9260-rstc", .data = at91sam9260_restart }, { .compatible = "atmel,at91sam9g45-rstc", .data = at91sam9g45_restart }, { .compatible = "atmel,sama5d3-rstc", .data = sama5d3_restart }, + { .compatible = "atmel,samx7-rstc", .data = samx7_restart }, { /* sentinel */ } }; MODULE_DEVICE_TABLE(of, at91_reset_of_match);