[ARM] omap: watchdog: provide a dummy ick for OMAP1
authorRussell King <rmk@dyn-67.arm.linux.org.uk>
Fri, 23 Jan 2009 12:48:37 +0000 (12:48 +0000)
committerRussell King <rmk+kernel@arm.linux.org.uk>
Sun, 8 Feb 2009 17:50:16 +0000 (17:50 +0000)
Eliminate the OMAP1 vs OMAP2 clock knowledge in the watchdog driver.

Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
arch/arm/mach-omap1/clock.c
drivers/watchdog/omap_wdt.c

index 8ae7827bb8b8db3f1dafa7ae30d51699badd048b..758abaadaf3779276759533721cdf84a892e8b56 100644 (file)
@@ -86,6 +86,8 @@ static struct omap_clk omap_clks[] = {
        CLK(NULL,       "armxor_ck",    &armxor_ck.clk, CK_16XX | CK_1510 | CK_310),
        CLK(NULL,       "armtim_ck",    &armtim_ck.clk, CK_16XX | CK_1510 | CK_310),
        CLK("omap_wdt", "fck",          &armwdt_ck.clk, CK_16XX | CK_1510 | CK_310),
+       CLK("omap_wdt", "ick",          &armper_ck.clk, CK_16XX),
+       CLK("omap_wdt", "ick",          &dummy_ck,      CK_1510 | CK_310),
        CLK(NULL,       "arminth_ck",   &arminth_ck1510, CK_1510 | CK_310),
        CLK(NULL,       "arminth_ck",   &arminth_ck16xx, CK_16XX),
        /* CK_GEN2 clocks */
index 1a4c699762e642258d66d689c37a7d1fd63f6d0f..aa5ad6e33f023db62e13addcc74d2c69d7d652b8 100644 (file)
@@ -145,8 +145,7 @@ static int omap_wdt_open(struct inode *inode, struct file *file)
        if (test_and_set_bit(1, (unsigned long *)&(wdev->omap_wdt_users)))
                return -EBUSY;
 
-       if (wdev->ick)
-               clk_enable(wdev->ick);    /* Enable the interface clock */
+       clk_enable(wdev->ick);    /* Enable the interface clock */
        clk_enable(wdev->fck);    /* Enable the functional clock */
 
        /* initialize prescaler */
@@ -176,8 +175,7 @@ static int omap_wdt_release(struct inode *inode, struct file *file)
 
        omap_wdt_disable(wdev);
 
-       if (wdev->ick)
-               clk_disable(wdev->ick);
+       clk_disable(wdev->ick);
        clk_disable(wdev->fck);
 #else
        printk(KERN_CRIT "omap_wdt: Unexpected close, not stopping!\n");
@@ -294,13 +292,11 @@ static int __init omap_wdt_probe(struct platform_device *pdev)
        wdev->omap_wdt_users = 0;
        wdev->mem = mem;
 
-       if (cpu_is_omap24xx() || cpu_is_omap34xx()) {
-               wdev->ick = clk_get(&pdev->dev, "ick");
-               if (IS_ERR(wdev->ick)) {
-                       ret = PTR_ERR(wdev->ick);
-                       wdev->ick = NULL;
-                       goto err_clk;
-               }
+       wdev->ick = clk_get(&pdev->dev, "ick");
+       if (IS_ERR(wdev->ick)) {
+               ret = PTR_ERR(wdev->ick);
+               wdev->ick = NULL;
+               goto err_clk;
        }
        wdev->fck = clk_get(&pdev->dev, "fck");
        if (IS_ERR(wdev->fck)) {
@@ -383,10 +379,7 @@ static int omap_wdt_remove(struct platform_device *pdev)
        release_mem_region(res->start, res->end - res->start + 1);
        platform_set_drvdata(pdev, NULL);
 
-       if (wdev->ick) {
-               clk_put(wdev->ick);
-       }
-
+       clk_put(wdev->ick);
        clk_put(wdev->fck);
        iounmap(wdev->base);