| #define HWBLK_CNT_USAGE 0 |
| #define HWBLK_CNT_DEVICES 2 |
| #define HWBLK_AREA_FLAG_PARENT (1 << 0) /* valid parent */ |
| #define HWBLK_AREA(_flags, _parent) \ |
| #define HWBLK(_mstp, _bit, _area) \ |
| .mstp = (void __iomem *)_mstp, \ |
| struct hwblk_area *areas; |
| /* Should be defined by processor-specific code */ |
| int arch_hwblk_init(void); |
| int arch_hwblk_sleep_mode(void); |
| int hwblk_register(struct hwblk_info *info); |
| void hwblk_enable(struct hwblk_info *info, int hwblk); |
| void hwblk_disable(struct hwblk_info *info, int hwblk); |
| void hwblk_cnt_inc(struct hwblk_info *info, int hwblk, int cnt); |
| void hwblk_cnt_dec(struct hwblk_info *info, int hwblk, int cnt); |
| /* allow clocks to enable and disable hardware blocks */ |
| #define SH_HWBLK_CLK(_name, _id, _parent, _hwblk, _flags) \ |
| int sh_hwblk_clk_register(struct clk *clks, int nr); |
| #endif /* __ASM_SH_HWBLK_H */ |