Lines Matching refs:lp

126 int lp8788_read_byte(struct lp8788 *lp, u8 reg, u8 *data)  in lp8788_read_byte()  argument
131 ret = regmap_read(lp->regmap, reg, &val); in lp8788_read_byte()
133 dev_err(lp->dev, "failed to read 0x%.2x\n", reg); in lp8788_read_byte()
142 int lp8788_read_multi_bytes(struct lp8788 *lp, u8 reg, u8 *data, size_t count) in lp8788_read_multi_bytes() argument
144 return regmap_bulk_read(lp->regmap, reg, data, count); in lp8788_read_multi_bytes()
148 int lp8788_write_byte(struct lp8788 *lp, u8 reg, u8 data) in lp8788_write_byte() argument
150 return regmap_write(lp->regmap, reg, data); in lp8788_write_byte()
154 int lp8788_update_bits(struct lp8788 *lp, u8 reg, u8 mask, u8 data) in lp8788_update_bits() argument
156 return regmap_update_bits(lp->regmap, reg, mask, data); in lp8788_update_bits()
160 static int lp8788_platform_init(struct lp8788 *lp) in lp8788_platform_init() argument
162 struct lp8788_platform_data *pdata = lp->pdata; in lp8788_platform_init()
164 return (pdata && pdata->init_func) ? pdata->init_func(lp) : 0; in lp8788_platform_init()
175 struct lp8788 *lp; in lp8788_probe() local
179 lp = devm_kzalloc(&cl->dev, sizeof(struct lp8788), GFP_KERNEL); in lp8788_probe()
180 if (!lp) in lp8788_probe()
183 lp->regmap = devm_regmap_init_i2c(cl, &lp8788_regmap_config); in lp8788_probe()
184 if (IS_ERR(lp->regmap)) { in lp8788_probe()
185 ret = PTR_ERR(lp->regmap); in lp8788_probe()
190 lp->pdata = pdata; in lp8788_probe()
191 lp->dev = &cl->dev; in lp8788_probe()
192 i2c_set_clientdata(cl, lp); in lp8788_probe()
194 ret = lp8788_platform_init(lp); in lp8788_probe()
198 ret = lp8788_irq_init(lp, cl->irq); in lp8788_probe()
202 return mfd_add_devices(lp->dev, -1, lp8788_devs, in lp8788_probe()
208 struct lp8788 *lp = i2c_get_clientdata(cl); in lp8788_remove() local
210 mfd_remove_devices(lp->dev); in lp8788_remove()
211 lp8788_irq_exit(lp); in lp8788_remove()