[POWERPC] Add mpc52xx_find_and_map_path(), refactor utility functions
authorMarian Balakowicz <m8@semihalf.com>
Thu, 18 Oct 2007 18:44:14 +0000 (04:44 +1000)
committerGrant Likely <grant.likely@secretlab.ca>
Sun, 21 Oct 2007 18:42:47 +0000 (12:42 -0600)
Add helper routine mpc52xx_find_and_map_path(). Extract common code to
mpc52xx_map_node() and refactor mpc52xx_find_and_map().

Signed-off-by: Jan Wrobel <wrr@semihalf.com>
Signed-off-by: Grant Likely <grant.likely@secretlab.ca>
arch/powerpc/platforms/52xx/mpc52xx_common.c
include/asm-powerpc/mpc52xx.h

index 3bc201e07e6b9a5a66a8b3f9011faa1b327971d9..74b4b418384232c474e2c2f153d4fb98c6c98bcd 100644 (file)
 #include <asm/mpc52xx.h>
 
 
-void __iomem *
-mpc52xx_find_and_map(const char *compatible)
+static void __iomem *
+mpc52xx_map_node(struct device_node *ofn)
 {
-       struct device_node *ofn;
        const u32 *regaddr_p;
        u64 regaddr64, size64;
 
-       ofn = of_find_compatible_node(NULL, NULL, compatible);
        if (!ofn)
                return NULL;
 
@@ -42,8 +40,23 @@ mpc52xx_find_and_map(const char *compatible)
 
        return ioremap((u32)regaddr64, (u32)size64);
 }
+
+void __iomem *
+mpc52xx_find_and_map(const char *compatible)
+{
+       return mpc52xx_map_node(
+               of_find_compatible_node(NULL, NULL, compatible));
+}
+
 EXPORT_SYMBOL(mpc52xx_find_and_map);
 
+void __iomem *
+mpc52xx_find_and_map_path(const char *path)
+{
+       return mpc52xx_map_node(of_find_node_by_path(path));
+}
+
+EXPORT_SYMBOL(mpc52xx_find_and_map_path);
 
 /**
  *     mpc52xx_find_ipb_freq - Find the IPB bus frequency for a device
index 764d997b4cde5945ce4deb91994ec8caca1aa085..8e428466a60f8e48f82f7a377293756320c01b75 100644 (file)
@@ -249,6 +249,7 @@ struct mpc52xx_cdm {
 #ifndef __ASSEMBLY__
 
 extern void __iomem * mpc52xx_find_and_map(const char *);
+extern void __iomem * mpc52xx_find_and_map_path(const char *path);
 extern unsigned int mpc52xx_find_ipb_freq(struct device_node *node);
 extern void mpc5200_setup_xlb_arbiter(void);
 extern void mpc52xx_declare_of_platform_devices(void);