Lines Matching refs:als

65 	struct lm3533_als *als = iio_priv(indio_dev);  in lm3533_als_get_adc()  local
75 ret = lm3533_read(als->lm3533, reg, &val); in lm3533_als_get_adc()
88 struct lm3533_als *als = iio_priv(indio_dev); in _lm3533_als_get_zone() local
92 ret = lm3533_read(als->lm3533, LM3533_REG_ALS_ZONE_INFO, &val); in _lm3533_als_get_zone()
106 struct lm3533_als *als = iio_priv(indio_dev); in lm3533_als_get_zone() local
109 if (test_bit(LM3533_ALS_FLAG_INT_ENABLED, &als->flags)) { in lm3533_als_get_zone()
110 *zone = atomic_read(&als->zone); in lm3533_als_get_zone()
132 struct lm3533_als *als = iio_priv(indio_dev); in lm3533_als_get_target() local
143 ret = lm3533_read(als->lm3533, reg, val); in lm3533_als_get_target()
153 struct lm3533_als *als = iio_priv(indio_dev); in lm3533_als_set_target() local
164 ret = lm3533_write(als->lm3533, reg, val); in lm3533_als_set_target()
250 struct lm3533_als *als = iio_priv(indio_dev); in lm3533_als_isr() local
259 atomic_set(&als->zone, zone); in lm3533_als_isr()
273 struct lm3533_als *als = iio_priv(indio_dev); in lm3533_als_set_int_mode() local
283 ret = lm3533_update(als->lm3533, LM3533_REG_ALS_ZONE_INFO, val, mask); in lm3533_als_set_int_mode()
295 struct lm3533_als *als = iio_priv(indio_dev); in lm3533_als_get_int_mode() local
300 ret = lm3533_read(als->lm3533, LM3533_REG_ALS_ZONE_INFO, &val); in lm3533_als_get_int_mode()
321 struct lm3533_als *als = iio_priv(indio_dev); in lm3533_als_get_threshold() local
329 ret = lm3533_read(als->lm3533, reg, val); in lm3533_als_get_threshold()
339 struct lm3533_als *als = iio_priv(indio_dev); in lm3533_als_set_threshold() local
350 mutex_lock(&als->thresh_mutex); in lm3533_als_set_threshold()
351 ret = lm3533_read(als->lm3533, reg2, &val2); in lm3533_als_set_threshold()
366 ret = lm3533_write(als->lm3533, reg, val); in lm3533_als_set_threshold()
372 mutex_unlock(&als->thresh_mutex); in lm3533_als_set_threshold()
380 struct lm3533_als *als = iio_priv(indio_dev); in lm3533_als_get_hysteresis() local
388 mutex_lock(&als->thresh_mutex); in lm3533_als_get_hysteresis()
398 mutex_unlock(&als->thresh_mutex); in lm3533_als_get_hysteresis()
408 struct lm3533_als *als = iio_priv(indio_dev); in show_thresh_either_en() local
412 if (als->irq) { in show_thresh_either_en()
428 struct lm3533_als *als = iio_priv(indio_dev); in store_thresh_either_en() local
434 if (!als->irq) in store_thresh_either_en()
440 int_enabled = test_bit(LM3533_ALS_FLAG_INT_ENABLED, &als->flags); in store_thresh_either_en()
447 atomic_set(&als->zone, zone); in store_thresh_either_en()
449 set_bit(LM3533_ALS_FLAG_INT_ENABLED, &als->flags); in store_thresh_either_en()
455 clear_bit(LM3533_ALS_FLAG_INT_ENABLED, &als->flags); in store_thresh_either_en()
461 clear_bit(LM3533_ALS_FLAG_INT_ENABLED, &als->flags); in store_thresh_either_en()
717 static int lm3533_als_set_input_mode(struct lm3533_als *als, bool pwm_mode) in lm3533_als_set_input_mode() argument
728 ret = lm3533_update(als->lm3533, LM3533_REG_ALS_CONF, val, mask); in lm3533_als_set_input_mode()
730 dev_err(&als->pdev->dev, "failed to set input mode %d\n", in lm3533_als_set_input_mode()
738 static int lm3533_als_set_resistor(struct lm3533_als *als, u8 val) in lm3533_als_set_resistor() argument
743 dev_err(&als->pdev->dev, "invalid resistor value\n"); in lm3533_als_set_resistor()
747 ret = lm3533_write(als->lm3533, LM3533_REG_ALS_RESISTOR_SELECT, val); in lm3533_als_set_resistor()
749 dev_err(&als->pdev->dev, "failed to set resistor\n"); in lm3533_als_set_resistor()
756 static int lm3533_als_setup(struct lm3533_als *als, in lm3533_als_setup() argument
761 ret = lm3533_als_set_input_mode(als, pdata->pwm_mode); in lm3533_als_setup()
767 ret = lm3533_als_set_resistor(als, pdata->r_select); in lm3533_als_setup()
775 static int lm3533_als_setup_irq(struct lm3533_als *als, void *dev) in lm3533_als_setup_irq() argument
781 ret = lm3533_update(als->lm3533, LM3533_REG_ALS_ZONE_INFO, 0, mask); in lm3533_als_setup_irq()
783 dev_err(&als->pdev->dev, "failed to disable interrupts\n"); in lm3533_als_setup_irq()
787 ret = request_threaded_irq(als->irq, NULL, lm3533_als_isr, in lm3533_als_setup_irq()
789 dev_name(&als->pdev->dev), dev); in lm3533_als_setup_irq()
791 dev_err(&als->pdev->dev, "failed to request irq %d\n", in lm3533_als_setup_irq()
792 als->irq); in lm3533_als_setup_irq()
799 static int lm3533_als_enable(struct lm3533_als *als) in lm3533_als_enable() argument
804 ret = lm3533_update(als->lm3533, LM3533_REG_ALS_CONF, mask, mask); in lm3533_als_enable()
806 dev_err(&als->pdev->dev, "failed to enable ALS\n"); in lm3533_als_enable()
811 static int lm3533_als_disable(struct lm3533_als *als) in lm3533_als_disable() argument
816 ret = lm3533_update(als->lm3533, LM3533_REG_ALS_CONF, 0, mask); in lm3533_als_disable()
818 dev_err(&als->pdev->dev, "failed to disable ALS\n"); in lm3533_als_disable()
833 struct lm3533_als *als; in lm3533_als_probe() local
847 indio_dev = devm_iio_device_alloc(&pdev->dev, sizeof(*als)); in lm3533_als_probe()
858 als = iio_priv(indio_dev); in lm3533_als_probe()
859 als->lm3533 = lm3533; in lm3533_als_probe()
860 als->pdev = pdev; in lm3533_als_probe()
861 als->irq = lm3533->irq; in lm3533_als_probe()
862 atomic_set(&als->zone, 0); in lm3533_als_probe()
863 mutex_init(&als->thresh_mutex); in lm3533_als_probe()
867 if (als->irq) { in lm3533_als_probe()
868 ret = lm3533_als_setup_irq(als, indio_dev); in lm3533_als_probe()
873 ret = lm3533_als_setup(als, pdata); in lm3533_als_probe()
877 ret = lm3533_als_enable(als); in lm3533_als_probe()
890 lm3533_als_disable(als); in lm3533_als_probe()
892 if (als->irq) in lm3533_als_probe()
893 free_irq(als->irq, indio_dev); in lm3533_als_probe()
901 struct lm3533_als *als = iio_priv(indio_dev); in lm3533_als_remove() local
905 lm3533_als_disable(als); in lm3533_als_remove()
906 if (als->irq) in lm3533_als_remove()
907 free_irq(als->irq, indio_dev); in lm3533_als_remove()