xref: /linux/drivers/clk/hisilicon/crg.h (revision e58e871becec2d3b04ed91c0c16fe8deac9c9dfa)
1 /*
2  * HiSilicon Clock and Reset Driver Header
3  *
4  * Copyright (c) 2016 HiSilicon Limited.
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 as published by
8  * the Free Software Foundation; either version 2 of the License, or
9  * (at your option) any later version.
10  *
11  * This program is distributed in the hope that it will be useful,
12  * but WITHOUT ANY WARRANTY; without even the implied warranty of
13  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
14  * GNU General Public License for more details.
15  */
16 
17 #ifndef __HISI_CRG_H
18 #define __HISI_CRG_H
19 
20 struct hisi_clock_data;
21 struct hisi_reset_controller;
22 
23 struct hisi_crg_funcs {
24 	struct hisi_clock_data*	(*register_clks)(struct platform_device *pdev);
25 	void (*unregister_clks)(struct platform_device *pdev);
26 };
27 
28 struct hisi_crg_dev {
29 	struct hisi_clock_data *clk_data;
30 	struct hisi_reset_controller *rstc;
31 	const struct hisi_crg_funcs *funcs;
32 };
33 
34 #endif	/* __HISI_CRG_H */
35