clk_gpio
static OWL_GATE(clk_gpio, "gpio", "apb_clk", CMU_DEVCLKEN1, 25, 0, 0);
&clk_gpio.common,
[CLK_GPIO] = &clk_gpio.common.hw,
struct clk_gpio *clk = to_clk_gpio(hw);
struct clk_gpio *clk = to_clk_gpio(hw);
struct clk_gpio *clk = to_clk_gpio(hw);
struct clk_gpio *clk_gpio;
clk_gpio = devm_kzalloc(dev, sizeof(*clk_gpio), GFP_KERNEL);
if (!clk_gpio)
clk_gpio->gpiod = gpiod;
clk_gpio->hw.init = &init;
hw = &clk_gpio->hw;
struct clk_gpio clk_gpio;
#define to_clk_gated_fixed(_clk_gpio) container_of(_clk_gpio, struct clk_gated_fixed, clk_gpio)
clk->clk_gpio.gpiod = devm_gpiod_get_optional(dev, "enable",
if (IS_ERR(clk->clk_gpio.gpiod))
return dev_err_probe(dev, PTR_ERR(clk->clk_gpio.gpiod),
if (gpiod_cansleep(clk->clk_gpio.gpiod))
clk->clk_gpio.hw.init = CLK_HW_INIT_NO_PARENT(clk_name, ops, 0);
ret = devm_clk_hw_register(dev, &clk->clk_gpio.hw);
&clk->clk_gpio.hw);
#define to_clk_gpio(_hw) container_of(_hw, struct clk_gpio, hw)
struct clk_gpio *clk = to_clk_gpio(hw);
struct clk_gpio *clk = to_clk_gpio(hw);
struct clk_gpio *clk = to_clk_gpio(hw);
struct clk_gpio *clk = to_clk_gpio(hw);
struct clk_gpio *clk = to_clk_gpio(hw);
port->clk_gpio = devm_clk_get(dev, "gpio");
ret = PTR_ERR_OR_ZERO(port->clk_gpio);
ret = clk_prepare_enable(port->clk_gpio);
port->clk_gpio);
struct clk *clk_gpio;
static long sm750le_i2c_init(unsigned char clk_gpio, unsigned char data_gpio)
sw_i2c_clk_gpio = clk_gpio;
long sm750_sw_i2c_init(unsigned char clk_gpio, unsigned char data_gpio)
if ((clk_gpio > 31) || (data_gpio > 31))
return sm750le_i2c_init(clk_gpio, data_gpio);
sw_i2c_clk_gpio = clk_gpio;
long sm750_sw_i2c_init(unsigned char clk_gpio, unsigned char data_gpio);