Symbol: gp2ap002
drivers/iio/light/gp2ap002.c
156
struct gp2ap002 *gp2ap002 = iio_priv(indio_dev);
drivers/iio/light/gp2ap002.c
161
if (!gp2ap002->enabled)
drivers/iio/light/gp2ap002.c
164
ret = regmap_read(gp2ap002->map, GP2AP002_PROX, &val);
drivers/iio/light/gp2ap002.c
166
dev_err(gp2ap002->dev, "error reading proximity\n");
drivers/iio/light/gp2ap002.c
172
dev_dbg(gp2ap002->dev, "close\n");
drivers/iio/light/gp2ap002.c
173
ret = regmap_write(gp2ap002->map, GP2AP002_HYS,
drivers/iio/light/gp2ap002.c
174
gp2ap002->hys_far);
drivers/iio/light/gp2ap002.c
176
dev_err(gp2ap002->dev,
drivers/iio/light/gp2ap002.c
182
dev_dbg(gp2ap002->dev, "far\n");
drivers/iio/light/gp2ap002.c
183
ret = regmap_write(gp2ap002->map, GP2AP002_HYS,
drivers/iio/light/gp2ap002.c
184
gp2ap002->hys_close);
drivers/iio/light/gp2ap002.c
186
dev_err(gp2ap002->dev,
drivers/iio/light/gp2ap002.c
203
ret = regmap_write(gp2ap002->map, GP2AP002_CON,
drivers/iio/light/gp2ap002.c
206
dev_err(gp2ap002->dev, "error setting up VOUT control\n");
drivers/iio/light/gp2ap002.c
228
static int gp2ap002_get_lux(struct gp2ap002 *gp2ap002)
drivers/iio/light/gp2ap002.c
233
ret = iio_read_channel_processed(gp2ap002->alsout, &res);
drivers/iio/light/gp2ap002.c
237
dev_dbg(gp2ap002->dev, "read %d mA from ADC\n", res);
drivers/iio/light/gp2ap002.c
250
struct gp2ap002 *gp2ap002 = iio_priv(indio_dev);
drivers/iio/light/gp2ap002.c
253
pm_runtime_get_sync(gp2ap002->dev);
drivers/iio/light/gp2ap002.c
259
ret = gp2ap002_get_lux(gp2ap002);
drivers/iio/light/gp2ap002.c
274
pm_runtime_put_autosuspend(gp2ap002->dev);
drivers/iio/light/gp2ap002.c
279
static int gp2ap002_init(struct gp2ap002 *gp2ap002)
drivers/iio/light/gp2ap002.c
284
ret = regmap_write(gp2ap002->map, GP2AP002_GAIN,
drivers/iio/light/gp2ap002.c
287
dev_err(gp2ap002->dev, "error setting up LED gain\n");
drivers/iio/light/gp2ap002.c
290
ret = regmap_write(gp2ap002->map, GP2AP002_HYS, gp2ap002->hys_far);
drivers/iio/light/gp2ap002.c
292
dev_err(gp2ap002->dev,
drivers/iio/light/gp2ap002.c
298
ret = regmap_write(gp2ap002->map, GP2AP002_CYCLE,
drivers/iio/light/gp2ap002.c
301
dev_err(gp2ap002->dev,
drivers/iio/light/gp2ap002.c
307
ret = regmap_write(gp2ap002->map, GP2AP002_OPMOD,
drivers/iio/light/gp2ap002.c
311
dev_err(gp2ap002->dev, "error setting up operation mode\n");
drivers/iio/light/gp2ap002.c
316
ret = regmap_write(gp2ap002->map, GP2AP002_CON,
drivers/iio/light/gp2ap002.c
319
dev_err(gp2ap002->dev, "error setting up VOUT control\n");
drivers/iio/light/gp2ap002.c
329
struct gp2ap002 *gp2ap002 = iio_priv(indio_dev);
drivers/iio/light/gp2ap002.c
335
return gp2ap002->enabled;
drivers/iio/light/gp2ap002.c
344
struct gp2ap002 *gp2ap002 = iio_priv(indio_dev);
drivers/iio/light/gp2ap002.c
352
pm_runtime_get_sync(gp2ap002->dev);
drivers/iio/light/gp2ap002.c
353
gp2ap002->enabled = true;
drivers/iio/light/gp2ap002.c
355
pm_runtime_put_autosuspend(gp2ap002->dev);
drivers/iio/light/gp2ap002.c
356
gp2ap002->enabled = false;
drivers/iio/light/gp2ap002.c
428
struct gp2ap002 *gp2ap002;
drivers/iio/light/gp2ap002.c
443
indio_dev = devm_iio_device_alloc(dev, sizeof(*gp2ap002));
drivers/iio/light/gp2ap002.c
448
gp2ap002 = iio_priv(indio_dev);
drivers/iio/light/gp2ap002.c
449
gp2ap002->dev = dev;
drivers/iio/light/gp2ap002.c
461
gp2ap002->is_gp2ap002s00f = !strcmp(compat, "sharp,gp2ap002s00f");
drivers/iio/light/gp2ap002.c
468
gp2ap002->map = regmap;
drivers/iio/light/gp2ap002.c
488
gp2ap002->hys_far = val;
drivers/iio/light/gp2ap002.c
497
gp2ap002->hys_close = val;
drivers/iio/light/gp2ap002.c
500
if (!gp2ap002->is_gp2ap002s00f) {
drivers/iio/light/gp2ap002.c
501
gp2ap002->alsout = devm_iio_channel_get(dev, "alsout");
drivers/iio/light/gp2ap002.c
502
if (IS_ERR(gp2ap002->alsout)) {
drivers/iio/light/gp2ap002.c
503
ret = PTR_ERR(gp2ap002->alsout);
drivers/iio/light/gp2ap002.c
507
ret = iio_get_channel_type(gp2ap002->alsout, &ch_type);
drivers/iio/light/gp2ap002.c
517
gp2ap002->vdd = devm_regulator_get(dev, "vdd");
drivers/iio/light/gp2ap002.c
518
if (IS_ERR(gp2ap002->vdd))
drivers/iio/light/gp2ap002.c
519
return dev_err_probe(dev, PTR_ERR(gp2ap002->vdd),
drivers/iio/light/gp2ap002.c
522
gp2ap002->vio = devm_regulator_get(dev, "vio");
drivers/iio/light/gp2ap002.c
523
if (IS_ERR(gp2ap002->vio))
drivers/iio/light/gp2ap002.c
524
return dev_err_probe(dev, PTR_ERR(gp2ap002->vio),
drivers/iio/light/gp2ap002.c
528
ret = regulator_set_voltage(gp2ap002->vdd, 2400000, 3600000);
drivers/iio/light/gp2ap002.c
535
ret = regulator_get_voltage(gp2ap002->vdd);
drivers/iio/light/gp2ap002.c
540
ret = regulator_set_voltage(gp2ap002->vio, 1650000, ret);
drivers/iio/light/gp2ap002.c
546
ret = regulator_enable(gp2ap002->vdd);
drivers/iio/light/gp2ap002.c
551
ret = regulator_enable(gp2ap002->vio);
drivers/iio/light/gp2ap002.c
563
ret = gp2ap002_init(gp2ap002);
drivers/iio/light/gp2ap002.c
571
gp2ap002->enabled = false;
drivers/iio/light/gp2ap002.c
580
gp2ap002->irq = client->irq;
drivers/iio/light/gp2ap002.c
596
if (gp2ap002->is_gp2ap002s00f)
drivers/iio/light/gp2ap002.c
613
regulator_disable(gp2ap002->vio);
drivers/iio/light/gp2ap002.c
615
regulator_disable(gp2ap002->vdd);
drivers/iio/light/gp2ap002.c
622
struct gp2ap002 *gp2ap002 = iio_priv(indio_dev);
drivers/iio/light/gp2ap002.c
629
regulator_disable(gp2ap002->vio);
drivers/iio/light/gp2ap002.c
630
regulator_disable(gp2ap002->vdd);
drivers/iio/light/gp2ap002.c
636
struct gp2ap002 *gp2ap002 = iio_priv(indio_dev);
drivers/iio/light/gp2ap002.c
640
disable_irq(gp2ap002->irq);
drivers/iio/light/gp2ap002.c
643
ret = regmap_write(gp2ap002->map, GP2AP002_OPMOD, 0x00);
drivers/iio/light/gp2ap002.c
645
dev_err(gp2ap002->dev, "error setting up operation mode\n");
drivers/iio/light/gp2ap002.c
652
regulator_disable(gp2ap002->vio);
drivers/iio/light/gp2ap002.c
653
regulator_disable(gp2ap002->vdd);
drivers/iio/light/gp2ap002.c
661
struct gp2ap002 *gp2ap002 = iio_priv(indio_dev);
drivers/iio/light/gp2ap002.c
664
ret = regulator_enable(gp2ap002->vdd);
drivers/iio/light/gp2ap002.c
669
ret = regulator_enable(gp2ap002->vio);
drivers/iio/light/gp2ap002.c
677
ret = gp2ap002_init(gp2ap002);
drivers/iio/light/gp2ap002.c
684
enable_irq(gp2ap002->irq);