Commit 19c7c0d8 authored by Kumar, Anil's avatar Kumar, Anil Committed by Sekhar Nori

ARM: davinci: da850 DT: add support for machine reboot

Update the da8xx_restart() function to support machine reboot
when booting using DT. Have the function search for the watchdog
platform device instead of always using "da8xx_wdt_device" which
is never registered in DT case.

While at it, also make da8xx_wdt_device static since there is no need
for it to be globally visible.

Tested machine reboot with both DT and non-DT boot on DA850 EVM.
Signed-off-by: default avatarKumar, Anil <anilkumar.v@ti.com>
Signed-off-by: default avatarSekhar Nori <nsekhar@ti.com>
parent 518f97db
...@@ -359,7 +359,7 @@ static struct resource da8xx_watchdog_resources[] = { ...@@ -359,7 +359,7 @@ static struct resource da8xx_watchdog_resources[] = {
}, },
}; };
struct platform_device da8xx_wdt_device = { static struct platform_device da8xx_wdt_device = {
.name = "watchdog", .name = "watchdog",
.id = -1, .id = -1,
.num_resources = ARRAY_SIZE(da8xx_watchdog_resources), .num_resources = ARRAY_SIZE(da8xx_watchdog_resources),
...@@ -368,7 +368,15 @@ struct platform_device da8xx_wdt_device = { ...@@ -368,7 +368,15 @@ struct platform_device da8xx_wdt_device = {
void da8xx_restart(char mode, const char *cmd) void da8xx_restart(char mode, const char *cmd)
{ {
davinci_watchdog_reset(&da8xx_wdt_device); struct device *dev;
dev = bus_find_device_by_name(&platform_bus_type, NULL, "watchdog");
if (!dev) {
pr_err("%s: failed to find watchdog device\n", __func__);
return;
}
davinci_watchdog_reset(to_platform_device(dev));
} }
int __init da8xx_register_watchdog(void) int __init da8xx_register_watchdog(void)
......
...@@ -112,7 +112,6 @@ extern struct da8xx_lcdc_platform_data sharp_lcd035q3dg01_pdata; ...@@ -112,7 +112,6 @@ extern struct da8xx_lcdc_platform_data sharp_lcd035q3dg01_pdata;
extern struct da8xx_lcdc_platform_data sharp_lk043t1dg01_pdata; extern struct da8xx_lcdc_platform_data sharp_lk043t1dg01_pdata;
extern struct davinci_spi_platform_data da8xx_spi_pdata[]; extern struct davinci_spi_platform_data da8xx_spi_pdata[];
extern struct platform_device da8xx_wdt_device;
extern const short da830_emif25_pins[]; extern const short da830_emif25_pins[];
extern const short da830_spi0_pins[]; extern const short da830_spi0_pins[];
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment