~ubuntu-branches/ubuntu/precise/linux-lowlatency/precise

« back to all changes in this revision

Viewing changes to arch/powerpc/sysdev/mpc5xxx_clocks.c

  • Committer: Package Import Robot
  • Author(s): Alessio Igor Bogani
  • Date: 2011-10-26 11:13:05 UTC
  • Revision ID: package-import@ubuntu.com-20111026111305-tz023xykf0i6eosh
Tags: upstream-3.2.0
ImportĀ upstreamĀ versionĀ 3.2.0

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
/**
 
2
 *      mpc5xxx_get_bus_frequency - Find the bus frequency for a device
 
3
 *      @node:  device node
 
4
 *
 
5
 *      Returns bus frequency (IPS on MPC512x, IPB on MPC52xx),
 
6
 *      or 0 if the bus frequency cannot be found.
 
7
 */
 
8
 
 
9
#include <linux/kernel.h>
 
10
#include <linux/of_platform.h>
 
11
#include <linux/export.h>
 
12
 
 
13
unsigned int
 
14
mpc5xxx_get_bus_frequency(struct device_node *node)
 
15
{
 
16
        struct device_node *np;
 
17
        const unsigned int *p_bus_freq = NULL;
 
18
 
 
19
        of_node_get(node);
 
20
        while (node) {
 
21
                p_bus_freq = of_get_property(node, "bus-frequency", NULL);
 
22
                if (p_bus_freq)
 
23
                        break;
 
24
 
 
25
                np = of_get_parent(node);
 
26
                of_node_put(node);
 
27
                node = np;
 
28
        }
 
29
        if (node)
 
30
                of_node_put(node);
 
31
 
 
32
        return p_bus_freq ? *p_bus_freq : 0;
 
33
}
 
34
EXPORT_SYMBOL(mpc5xxx_get_bus_frequency);