Lines Matching refs:als

69 	struct lm3533_als *als = iio_priv(indio_dev);  in lm3533_als_get_adc()  local
79 ret = lm3533_read(als->lm3533, reg, &val); in lm3533_als_get_adc()
92 struct lm3533_als *als = iio_priv(indio_dev); in _lm3533_als_get_zone() local
96 ret = lm3533_read(als->lm3533, LM3533_REG_ALS_ZONE_INFO, &val); in _lm3533_als_get_zone()
110 struct lm3533_als *als = iio_priv(indio_dev); in lm3533_als_get_zone() local
113 if (test_bit(LM3533_ALS_FLAG_INT_ENABLED, &als->flags)) { in lm3533_als_get_zone()
114 *zone = atomic_read(&als->zone); in lm3533_als_get_zone()
136 struct lm3533_als *als = iio_priv(indio_dev); in lm3533_als_get_target() local
147 ret = lm3533_read(als->lm3533, reg, val); in lm3533_als_get_target()
157 struct lm3533_als *als = iio_priv(indio_dev); in lm3533_als_set_target() local
168 ret = lm3533_write(als->lm3533, reg, val); in lm3533_als_set_target()
254 struct lm3533_als *als = iio_priv(indio_dev); in lm3533_als_isr() local
263 atomic_set(&als->zone, zone); in lm3533_als_isr()
277 struct lm3533_als *als = iio_priv(indio_dev); in lm3533_als_set_int_mode() local
287 ret = lm3533_update(als->lm3533, LM3533_REG_ALS_ZONE_INFO, val, mask); in lm3533_als_set_int_mode()
299 struct lm3533_als *als = iio_priv(indio_dev); in lm3533_als_get_int_mode() local
304 ret = lm3533_read(als->lm3533, LM3533_REG_ALS_ZONE_INFO, &val); in lm3533_als_get_int_mode()
325 struct lm3533_als *als = iio_priv(indio_dev); in lm3533_als_get_threshold() local
333 ret = lm3533_read(als->lm3533, reg, val); in lm3533_als_get_threshold()
343 struct lm3533_als *als = iio_priv(indio_dev); in lm3533_als_set_threshold() local
354 mutex_lock(&als->thresh_mutex); in lm3533_als_set_threshold()
355 ret = lm3533_read(als->lm3533, reg2, &val2); in lm3533_als_set_threshold()
370 ret = lm3533_write(als->lm3533, reg, val); in lm3533_als_set_threshold()
376 mutex_unlock(&als->thresh_mutex); in lm3533_als_set_threshold()
384 struct lm3533_als *als = iio_priv(indio_dev); in lm3533_als_get_hysteresis() local
392 mutex_lock(&als->thresh_mutex); in lm3533_als_get_hysteresis()
402 mutex_unlock(&als->thresh_mutex); in lm3533_als_get_hysteresis()
412 struct lm3533_als *als = iio_priv(indio_dev); in show_thresh_either_en() local
416 if (als->irq) { in show_thresh_either_en()
432 struct lm3533_als *als = iio_priv(indio_dev); in store_thresh_either_en() local
438 if (!als->irq) in store_thresh_either_en()
444 int_enabled = test_bit(LM3533_ALS_FLAG_INT_ENABLED, &als->flags); in store_thresh_either_en()
451 atomic_set(&als->zone, zone); in store_thresh_either_en()
453 set_bit(LM3533_ALS_FLAG_INT_ENABLED, &als->flags); in store_thresh_either_en()
459 clear_bit(LM3533_ALS_FLAG_INT_ENABLED, &als->flags); in store_thresh_either_en()
465 clear_bit(LM3533_ALS_FLAG_INT_ENABLED, &als->flags); in store_thresh_either_en()
721 static int lm3533_als_set_input_mode(struct lm3533_als *als, bool pwm_mode) in lm3533_als_set_input_mode() argument
732 ret = lm3533_update(als->lm3533, LM3533_REG_ALS_CONF, val, mask); in lm3533_als_set_input_mode()
734 dev_err(&als->pdev->dev, "failed to set input mode %d\n", in lm3533_als_set_input_mode()
742 static int lm3533_als_set_resistor(struct lm3533_als *als, u8 val) in lm3533_als_set_resistor() argument
747 dev_err(&als->pdev->dev, "invalid resistor value\n"); in lm3533_als_set_resistor()
751 ret = lm3533_write(als->lm3533, LM3533_REG_ALS_RESISTOR_SELECT, val); in lm3533_als_set_resistor()
753 dev_err(&als->pdev->dev, "failed to set resistor\n"); in lm3533_als_set_resistor()
760 static int lm3533_als_setup(struct lm3533_als *als, in lm3533_als_setup() argument
765 ret = lm3533_als_set_input_mode(als, pdata->pwm_mode); in lm3533_als_setup()
771 ret = lm3533_als_set_resistor(als, pdata->r_select); in lm3533_als_setup()
779 static int lm3533_als_setup_irq(struct lm3533_als *als, void *dev) in lm3533_als_setup_irq() argument
785 ret = lm3533_update(als->lm3533, LM3533_REG_ALS_ZONE_INFO, 0, mask); in lm3533_als_setup_irq()
787 dev_err(&als->pdev->dev, "failed to disable interrupts\n"); in lm3533_als_setup_irq()
791 ret = request_threaded_irq(als->irq, NULL, lm3533_als_isr, in lm3533_als_setup_irq()
793 dev_name(&als->pdev->dev), dev); in lm3533_als_setup_irq()
795 dev_err(&als->pdev->dev, "failed to request irq %d\n", in lm3533_als_setup_irq()
796 als->irq); in lm3533_als_setup_irq()
803 static int lm3533_als_enable(struct lm3533_als *als) in lm3533_als_enable() argument
808 ret = lm3533_update(als->lm3533, LM3533_REG_ALS_CONF, mask, mask); in lm3533_als_enable()
810 dev_err(&als->pdev->dev, "failed to enable ALS\n"); in lm3533_als_enable()
815 static int lm3533_als_disable(struct lm3533_als *als) in lm3533_als_disable() argument
820 ret = lm3533_update(als->lm3533, LM3533_REG_ALS_CONF, 0, mask); in lm3533_als_disable()
822 dev_err(&als->pdev->dev, "failed to disable ALS\n"); in lm3533_als_disable()
837 struct lm3533_als *als; in lm3533_als_probe() local
851 indio_dev = devm_iio_device_alloc(&pdev->dev, sizeof(*als)); in lm3533_als_probe()
862 als = iio_priv(indio_dev); in lm3533_als_probe()
863 als->lm3533 = lm3533; in lm3533_als_probe()
864 als->pdev = pdev; in lm3533_als_probe()
865 als->irq = lm3533->irq; in lm3533_als_probe()
866 atomic_set(&als->zone, 0); in lm3533_als_probe()
867 mutex_init(&als->thresh_mutex); in lm3533_als_probe()
871 if (als->irq) { in lm3533_als_probe()
872 ret = lm3533_als_setup_irq(als, indio_dev); in lm3533_als_probe()
877 ret = lm3533_als_setup(als, pdata); in lm3533_als_probe()
881 ret = lm3533_als_enable(als); in lm3533_als_probe()
894 lm3533_als_disable(als); in lm3533_als_probe()
896 if (als->irq) in lm3533_als_probe()
897 free_irq(als->irq, indio_dev); in lm3533_als_probe()
905 struct lm3533_als *als = iio_priv(indio_dev); in lm3533_als_remove() local
909 lm3533_als_disable(als); in lm3533_als_remove()
910 if (als->irq) in lm3533_als_remove()
911 free_irq(als->irq, indio_dev); in lm3533_als_remove()