1*b7b7b981SViresh Kumar // SPDX-License-Identifier: GPL-2.0 2*b7b7b981SViresh Kumar 3*b7b7b981SViresh Kumar #include <linux/clk.h> 4*b7b7b981SViresh Kumar 5*b7b7b981SViresh Kumar /* 6*b7b7b981SViresh Kumar * The "inline" implementation of below helpers are only available when 7*b7b7b981SViresh Kumar * CONFIG_HAVE_CLK or CONFIG_HAVE_CLK_PREPARE aren't set. 8*b7b7b981SViresh Kumar */ 9*b7b7b981SViresh Kumar #ifndef CONFIG_HAVE_CLK rust_helper_clk_get(struct device * dev,const char * id)10*b7b7b981SViresh Kumarstruct clk *rust_helper_clk_get(struct device *dev, const char *id) 11*b7b7b981SViresh Kumar { 12*b7b7b981SViresh Kumar return clk_get(dev, id); 13*b7b7b981SViresh Kumar } 14*b7b7b981SViresh Kumar rust_helper_clk_put(struct clk * clk)15*b7b7b981SViresh Kumarvoid rust_helper_clk_put(struct clk *clk) 16*b7b7b981SViresh Kumar { 17*b7b7b981SViresh Kumar clk_put(clk); 18*b7b7b981SViresh Kumar } 19*b7b7b981SViresh Kumar rust_helper_clk_enable(struct clk * clk)20*b7b7b981SViresh Kumarint rust_helper_clk_enable(struct clk *clk) 21*b7b7b981SViresh Kumar { 22*b7b7b981SViresh Kumar return clk_enable(clk); 23*b7b7b981SViresh Kumar } 24*b7b7b981SViresh Kumar rust_helper_clk_disable(struct clk * clk)25*b7b7b981SViresh Kumarvoid rust_helper_clk_disable(struct clk *clk) 26*b7b7b981SViresh Kumar { 27*b7b7b981SViresh Kumar clk_disable(clk); 28*b7b7b981SViresh Kumar } 29*b7b7b981SViresh Kumar rust_helper_clk_get_rate(struct clk * clk)30*b7b7b981SViresh Kumarunsigned long rust_helper_clk_get_rate(struct clk *clk) 31*b7b7b981SViresh Kumar { 32*b7b7b981SViresh Kumar return clk_get_rate(clk); 33*b7b7b981SViresh Kumar } 34*b7b7b981SViresh Kumar rust_helper_clk_set_rate(struct clk * clk,unsigned long rate)35*b7b7b981SViresh Kumarint rust_helper_clk_set_rate(struct clk *clk, unsigned long rate) 36*b7b7b981SViresh Kumar { 37*b7b7b981SViresh Kumar return clk_set_rate(clk, rate); 38*b7b7b981SViresh Kumar } 39*b7b7b981SViresh Kumar #endif 40*b7b7b981SViresh Kumar 41*b7b7b981SViresh Kumar #ifndef CONFIG_HAVE_CLK_PREPARE rust_helper_clk_prepare(struct clk * clk)42*b7b7b981SViresh Kumarint rust_helper_clk_prepare(struct clk *clk) 43*b7b7b981SViresh Kumar { 44*b7b7b981SViresh Kumar return clk_prepare(clk); 45*b7b7b981SViresh Kumar } 46*b7b7b981SViresh Kumar rust_helper_clk_unprepare(struct clk * clk)47*b7b7b981SViresh Kumarvoid rust_helper_clk_unprepare(struct clk *clk) 48*b7b7b981SViresh Kumar { 49*b7b7b981SViresh Kumar clk_unprepare(clk); 50*b7b7b981SViresh Kumar } 51*b7b7b981SViresh Kumar #endif 52*b7b7b981SViresh Kumar rust_helper_clk_get_optional(struct device * dev,const char * id)53*b7b7b981SViresh Kumarstruct clk *rust_helper_clk_get_optional(struct device *dev, const char *id) 54*b7b7b981SViresh Kumar { 55*b7b7b981SViresh Kumar return clk_get_optional(dev, id); 56*b7b7b981SViresh Kumar } 57*b7b7b981SViresh Kumar rust_helper_clk_prepare_enable(struct clk * clk)58*b7b7b981SViresh Kumarint rust_helper_clk_prepare_enable(struct clk *clk) 59*b7b7b981SViresh Kumar { 60*b7b7b981SViresh Kumar return clk_prepare_enable(clk); 61*b7b7b981SViresh Kumar } 62*b7b7b981SViresh Kumar rust_helper_clk_disable_unprepare(struct clk * clk)63*b7b7b981SViresh Kumarvoid rust_helper_clk_disable_unprepare(struct clk *clk) 64*b7b7b981SViresh Kumar { 65*b7b7b981SViresh Kumar clk_disable_unprepare(clk); 66*b7b7b981SViresh Kumar } 67