Lines Matching refs:pchip
47 static int lm3639_chip_init(struct lm3639_chip_data *pchip) in lm3639_chip_init() argument
51 struct lm3639_platform_data *pdata = pchip->pdata; in lm3639_chip_init()
55 regmap_update_bits(pchip->regmap, REG_BL_CONF_1, 0x08, in lm3639_chip_init()
61 ret = regmap_update_bits(pchip->regmap, REG_IO_CTRL, 0x7C, reg_val); in lm3639_chip_init()
66 ret = regmap_write(pchip->regmap, REG_BL_CONF_4, pdata->init_brt_led); in lm3639_chip_init()
70 ret = regmap_write(pchip->regmap, REG_BL_CONF_3, pdata->init_brt_led); in lm3639_chip_init()
83 ret = regmap_update_bits(pchip->regmap, REG_ENABLE, 0x79, reg_val); in lm3639_chip_init()
89 dev_err(pchip->dev, "i2c failed to access register\n"); in lm3639_chip_init()
98 struct lm3639_chip_data *pchip = bl_get_data(bl); in lm3639_bled_update_status() local
99 struct lm3639_platform_data *pdata = pchip->pdata; in lm3639_bled_update_status()
101 ret = regmap_read(pchip->regmap, REG_FLAG, ®_val); in lm3639_bled_update_status()
106 dev_info(pchip->dev, "last flag is 0x%x\n", reg_val); in lm3639_bled_update_status()
114 dev_err(pchip->dev, in lm3639_bled_update_status()
120 ret = regmap_write(pchip->regmap, REG_BL_CONF_4, bl->props.brightness); in lm3639_bled_update_status()
123 ret = regmap_write(pchip->regmap, REG_BL_CONF_3, bl->props.brightness); in lm3639_bled_update_status()
128 ret = regmap_update_bits(pchip->regmap, REG_ENABLE, 0x01, 0x00); in lm3639_bled_update_status()
130 ret = regmap_update_bits(pchip->regmap, REG_ENABLE, 0x01, 0x01); in lm3639_bled_update_status()
136 dev_err(pchip->dev, "i2c failed to access registers\n"); in lm3639_bled_update_status()
144 struct lm3639_chip_data *pchip = bl_get_data(bl); in lm3639_bled_get_brightness() local
145 struct lm3639_platform_data *pdata = pchip->pdata; in lm3639_bled_get_brightness()
151 dev_err(pchip->dev, in lm3639_bled_get_brightness()
156 ret = regmap_read(pchip->regmap, REG_BL_CONF_1, ®_val); in lm3639_bled_get_brightness()
160 ret = regmap_read(pchip->regmap, REG_BL_CONF_4, ®_val); in lm3639_bled_get_brightness()
162 ret = regmap_read(pchip->regmap, REG_BL_CONF_3, ®_val); in lm3639_bled_get_brightness()
169 dev_err(pchip->dev, "i2c failed to access register\n"); in lm3639_bled_get_brightness()
185 struct lm3639_chip_data *pchip = dev_get_drvdata(dev); in lm3639_bled_mode_store() local
194 regmap_update_bits(pchip->regmap, REG_BL_CONF_1, 0x10, in lm3639_bled_mode_store()
198 regmap_update_bits(pchip->regmap, REG_BL_CONF_1, 0x10, in lm3639_bled_mode_store()
207 dev_err(pchip->dev, "%s:i2c access fail to register\n", __func__); in lm3639_bled_mode_store()
211 dev_err(pchip->dev, "%s:input conversion fail\n", __func__); in lm3639_bled_mode_store()
224 struct lm3639_chip_data *pchip; in lm3639_torch_brightness_set() local
226 pchip = container_of(cdev, struct lm3639_chip_data, cdev_torch); in lm3639_torch_brightness_set()
228 ret = regmap_read(pchip->regmap, REG_FLAG, ®_val); in lm3639_torch_brightness_set()
232 dev_info(pchip->dev, "last flag is 0x%x\n", reg_val); in lm3639_torch_brightness_set()
236 ret = regmap_update_bits(pchip->regmap, REG_ENABLE, 0x06, 0x00); in lm3639_torch_brightness_set()
242 ret = regmap_update_bits(pchip->regmap, in lm3639_torch_brightness_set()
246 ret = regmap_update_bits(pchip->regmap, REG_ENABLE, 0x06, 0x02); in lm3639_torch_brightness_set()
252 dev_err(pchip->dev, "i2c failed to access register\n"); in lm3639_torch_brightness_set()
261 struct lm3639_chip_data *pchip; in lm3639_flash_brightness_set() local
263 pchip = container_of(cdev, struct lm3639_chip_data, cdev_flash); in lm3639_flash_brightness_set()
265 ret = regmap_read(pchip->regmap, REG_FLAG, ®_val); in lm3639_flash_brightness_set()
269 dev_info(pchip->dev, "last flag is 0x%x\n", reg_val); in lm3639_flash_brightness_set()
272 ret = regmap_update_bits(pchip->regmap, REG_ENABLE, 0x06, 0x00); in lm3639_flash_brightness_set()
280 ret = regmap_update_bits(pchip->regmap, in lm3639_flash_brightness_set()
284 ret = regmap_update_bits(pchip->regmap, REG_ENABLE, 0x06, 0x06); in lm3639_flash_brightness_set()
290 dev_err(pchip->dev, "i2c failed to access register\n"); in lm3639_flash_brightness_set()
303 struct lm3639_chip_data *pchip; in lm3639_probe() local
317 pchip = devm_kzalloc(&client->dev, in lm3639_probe()
319 if (!pchip) in lm3639_probe()
322 pchip->pdata = pdata; in lm3639_probe()
323 pchip->dev = &client->dev; in lm3639_probe()
325 pchip->regmap = devm_regmap_init_i2c(client, &lm3639_regmap); in lm3639_probe()
326 if (IS_ERR(pchip->regmap)) { in lm3639_probe()
327 ret = PTR_ERR(pchip->regmap); in lm3639_probe()
332 i2c_set_clientdata(client, pchip); in lm3639_probe()
335 ret = lm3639_chip_init(pchip); in lm3639_probe()
345 pchip->bled = in lm3639_probe()
346 devm_backlight_device_register(pchip->dev, "lm3639_bled", in lm3639_probe()
347 pchip->dev, pchip, &lm3639_bled_ops, in lm3639_probe()
349 if (IS_ERR(pchip->bled)) { in lm3639_probe()
351 ret = PTR_ERR(pchip->bled); in lm3639_probe()
355 ret = device_create_file(&(pchip->bled->dev), &dev_attr_bled_mode); in lm3639_probe()
362 pchip->cdev_flash.name = "lm3639_flash"; in lm3639_probe()
363 pchip->cdev_flash.max_brightness = 16; in lm3639_probe()
364 pchip->cdev_flash.brightness_set = lm3639_flash_brightness_set; in lm3639_probe()
366 &client->dev, &pchip->cdev_flash); in lm3639_probe()
373 pchip->cdev_torch.name = "lm3639_torch"; in lm3639_probe()
374 pchip->cdev_torch.max_brightness = 8; in lm3639_probe()
375 pchip->cdev_torch.brightness_set = lm3639_torch_brightness_set; in lm3639_probe()
377 &client->dev, &pchip->cdev_torch); in lm3639_probe()
386 led_classdev_unregister(&pchip->cdev_flash); in lm3639_probe()
388 device_remove_file(&(pchip->bled->dev), &dev_attr_bled_mode); in lm3639_probe()
395 struct lm3639_chip_data *pchip = i2c_get_clientdata(client); in lm3639_remove() local
397 regmap_write(pchip->regmap, REG_ENABLE, 0x00); in lm3639_remove()
399 led_classdev_unregister(&pchip->cdev_torch); in lm3639_remove()
400 led_classdev_unregister(&pchip->cdev_flash); in lm3639_remove()
401 if (pchip->bled) in lm3639_remove()
402 device_remove_file(&(pchip->bled->dev), &dev_attr_bled_mode); in lm3639_remove()