Lines Matching refs:rk1000

31 struct rk1000 {  struct
66 struct rk1000 *rk1000 = devm_kzalloc(&client->dev, sizeof(*rk1000), in rk1000_probe() local
68 if (!rk1000) in rk1000_probe()
71 rk1000->client = client; in rk1000_probe()
72 rk1000->dev = &client->dev; in rk1000_probe()
74 rk1000->regmap = devm_regmap_init_i2c(client, &rk1000_regmap_config); in rk1000_probe()
75 if (IS_ERR(rk1000->regmap)) in rk1000_probe()
76 return PTR_ERR(rk1000->regmap); in rk1000_probe()
78 ret = regmap_read(rk1000->regmap, CTRL_TVE, &val); in rk1000_probe()
91 rk1000->io_reset = devm_gpiod_get_optional(rk1000->dev, "reset", in rk1000_probe()
93 if (IS_ERR(rk1000->io_reset)) { in rk1000_probe()
94 dev_err(rk1000->dev, "can't get rk1000 reset gpio\n"); in rk1000_probe()
95 return PTR_ERR(rk1000->io_reset); in rk1000_probe()
98 gpiod_set_value(rk1000->io_reset, 0); in rk1000_probe()
100 gpiod_set_value(rk1000->io_reset, 1); in rk1000_probe()
102 gpiod_set_value(rk1000->io_reset, 0); in rk1000_probe()
105 rk1000->mclk = devm_clk_get(rk1000->dev, "mclk"); in rk1000_probe()
106 if (IS_ERR(rk1000->mclk)) { in rk1000_probe()
107 dev_err(rk1000->dev, "get mclk err\n"); in rk1000_probe()
108 return PTR_ERR(rk1000->mclk); in rk1000_probe()
111 ret = clk_prepare_enable(rk1000->mclk); in rk1000_probe()
113 dev_err(rk1000->dev, "prepare mclk err\n"); in rk1000_probe()
117 regmap_write(rk1000->regmap, CTRL_ADC, ADC_OFF); in rk1000_probe()
118 regmap_write(rk1000->regmap, CTRL_CODEC, CODEC_OFF); in rk1000_probe()
119 regmap_write(rk1000->regmap, CTRL_I2C, I2C_TIMEOUT_PERIOD); in rk1000_probe()
121 regmap_write(rk1000->regmap, CTRL_TVE, TVE_OFF); in rk1000_probe()
123 ret = mfd_add_devices(rk1000->dev, -1, rk1000_devs, in rk1000_probe()
126 dev_err(rk1000->dev, "rk1000 mfd_add_devices failed\n"); in rk1000_probe()
130 i2c_set_clientdata(client, rk1000); in rk1000_probe()
131 dev_dbg(rk1000->dev, "rk1000 probe ok!\n"); in rk1000_probe()
135 mfd_remove_devices(rk1000->dev); in rk1000_probe()
137 clk_disable_unprepare(rk1000->mclk); in rk1000_probe()
143 struct rk1000 *rk1000 = i2c_get_clientdata(client); in rk1000_remove() local
145 clk_disable_unprepare(rk1000->mclk); in rk1000_remove()
146 mfd_remove_devices(rk1000->dev); in rk1000_remove()