Lines Matching defs:lp
122 int lp8788_read_byte(struct lp8788 *lp, u8 reg, u8 *data)
127 ret = regmap_read(lp->regmap, reg, &val);
129 dev_err(lp->dev, "failed to read 0x%.2x\n", reg);
138 int lp8788_read_multi_bytes(struct lp8788 *lp, u8 reg, u8 *data, size_t count)
140 return regmap_bulk_read(lp->regmap, reg, data, count);
144 int lp8788_write_byte(struct lp8788 *lp, u8 reg, u8 data)
146 return regmap_write(lp->regmap, reg, data);
150 int lp8788_update_bits(struct lp8788 *lp, u8 reg, u8 mask, u8 data)
152 return regmap_update_bits(lp->regmap, reg, mask, data);
156 static int lp8788_platform_init(struct lp8788 *lp)
158 struct lp8788_platform_data *pdata = lp->pdata;
160 return (pdata && pdata->init_func) ? pdata->init_func(lp) : 0;
171 struct lp8788 *lp;
175 lp = devm_kzalloc(&cl->dev, sizeof(struct lp8788), GFP_KERNEL);
176 if (!lp)
179 lp->regmap = devm_regmap_init_i2c(cl, &lp8788_regmap_config);
180 if (IS_ERR(lp->regmap)) {
181 ret = PTR_ERR(lp->regmap);
186 lp->pdata = pdata;
187 lp->dev = &cl->dev;
188 i2c_set_clientdata(cl, lp);
190 ret = lp8788_platform_init(lp);
194 ret = lp8788_irq_init(lp, cl->irq);
198 ret = mfd_add_devices(lp->dev, -1, lp8788_devs,
206 lp8788_irq_exit(lp);
212 struct lp8788 *lp = i2c_get_clientdata(cl);
214 mfd_remove_devices(lp->dev);
215 lp8788_irq_exit(lp);