Lines Matching defs:als

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