1*0ac2a08fSDmitry Baryshkov /* SPDX-License-Identifier: GPL-2.0 */ 2*0ac2a08fSDmitry Baryshkov /* 3*0ac2a08fSDmitry Baryshkov * Copyright (c) 2023, Linaro Ltd. 4*0ac2a08fSDmitry Baryshkov */ 5*0ac2a08fSDmitry Baryshkov 6*0ac2a08fSDmitry Baryshkov #ifndef __LINUX_INTERCONNECT_CLK_H 7*0ac2a08fSDmitry Baryshkov #define __LINUX_INTERCONNECT_CLK_H 8*0ac2a08fSDmitry Baryshkov 9*0ac2a08fSDmitry Baryshkov struct device; 10*0ac2a08fSDmitry Baryshkov 11*0ac2a08fSDmitry Baryshkov struct icc_clk_data { 12*0ac2a08fSDmitry Baryshkov struct clk *clk; 13*0ac2a08fSDmitry Baryshkov const char *name; 14*0ac2a08fSDmitry Baryshkov }; 15*0ac2a08fSDmitry Baryshkov 16*0ac2a08fSDmitry Baryshkov struct icc_provider *icc_clk_register(struct device *dev, 17*0ac2a08fSDmitry Baryshkov unsigned int first_id, 18*0ac2a08fSDmitry Baryshkov unsigned int num_clocks, 19*0ac2a08fSDmitry Baryshkov const struct icc_clk_data *data); 20*0ac2a08fSDmitry Baryshkov void icc_clk_unregister(struct icc_provider *provider); 21*0ac2a08fSDmitry Baryshkov 22*0ac2a08fSDmitry Baryshkov #endif 23