Lines Matching refs:pchip

51 static int lm3639_chip_init(struct lm3639_chip_data *pchip)  in lm3639_chip_init()  argument
55 struct lm3639_platform_data *pdata = pchip->pdata; in lm3639_chip_init()
59 regmap_update_bits(pchip->regmap, REG_BL_CONF_1, 0x08, in lm3639_chip_init()
65 ret = regmap_update_bits(pchip->regmap, REG_IO_CTRL, 0x7C, reg_val); in lm3639_chip_init()
70 ret = regmap_write(pchip->regmap, REG_BL_CONF_4, pdata->init_brt_led); in lm3639_chip_init()
74 ret = regmap_write(pchip->regmap, REG_BL_CONF_3, pdata->init_brt_led); in lm3639_chip_init()
87 ret = regmap_update_bits(pchip->regmap, REG_ENABLE, 0x79, reg_val); in lm3639_chip_init()
93 dev_err(pchip->dev, "i2c failed to access register\n"); in lm3639_chip_init()
102 struct lm3639_chip_data *pchip = bl_get_data(bl); in lm3639_bled_update_status() local
103 struct lm3639_platform_data *pdata = pchip->pdata; in lm3639_bled_update_status()
105 ret = regmap_read(pchip->regmap, REG_FLAG, &reg_val); in lm3639_bled_update_status()
110 dev_info(pchip->dev, "last flag is 0x%x\n", reg_val); in lm3639_bled_update_status()
118 dev_err(pchip->dev, in lm3639_bled_update_status()
124 ret = regmap_write(pchip->regmap, REG_BL_CONF_4, bl->props.brightness); in lm3639_bled_update_status()
127 ret = regmap_write(pchip->regmap, REG_BL_CONF_3, bl->props.brightness); in lm3639_bled_update_status()
132 ret = regmap_update_bits(pchip->regmap, REG_ENABLE, 0x01, 0x00); in lm3639_bled_update_status()
134 ret = regmap_update_bits(pchip->regmap, REG_ENABLE, 0x01, 0x01); in lm3639_bled_update_status()
140 dev_err(pchip->dev, "i2c failed to access registers\n"); in lm3639_bled_update_status()
148 struct lm3639_chip_data *pchip = bl_get_data(bl); in lm3639_bled_get_brightness() local
149 struct lm3639_platform_data *pdata = pchip->pdata; in lm3639_bled_get_brightness()
155 dev_err(pchip->dev, in lm3639_bled_get_brightness()
160 ret = regmap_read(pchip->regmap, REG_BL_CONF_1, &reg_val); in lm3639_bled_get_brightness()
164 ret = regmap_read(pchip->regmap, REG_BL_CONF_4, &reg_val); in lm3639_bled_get_brightness()
166 ret = regmap_read(pchip->regmap, REG_BL_CONF_3, &reg_val); in lm3639_bled_get_brightness()
173 dev_err(pchip->dev, "i2c failed to access register\n"); in lm3639_bled_get_brightness()
189 struct lm3639_chip_data *pchip = dev_get_drvdata(dev); in lm3639_bled_mode_store() local
198 regmap_update_bits(pchip->regmap, REG_BL_CONF_1, 0x10, in lm3639_bled_mode_store()
202 regmap_update_bits(pchip->regmap, REG_BL_CONF_1, 0x10, in lm3639_bled_mode_store()
211 dev_err(pchip->dev, "%s:i2c access fail to register\n", __func__); in lm3639_bled_mode_store()
215 dev_err(pchip->dev, "%s:input conversion fail\n", __func__); in lm3639_bled_mode_store()
228 struct lm3639_chip_data *pchip; in lm3639_torch_brightness_set() local
230 pchip = container_of(cdev, struct lm3639_chip_data, cdev_torch); in lm3639_torch_brightness_set()
232 ret = regmap_read(pchip->regmap, REG_FLAG, &reg_val); in lm3639_torch_brightness_set()
236 dev_info(pchip->dev, "last flag is 0x%x\n", reg_val); in lm3639_torch_brightness_set()
240 ret = regmap_update_bits(pchip->regmap, REG_ENABLE, 0x06, 0x00); in lm3639_torch_brightness_set()
246 ret = regmap_update_bits(pchip->regmap, in lm3639_torch_brightness_set()
250 ret = regmap_update_bits(pchip->regmap, REG_ENABLE, 0x06, 0x02); in lm3639_torch_brightness_set()
256 dev_err(pchip->dev, "i2c failed to access register\n"); in lm3639_torch_brightness_set()
265 struct lm3639_chip_data *pchip; in lm3639_flash_brightness_set() local
267 pchip = container_of(cdev, struct lm3639_chip_data, cdev_flash); in lm3639_flash_brightness_set()
269 ret = regmap_read(pchip->regmap, REG_FLAG, &reg_val); in lm3639_flash_brightness_set()
273 dev_info(pchip->dev, "last flag is 0x%x\n", reg_val); in lm3639_flash_brightness_set()
276 ret = regmap_update_bits(pchip->regmap, REG_ENABLE, 0x06, 0x00); in lm3639_flash_brightness_set()
284 ret = regmap_update_bits(pchip->regmap, in lm3639_flash_brightness_set()
288 ret = regmap_update_bits(pchip->regmap, REG_ENABLE, 0x06, 0x06); in lm3639_flash_brightness_set()
294 dev_err(pchip->dev, "i2c failed to access register\n"); in lm3639_flash_brightness_set()
307 struct lm3639_chip_data *pchip; in lm3639_probe() local
321 pchip = devm_kzalloc(&client->dev, in lm3639_probe()
323 if (!pchip) in lm3639_probe()
326 pchip->pdata = pdata; in lm3639_probe()
327 pchip->dev = &client->dev; in lm3639_probe()
329 pchip->regmap = devm_regmap_init_i2c(client, &lm3639_regmap); in lm3639_probe()
330 if (IS_ERR(pchip->regmap)) { in lm3639_probe()
331 ret = PTR_ERR(pchip->regmap); in lm3639_probe()
336 i2c_set_clientdata(client, pchip); in lm3639_probe()
339 ret = lm3639_chip_init(pchip); in lm3639_probe()
349 pchip->bled = in lm3639_probe()
350 devm_backlight_device_register(pchip->dev, "lm3639_bled", in lm3639_probe()
351 pchip->dev, pchip, &lm3639_bled_ops, in lm3639_probe()
353 if (IS_ERR(pchip->bled)) { in lm3639_probe()
355 ret = PTR_ERR(pchip->bled); in lm3639_probe()
359 ret = device_create_file(&(pchip->bled->dev), &dev_attr_bled_mode); in lm3639_probe()
366 pchip->cdev_flash.name = "lm3639_flash"; in lm3639_probe()
367 pchip->cdev_flash.max_brightness = 16; in lm3639_probe()
368 pchip->cdev_flash.brightness_set = lm3639_flash_brightness_set; in lm3639_probe()
370 &client->dev, &pchip->cdev_flash); in lm3639_probe()
377 pchip->cdev_torch.name = "lm3639_torch"; in lm3639_probe()
378 pchip->cdev_torch.max_brightness = 8; in lm3639_probe()
379 pchip->cdev_torch.brightness_set = lm3639_torch_brightness_set; in lm3639_probe()
381 &client->dev, &pchip->cdev_torch); in lm3639_probe()
390 led_classdev_unregister(&pchip->cdev_flash); in lm3639_probe()
392 device_remove_file(&(pchip->bled->dev), &dev_attr_bled_mode); in lm3639_probe()
399 struct lm3639_chip_data *pchip = i2c_get_clientdata(client); in lm3639_remove() local
401 regmap_write(pchip->regmap, REG_ENABLE, 0x00); in lm3639_remove()
403 if (&pchip->cdev_torch) in lm3639_remove()
404 led_classdev_unregister(&pchip->cdev_torch); in lm3639_remove()
405 if (&pchip->cdev_flash) in lm3639_remove()
406 led_classdev_unregister(&pchip->cdev_flash); in lm3639_remove()
407 if (pchip->bled) in lm3639_remove()
408 device_remove_file(&(pchip->bled->dev), &dev_attr_bled_mode); in lm3639_remove()