Lines Matching refs:da9052
18 #include <linux/mfd/da9052/da9052.h>
19 #include <linux/mfd/da9052/reg.h>
55 static int da9052_i2c_fix(struct da9052 *da9052, unsigned char reg)
59 switch (da9052->chip_id) {
66 return regmap_read(da9052->regmap,
86 static int da9052_i2c_disable_multiwrite(struct da9052 *da9052)
90 ret = regmap_read(da9052->regmap, DA9052_CONTROL_B_REG, ®_val);
96 ret = regmap_write(da9052->regmap, DA9052_CONTROL_B_REG,
106 {"da9052", DA9052},
117 { .compatible = "dlg,da9052", .data = &da9052_i2c_id[0] },
129 struct da9052 *da9052;
132 da9052 = devm_kzalloc(&client->dev, sizeof(struct da9052), GFP_KERNEL);
133 if (!da9052)
136 da9052->dev = &client->dev;
137 da9052->chip_irq = client->irq;
138 da9052->fix_io = da9052_i2c_fix;
140 i2c_set_clientdata(client, da9052);
142 da9052->regmap = devm_regmap_init_i2c(client, &da9052_regmap_config);
143 if (IS_ERR(da9052->regmap)) {
144 ret = PTR_ERR(da9052->regmap);
150 ret = da9052_i2c_disable_multiwrite(da9052);
165 return da9052_device_init(da9052, id->driver_data);
170 struct da9052 *da9052 = i2c_get_clientdata(client);
172 da9052_device_exit(da9052);
180 .name = "da9052",