Lines Matching refs:flash_data

139 	struct qcom_flash_data		*flash_data;  member
153 struct qcom_flash_data *flash_data = led->flash_data; in set_flash_module_en() local
160 mutex_lock(&flash_data->lock); in set_flash_module_en()
162 flash_data->chan_en_bits |= led_mask; in set_flash_module_en()
164 flash_data->chan_en_bits &= ~led_mask; in set_flash_module_en()
166 enable = !!flash_data->chan_en_bits; in set_flash_module_en()
167 rc = regmap_field_write(flash_data->r_fields[REG_MODULE_EN], enable); in set_flash_module_en()
170 mutex_unlock(&flash_data->lock); in set_flash_module_en()
177 struct qcom_flash_data *flash_data = led->flash_data; in set_flash_current() local
197 rc = regmap_fields_write(flash_data->r_fields[REG_ITARGET], chan_id, itarget); in set_flash_current()
201 if (flash_data->hw_type == QCOM_MVFLASH_3CH) { in set_flash_current()
207 } else if (flash_data->hw_type == QCOM_MVFLASH_4CH) { in set_flash_current()
215 "HW type %d is not supported\n", flash_data->hw_type); in set_flash_current()
220 return regmap_field_update_bits(flash_data->r_fields[REG_IRESOLUTION], ires_mask, ires_val); in set_flash_current()
225 struct qcom_flash_data *flash_data = led->flash_data; in set_flash_timeout() local
241 rc = regmap_fields_write(flash_data->r_fields[REG_CHAN_TIMER], chan_id, timer); in set_flash_timeout()
251 struct qcom_flash_data *flash_data = led->flash_data; in set_flash_strobe() local
269 flash_data->r_fields[REG_CHAN_STROBE], chan_id, strobe_sel); in set_flash_strobe()
278 rc = regmap_field_update_bits(flash_data->r_fields[REG_CHAN_EN], chan_mask, chan_en); in set_flash_strobe()
342 struct qcom_flash_data *flash_data = led->flash_data; in qcom_flash_fault_get() local
348 rc = regmap_field_read(flash_data->r_fields[REG_STATUS1], &val); in qcom_flash_fault_get()
362 rc = regmap_field_read(flash_data->r_fields[REG_STATUS2], &val); in qcom_flash_fault_get()
366 if (flash_data->hw_type == QCOM_MVFLASH_3CH) { in qcom_flash_fault_get()
375 } else if (flash_data->hw_type == QCOM_MVFLASH_4CH) { in qcom_flash_fault_get()
394 rc = regmap_field_read(flash_data->r_fields[REG_STATUS3], &val); in qcom_flash_fault_get()
398 if (flash_data->hw_type == QCOM_MVFLASH_3CH) { in qcom_flash_fault_get()
401 } else if (flash_data->hw_type == QCOM_MVFLASH_4CH) { in qcom_flash_fault_get()
505 struct qcom_flash_data *flash_data = led->flash_data; in qcom_flash_v4l2_init() local
526 flash_data->v4l2_flash[flash_data->leds_count] = in qcom_flash_v4l2_init()
528 return PTR_ERR_OR_ZERO(flash_data->v4l2_flash); in qcom_flash_v4l2_init()
541 struct qcom_flash_data *flash_data = led->flash_data; in qcom_flash_register_led_device() local
555 if (count > flash_data->max_channels) { in qcom_flash_register_led_device()
557 count, flash_data->max_channels); in qcom_flash_register_led_device()
573 if ((channels[i] == 0) || (channels[i] > flash_data->max_channels)) { in qcom_flash_register_led_device()
575 flash_data->max_channels); in qcom_flash_register_led_device()
656 struct qcom_flash_data *flash_data; in qcom_flash_led_probe() local
665 flash_data = devm_kzalloc(dev, sizeof(*flash_data), GFP_KERNEL); in qcom_flash_led_probe()
666 if (!flash_data) in qcom_flash_led_probe()
699 flash_data->hw_type = QCOM_MVFLASH_3CH; in qcom_flash_led_probe()
700 flash_data->max_channels = 3; in qcom_flash_led_probe()
703 flash_data->hw_type = QCOM_MVFLASH_4CH; in qcom_flash_led_probe()
704 flash_data->max_channels = 4; in qcom_flash_led_probe()
714 rc = devm_regmap_field_bulk_alloc(dev, regmap, flash_data->r_fields, regs, REG_MAX_COUNT); in qcom_flash_led_probe()
720 platform_set_drvdata(pdev, flash_data); in qcom_flash_led_probe()
721 mutex_init(&flash_data->lock); in qcom_flash_led_probe()
724 if (count == 0 || count > flash_data->max_channels) { in qcom_flash_led_probe()
725 dev_err(dev, "No child or child count exceeds %d\n", flash_data->max_channels); in qcom_flash_led_probe()
729 flash_data->v4l2_flash = devm_kcalloc(dev, count, in qcom_flash_led_probe()
730 sizeof(*flash_data->v4l2_flash), GFP_KERNEL); in qcom_flash_led_probe()
731 if (!flash_data->v4l2_flash) in qcom_flash_led_probe()
741 led->flash_data = flash_data; in qcom_flash_led_probe()
746 flash_data->leds_count++; in qcom_flash_led_probe()
753 while (flash_data->v4l2_flash[flash_data->leds_count] && flash_data->leds_count) in qcom_flash_led_probe()
754 v4l2_flash_release(flash_data->v4l2_flash[flash_data->leds_count--]); in qcom_flash_led_probe()
760 struct qcom_flash_data *flash_data = platform_get_drvdata(pdev); in qcom_flash_led_remove() local
762 while (flash_data->v4l2_flash[flash_data->leds_count] && flash_data->leds_count) in qcom_flash_led_remove()
763 v4l2_flash_release(flash_data->v4l2_flash[flash_data->leds_count--]); in qcom_flash_led_remove()
765 mutex_destroy(&flash_data->lock); in qcom_flash_led_remove()