1/* 2 * linux/arch/arm/mach-nuc93x/clock.h 3 * 4 * Copyright (c) 2008 Nuvoton technology corporation 5 * 6 * Wan ZongShun <mcuos.com@gmail.com> 7 * 8 * This program is free software; you can redistribute it and/or modify 9 * it under the terms of the GNU General Public License as published by 10 * the Free Software Foundation; either version 2 of the License. 11 */ 12 13#include <asm/clkdev.h> 14 15void nuc93x_clk_enable(struct clk *clk, int enable); 16void clks_register(struct clk_lookup *clks, size_t num); 17 18struct clk { 19 unsigned long cken; 20 unsigned int enabled; 21 void (*enable)(struct clk *, int enable); 22}; 23 24#define DEFINE_CLK(_name, _ctrlbit) \ 25struct clk clk_##_name = { \ 26 .enable = nuc93x_clk_enable, \ 27 .cken = (1 << _ctrlbit), \ 28 } 29 30#define DEF_CLKLOOK(_clk, _devname, _conname) \ 31 { \ 32 .clk = _clk, \ 33 .dev_id = _devname, \ 34 .con_id = _conname, \ 35 } 36