davinci: remove watchdog from soc_info
authorKevin Hilman <khilman@deeprootsystems.com>
Wed, 3 Jun 2009 19:24:50 +0000 (12:24 -0700)
committerKevin Hilman <khilman@deeprootsystems.com>
Wed, 26 Aug 2009 07:56:57 +0000 (10:56 +0300)
watchdog info is not needed in soc_info, platform_device can
be used directly in core code.

Signed-off-by: Kevin Hilman <khilman@deeprootsystems.com>
arch/arm/mach-davinci/devices.c
arch/arm/mach-davinci/dm355.c
arch/arm/mach-davinci/dm644x.c
arch/arm/mach-davinci/dm646x.c
arch/arm/mach-davinci/include/mach/common.h
arch/arm/mach-davinci/time.c

index 7a2f8ae..385e833 100644 (file)
@@ -216,6 +216,8 @@ void __init davinci_setup_mmc(int module, struct davinci_mmc_config *config)
 
 static struct resource wdt_resources[] = {
        {
+               .start  = DAVINCI_WDOG_BASE,
+               .end    = DAVINCI_WDOG_BASE + SZ_1K - 1,
                .flags  = IORESOURCE_MEM,
        },
 };
@@ -229,11 +231,6 @@ struct platform_device davinci_wdt_device = {
 
 static void davinci_init_wdt(void)
 {
-       struct davinci_soc_info *soc_info = &davinci_soc_info;
-
-       wdt_resources[0].start = (resource_size_t)soc_info->wdt_base;
-       wdt_resources[0].end = (resource_size_t)soc_info->wdt_base + SZ_1K - 1;
-
        platform_device_register(&davinci_wdt_device);
 }
 
index 373f0c4..48f33e4 100644 (file)
@@ -727,7 +727,6 @@ static struct davinci_soc_info davinci_soc_info_dm355 = {
        .intc_irq_prios         = dm355_default_priorities,
        .intc_irq_num           = DAVINCI_N_AINTC_IRQ,
        .timer_info             = &dm355_timer_info,
-       .wdt_base               = IO_ADDRESS(DAVINCI_WDOG_BASE),
        .gpio_base              = IO_ADDRESS(DAVINCI_GPIO_BASE),
        .gpio_num               = 104,
        .gpio_irq               = IRQ_DM355_GPIOBNK0,
index 7d51263..d20e447 100644 (file)
@@ -660,7 +660,6 @@ static struct davinci_soc_info davinci_soc_info_dm644x = {
        .intc_irq_prios         = dm644x_default_priorities,
        .intc_irq_num           = DAVINCI_N_AINTC_IRQ,
        .timer_info             = &dm644x_timer_info,
-       .wdt_base               = IO_ADDRESS(DAVINCI_WDOG_BASE),
        .gpio_base              = IO_ADDRESS(DAVINCI_GPIO_BASE),
        .gpio_num               = 71,
        .gpio_irq               = IRQ_GPIOBNK0,
index 1391513..2c76a4d 100644 (file)
@@ -691,7 +691,6 @@ static struct davinci_soc_info davinci_soc_info_dm646x = {
        .intc_irq_prios         = dm646x_default_priorities,
        .intc_irq_num           = DAVINCI_N_AINTC_IRQ,
        .timer_info             = &dm646x_timer_info,
-       .wdt_base               = IO_ADDRESS(DAVINCI_WDOG_BASE),
        .gpio_base              = IO_ADDRESS(DAVINCI_GPIO_BASE),
        .gpio_num               = 43, /* Only 33 usable */
        .gpio_irq               = IRQ_DM646X_GPIOBNK0,
index a1f03b6..b21393b 100644 (file)
@@ -60,7 +60,6 @@ struct davinci_soc_info {
        u8                              *intc_irq_prios;
        unsigned long                   intc_irq_num;
        struct davinci_timer_info       *timer_info;
-       void __iomem                    *wdt_base;
        void __iomem                    *gpio_base;
        unsigned                        gpio_num;
        unsigned                        gpio_irq;
index ca85d18..0d1b6d4 100644 (file)
@@ -406,11 +406,11 @@ struct sys_timer davinci_timer = {
 void davinci_watchdog_reset(void)
 {
        u32 tgcr, wdtcr;
-       struct davinci_soc_info *soc_info = &davinci_soc_info;
-       void __iomem *base = soc_info->wdt_base;
+       struct platform_device *pdev = &davinci_wdt_device;
+       void __iomem *base = IO_ADDRESS(pdev->resource[0].start);
        struct clk *wd_clk;
 
-       wd_clk = clk_get(&davinci_wdt_device.dev, NULL);
+       wd_clk = clk_get(&pdev->dev, NULL);
        if (WARN_ON(IS_ERR(wd_clk)))
                return;
        clk_enable(wd_clk);