• Home
  • Raw
  • Download

Lines Matching refs:chip

96 static int lm3642_chip_init(struct lm3642_chip_data *chip)  in lm3642_chip_init()  argument
99 struct lm3642_platform_data *pdata = chip->pdata; in lm3642_chip_init()
102 ret = regmap_update_bits(chip->regmap, REG_ENABLE, EX_PIN_ENABLE_MASK, in lm3642_chip_init()
105 dev_err(chip->dev, "Failed to update REG_ENABLE Register\n"); in lm3642_chip_init()
110 static int lm3642_control(struct lm3642_chip_data *chip, in lm3642_control() argument
115 ret = regmap_read(chip->regmap, REG_FLAG, &chip->last_flag); in lm3642_control()
117 dev_err(chip->dev, "Failed to read REG_FLAG Register\n"); in lm3642_control()
121 if (chip->last_flag) in lm3642_control()
122 dev_info(chip->dev, "Last FLAG is 0x%x\n", chip->last_flag); in lm3642_control()
130 ret = regmap_update_bits(chip->regmap, REG_I_CTRL, in lm3642_control()
134 if (chip->torch_pin) in lm3642_control()
139 ret = regmap_update_bits(chip->regmap, REG_I_CTRL, in lm3642_control()
143 if (chip->strobe_pin) in lm3642_control()
148 ret = regmap_update_bits(chip->regmap, REG_I_CTRL, in lm3642_control()
161 dev_err(chip->dev, "Failed to write REG_I_CTRL Register\n"); in lm3642_control()
165 if (chip->tx_pin) in lm3642_control()
168 ret = regmap_update_bits(chip->regmap, REG_ENABLE, in lm3642_control()
184 struct lm3642_chip_data *chip = in lm3642_torch_pin_store() local
194 chip->torch_pin = state; in lm3642_torch_pin_store()
195 ret = regmap_update_bits(chip->regmap, REG_ENABLE, in lm3642_torch_pin_store()
203 dev_err(chip->dev, "%s:i2c access fail to register\n", __func__); in lm3642_torch_pin_store()
206 dev_err(chip->dev, "%s: fail to change str to int\n", __func__); in lm3642_torch_pin_store()
214 struct lm3642_chip_data *chip = in lm3642_deferred_torch_brightness_set() local
217 mutex_lock(&chip->lock); in lm3642_deferred_torch_brightness_set()
218 lm3642_control(chip, chip->br_torch, MODES_TORCH); in lm3642_deferred_torch_brightness_set()
219 mutex_unlock(&chip->lock); in lm3642_deferred_torch_brightness_set()
225 struct lm3642_chip_data *chip = in lm3642_torch_brightness_set() local
228 chip->br_torch = brightness; in lm3642_torch_brightness_set()
229 schedule_work(&chip->work_torch); in lm3642_torch_brightness_set()
241 struct lm3642_chip_data *chip = in lm3642_strobe_pin_store() local
251 chip->strobe_pin = state; in lm3642_strobe_pin_store()
252 ret = regmap_update_bits(chip->regmap, REG_ENABLE, in lm3642_strobe_pin_store()
260 dev_err(chip->dev, "%s:i2c access fail to register\n", __func__); in lm3642_strobe_pin_store()
263 dev_err(chip->dev, "%s: fail to change str to int\n", __func__); in lm3642_strobe_pin_store()
271 struct lm3642_chip_data *chip = in lm3642_deferred_strobe_brightness_set() local
274 mutex_lock(&chip->lock); in lm3642_deferred_strobe_brightness_set()
275 lm3642_control(chip, chip->br_flash, MODES_FLASH); in lm3642_deferred_strobe_brightness_set()
276 mutex_unlock(&chip->lock); in lm3642_deferred_strobe_brightness_set()
282 struct lm3642_chip_data *chip = in lm3642_strobe_brightness_set() local
285 chip->br_flash = brightness; in lm3642_strobe_brightness_set()
286 schedule_work(&chip->work_flash); in lm3642_strobe_brightness_set()
292 struct lm3642_chip_data *chip = in lm3642_deferred_indicator_brightness_set() local
295 mutex_lock(&chip->lock); in lm3642_deferred_indicator_brightness_set()
296 lm3642_control(chip, chip->br_indicator, MODES_INDIC); in lm3642_deferred_indicator_brightness_set()
297 mutex_unlock(&chip->lock); in lm3642_deferred_indicator_brightness_set()
303 struct lm3642_chip_data *chip = in lm3642_indicator_brightness_set() local
306 chip->br_indicator = brightness; in lm3642_indicator_brightness_set()
307 schedule_work(&chip->work_indicator); in lm3642_indicator_brightness_set()
332 struct lm3642_chip_data *chip; in lm3642_probe() local
346 chip = devm_kzalloc(&client->dev, in lm3642_probe()
348 if (!chip) in lm3642_probe()
351 chip->dev = &client->dev; in lm3642_probe()
352 chip->pdata = pdata; in lm3642_probe()
354 chip->tx_pin = pdata->tx_pin; in lm3642_probe()
355 chip->torch_pin = pdata->torch_pin; in lm3642_probe()
356 chip->strobe_pin = pdata->strobe_pin; in lm3642_probe()
358 chip->regmap = devm_regmap_init_i2c(client, &lm3642_regmap); in lm3642_probe()
359 if (IS_ERR(chip->regmap)) { in lm3642_probe()
360 err = PTR_ERR(chip->regmap); in lm3642_probe()
366 mutex_init(&chip->lock); in lm3642_probe()
367 i2c_set_clientdata(client, chip); in lm3642_probe()
369 err = lm3642_chip_init(chip); in lm3642_probe()
374 INIT_WORK(&chip->work_flash, lm3642_deferred_strobe_brightness_set); in lm3642_probe()
375 chip->cdev_flash.name = "flash"; in lm3642_probe()
376 chip->cdev_flash.max_brightness = 16; in lm3642_probe()
377 chip->cdev_flash.brightness_set = lm3642_strobe_brightness_set; in lm3642_probe()
378 chip->cdev_flash.default_trigger = "flash"; in lm3642_probe()
379 chip->cdev_flash.groups = lm3642_flash_groups, in lm3642_probe()
381 &client->dev, &chip->cdev_flash); in lm3642_probe()
383 dev_err(chip->dev, "failed to register flash\n"); in lm3642_probe()
388 INIT_WORK(&chip->work_torch, lm3642_deferred_torch_brightness_set); in lm3642_probe()
389 chip->cdev_torch.name = "torch"; in lm3642_probe()
390 chip->cdev_torch.max_brightness = 8; in lm3642_probe()
391 chip->cdev_torch.brightness_set = lm3642_torch_brightness_set; in lm3642_probe()
392 chip->cdev_torch.default_trigger = "torch"; in lm3642_probe()
393 chip->cdev_torch.groups = lm3642_torch_groups, in lm3642_probe()
395 &client->dev, &chip->cdev_torch); in lm3642_probe()
397 dev_err(chip->dev, "failed to register torch\n"); in lm3642_probe()
402 INIT_WORK(&chip->work_indicator, in lm3642_probe()
404 chip->cdev_indicator.name = "indicator"; in lm3642_probe()
405 chip->cdev_indicator.max_brightness = 8; in lm3642_probe()
406 chip->cdev_indicator.brightness_set = lm3642_indicator_brightness_set; in lm3642_probe()
408 &client->dev, &chip->cdev_indicator); in lm3642_probe()
410 dev_err(chip->dev, "failed to register indicator\n"); in lm3642_probe()
418 led_classdev_unregister(&chip->cdev_torch); in lm3642_probe()
420 led_classdev_unregister(&chip->cdev_flash); in lm3642_probe()
427 struct lm3642_chip_data *chip = i2c_get_clientdata(client); in lm3642_remove() local
429 led_classdev_unregister(&chip->cdev_indicator); in lm3642_remove()
430 flush_work(&chip->work_indicator); in lm3642_remove()
431 led_classdev_unregister(&chip->cdev_torch); in lm3642_remove()
432 flush_work(&chip->work_torch); in lm3642_remove()
433 led_classdev_unregister(&chip->cdev_flash); in lm3642_remove()
434 flush_work(&chip->work_flash); in lm3642_remove()
435 regmap_write(chip->regmap, REG_ENABLE, 0); in lm3642_remove()