Linux Headquarters
[ Register ]
[ About us ] [ Home Page ]

Advertisement
[ Kernel ] [ Documentation ] [ Links ] [ Books ]

Advertisement

Kernel v2.6.24.4 /arch/arm/mach-pxa/clock.c

Filename:/arch/arm/mach-pxa/clock.c
Lines Added:16
Lines Deleted:7
Also changed in: (Previous) 2.6.24.4-rc3  2.6.24.4-rc2  2.6.24.4-rc1  2.6.24  2.6.24-rc8  2.6.24-rc7 
(Following) 2.6.24.5  2.6.24.6  2.6.24.7  2.6.25-rc7  2.6.25-rc8  2.6.25-rc9 

Location
[  2.6.24.4
  [  arch
    [  arm
      [  mach-pxa
         o  clock.c

Patch

diff --git a/arch/arm/mach-pxa/clock.c b/arch/arm/mach-pxa/clock.c
index 83ef5ec..df5ae27 100644
--- a/arch/arm/mach-pxa/clock.c
+++ b/arch/arm/mach-pxa/clock.c
@@ -23,18 +23,27 @@ static LIST_HEAD(clocks);
 static DEFINE_MUTEX(clocks_mutex);
 static DEFINE_SPINLOCK(clocks_lock);
 
+static struct clk *clk_lookup(struct device *dev, const char *id)
+{
+   struct clk *p;
+
+   list_for_each_entry(p, &clocks, node)
+      if (strcmp(id, p->name) == 0 && p->dev == dev)
+         return p;
+
+   return NULL;
+}
+
 struct clk *clk_get(struct device *dev, const char *id)
 {
    struct clk *p, *clk = ERR_PTR(-ENOENT);
 
    mutex_lock(&clocks_mutex);
-   list_for_each_entry(p, &clocks, node) {
-      if (strcmp(id, p->name) == 0 &&
-          (p->dev == NULL || p->dev == dev)) {
-         clk = p;
-         break;
-      }
-   }
+   p = clk_lookup(dev, id);
+   if (!p)
+      p = clk_lookup(NULL, id);
+   if (p)
+      clk = p;
    mutex_unlock(&clocks_mutex);
 
    return clk;


Comments: webmaster (at) linuxhq.com.
Advertising: banners (at) linuxhq.com.
Compilation ©1998-2008 Linux Headquarters, Inc.