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 17 struct clk; 18 struct device; 19 20 struct 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 34 struct clk_lookup *clkdev_alloc(struct clk *clk, const char *con_id, 35 const char *dev_fmt, ...); 36 37 void clkdev_add(struct clk_lookup *cl); 38 void clkdev_drop(struct clk_lookup *cl); 39 40 void clkdev_add_table(struct clk_lookup *, size_t); 41 int clk_add_alias(const char *, const char *, char *, struct device *); 42 43 #endif 44