linux/arch/powerpc/kernel/clock.c
<<
>>
Prefs
   1/*
   2 * Dummy clk implementations for powerpc.
   3 * These need to be overridden in platform code.
   4 */
   5
   6#include <linux/clk.h>
   7#include <linux/err.h>
   8#include <linux/errno.h>
   9#include <linux/module.h>
  10#include <asm/clk_interface.h>
  11
  12struct clk_interface clk_functions;
  13
  14struct clk *clk_get(struct device *dev, const char *id)
  15{
  16        if (clk_functions.clk_get)
  17                return clk_functions.clk_get(dev, id);
  18        return ERR_PTR(-ENOSYS);
  19}
  20EXPORT_SYMBOL(clk_get);
  21
  22void clk_put(struct clk *clk)
  23{
  24        if (clk_functions.clk_put)
  25                clk_functions.clk_put(clk);
  26}
  27EXPORT_SYMBOL(clk_put);
  28
  29int clk_enable(struct clk *clk)
  30{
  31        if (clk_functions.clk_enable)
  32                return clk_functions.clk_enable(clk);
  33        return -ENOSYS;
  34}
  35EXPORT_SYMBOL(clk_enable);
  36
  37void clk_disable(struct clk *clk)
  38{
  39        if (clk_functions.clk_disable)
  40                clk_functions.clk_disable(clk);
  41}
  42EXPORT_SYMBOL(clk_disable);
  43
  44unsigned long clk_get_rate(struct clk *clk)
  45{
  46        if (clk_functions.clk_get_rate)
  47                return clk_functions.clk_get_rate(clk);
  48        return 0;
  49}
  50EXPORT_SYMBOL(clk_get_rate);
  51
  52long clk_round_rate(struct clk *clk, unsigned long rate)
  53{
  54        if (clk_functions.clk_round_rate)
  55                return clk_functions.clk_round_rate(clk, rate);
  56        return -ENOSYS;
  57}
  58EXPORT_SYMBOL(clk_round_rate);
  59
  60int clk_set_rate(struct clk *clk, unsigned long rate)
  61{
  62        if (clk_functions.clk_set_rate)
  63                return clk_functions.clk_set_rate(clk, rate);
  64        return -ENOSYS;
  65}
  66EXPORT_SYMBOL(clk_set_rate);
  67
  68struct clk *clk_get_parent(struct clk *clk)
  69{
  70        if (clk_functions.clk_get_parent)
  71                return clk_functions.clk_get_parent(clk);
  72        return ERR_PTR(-ENOSYS);
  73}
  74EXPORT_SYMBOL(clk_get_parent);
  75
  76int clk_set_parent(struct clk *clk, struct clk *parent)
  77{
  78        if (clk_functions.clk_set_parent)
  79                return clk_functions.clk_set_parent(clk, parent);
  80        return -ENOSYS;
  81}
  82EXPORT_SYMBOL(clk_set_parent);
  83