linux/include/linux/clkdev.h
<<
>>
Prefs
   1/*
   2 *  include/linux/clkdev.h
   3 *
   4 *  Copyright (C) 2008 Russell King.
   5 *
   6 * This program is free software; you can redistribute it and/or modify
   7 * it under the terms of the GNU General Public License version 2 as
   8 * published by the Free Software Foundation.
   9 *
  10 * Helper for the clk API to assist looking up a struct clk.
  11 */
  12#ifndef __CLKDEV_H
  13#define __CLKDEV_H
  14
  15#include <asm/clkdev.h>
  16
  17struct clk;
  18struct device;
  19
  20struct clk_lookup {
  21        struct list_head        node;
  22        const char              *dev_id;
  23        const char              *con_id;
  24        struct clk              *clk;
  25};
  26
  27#define CLKDEV_INIT(d, n, c)    \
  28        {                       \
  29                .dev_id = d,    \
  30                .con_id = n,    \
  31                .clk = c,       \
  32        }
  33
  34struct clk_lookup *clkdev_alloc(struct clk *clk, const char *con_id,
  35        const char *dev_fmt, ...);
  36
  37void clkdev_add(struct clk_lookup *cl);
  38void clkdev_drop(struct clk_lookup *cl);
  39
  40void clkdev_add_table(struct clk_lookup *, size_t);
  41int clk_add_alias(const char *, const char *, char *, struct device *);
  42
  43int clk_register_clkdev(struct clk *, const char *, const char *, ...);
  44int clk_register_clkdevs(struct clk *, struct clk_lookup *, size_t);
  45
  46#ifdef CONFIG_COMMON_CLK
  47int __clk_get(struct clk *clk);
  48void __clk_put(struct clk *clk);
  49#endif
  50
  51#endif
  52