Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

at v5.7 51 lines 1.0 kB view raw
1/* SPDX-License-Identifier: GPL-2.0 */ 2/* 3 * mcfclk.h -- coldfire specific clock structure 4 */ 5 6 7#ifndef mcfclk_h 8#define mcfclk_h 9 10struct clk; 11 12struct clk_ops { 13 void (*enable)(struct clk *); 14 void (*disable)(struct clk *); 15}; 16 17struct clk { 18 const char *name; 19 struct clk_ops *clk_ops; 20 unsigned long rate; 21 unsigned long enabled; 22 u8 slot; 23}; 24 25extern struct clk *mcf_clks[]; 26 27#ifdef MCFPM_PPMCR0 28extern struct clk_ops clk_ops0; 29#ifdef MCFPM_PPMCR1 30extern struct clk_ops clk_ops1; 31#endif /* MCFPM_PPMCR1 */ 32 33#define DEFINE_CLK(clk_bank, clk_name, clk_slot, clk_rate) \ 34static struct clk __clk_##clk_bank##_##clk_slot = { \ 35 .name = clk_name, \ 36 .clk_ops = &clk_ops##clk_bank, \ 37 .rate = clk_rate, \ 38 .slot = clk_slot, \ 39} 40 41void __clk_init_enabled(struct clk *); 42void __clk_init_disabled(struct clk *); 43#else 44#define DEFINE_CLK(clk_ref, clk_name, clk_rate) \ 45 static struct clk clk_##clk_ref = { \ 46 .name = clk_name, \ 47 .rate = clk_rate, \ 48 } 49#endif /* MCFPM_PPMCR0 */ 50 51#endif /* mcfclk_h */