adc 432 arch/arc/include/asm/atomic.h ATOMIC64_OPS(add, add.f, adc) adc 376 arch/arm/include/asm/atomic.h ATOMIC64_OPS(add, adds, adc) adc 83 arch/arm/plat-samsung/adc.c static inline void s3c_adc_convert(struct adc_device *adc) adc 85 arch/arm/plat-samsung/adc.c unsigned con = readl(adc->regs + S3C2410_ADCCON); adc 88 arch/arm/plat-samsung/adc.c writel(con, adc->regs + S3C2410_ADCCON); adc 91 arch/arm/plat-samsung/adc.c static inline void s3c_adc_select(struct adc_device *adc, adc 94 arch/arm/plat-samsung/adc.c unsigned con = readl(adc->regs + S3C2410_ADCCON); adc 95 arch/arm/plat-samsung/adc.c enum s3c_cpu_type cpu = platform_get_device_id(adc->pdev)->driver_data; adc 106 arch/arm/plat-samsung/adc.c writel(client->channel & 0xf, adc->regs + S5P_ADCMUX); adc 109 arch/arm/plat-samsung/adc.c adc->regs + S3C2443_ADCMUX); adc 114 arch/arm/plat-samsung/adc.c writel(con, adc->regs + S3C2410_ADCCON); adc 117 arch/arm/plat-samsung/adc.c static void s3c_adc_dbgshow(struct adc_device *adc) adc 119 arch/arm/plat-samsung/adc.c adc_dbg(adc, "CON=%08x, TSC=%08x, DLY=%08x\n", adc 120 arch/arm/plat-samsung/adc.c readl(adc->regs + S3C2410_ADCCON), adc 121 arch/arm/plat-samsung/adc.c readl(adc->regs + S3C2410_ADCTSC), adc 122 arch/arm/plat-samsung/adc.c readl(adc->regs + S3C2410_ADCDLY)); adc 125 arch/arm/plat-samsung/adc.c static void s3c_adc_try(struct adc_device *adc) adc 127 arch/arm/plat-samsung/adc.c struct s3c_adc_client *next = adc->ts_pend; adc 134 arch/arm/plat-samsung/adc.c adc->ts_pend = NULL; adc 137 arch/arm/plat-samsung/adc.c adc_dbg(adc, "new client is %p\n", next); adc 138 arch/arm/plat-samsung/adc.c adc->cur = next; adc 139 arch/arm/plat-samsung/adc.c s3c_adc_select(adc, next); adc 140 arch/arm/plat-samsung/adc.c s3c_adc_convert(adc); adc 141 arch/arm/plat-samsung/adc.c s3c_adc_dbgshow(adc); adc 148 arch/arm/plat-samsung/adc.c struct adc_device *adc = adc_dev; adc 151 arch/arm/plat-samsung/adc.c if (!adc) { adc 156 arch/arm/plat-samsung/adc.c spin_lock_irqsave(&adc->lock, flags); adc 158 arch/arm/plat-samsung/adc.c if (client->is_ts && adc->ts_pend) { adc 159 arch/arm/plat-samsung/adc.c spin_unlock_irqrestore(&adc->lock, flags); adc 167 arch/arm/plat-samsung/adc.c adc->ts_pend = client; adc 171 arch/arm/plat-samsung/adc.c if (!adc->cur) adc 172 arch/arm/plat-samsung/adc.c s3c_adc_try(adc); adc 174 arch/arm/plat-samsung/adc.c spin_unlock_irqrestore(&adc->lock, flags); adc 282 arch/arm/plat-samsung/adc.c struct adc_device *adc = pw; adc 283 arch/arm/plat-samsung/adc.c struct s3c_adc_client *client = adc->cur; adc 284 arch/arm/plat-samsung/adc.c enum s3c_cpu_type cpu = platform_get_device_id(adc->pdev)->driver_data; adc 288 arch/arm/plat-samsung/adc.c dev_warn(&adc->pdev->dev, "%s: no adc pending\n", __func__); adc 292 arch/arm/plat-samsung/adc.c data0 = readl(adc->regs + S3C2410_ADCDAT0); adc 293 arch/arm/plat-samsung/adc.c data1 = readl(adc->regs + S3C2410_ADCDAT1); adc 294 arch/arm/plat-samsung/adc.c adc_dbg(adc, "read %d: 0x%04x, 0x%04x\n", client->nr_samples, data0, data1); adc 314 arch/arm/plat-samsung/adc.c s3c_adc_convert(adc); adc 316 arch/arm/plat-samsung/adc.c spin_lock(&adc->lock); adc 318 arch/arm/plat-samsung/adc.c adc->cur = NULL; adc 320 arch/arm/plat-samsung/adc.c s3c_adc_try(adc); adc 321 arch/arm/plat-samsung/adc.c spin_unlock(&adc->lock); adc 327 arch/arm/plat-samsung/adc.c writel(0, adc->regs + S3C64XX_ADCCLRINT); adc 335 arch/arm/plat-samsung/adc.c struct adc_device *adc; adc 341 arch/arm/plat-samsung/adc.c adc = devm_kzalloc(dev, sizeof(*adc), GFP_KERNEL); adc 342 arch/arm/plat-samsung/adc.c if (!adc) adc 345 arch/arm/plat-samsung/adc.c spin_lock_init(&adc->lock); adc 347 arch/arm/plat-samsung/adc.c adc->pdev = pdev; adc 348 arch/arm/plat-samsung/adc.c adc->prescale = S3C2410_ADCCON_PRSCVL(49); adc 350 arch/arm/plat-samsung/adc.c adc->vdd = devm_regulator_get(dev, "vdd"); adc 351 arch/arm/plat-samsung/adc.c if (IS_ERR(adc->vdd)) { adc 353 arch/arm/plat-samsung/adc.c return PTR_ERR(adc->vdd); adc 356 arch/arm/plat-samsung/adc.c adc->irq = platform_get_irq(pdev, 1); adc 357 arch/arm/plat-samsung/adc.c if (adc->irq <= 0) { adc 362 arch/arm/plat-samsung/adc.c ret = devm_request_irq(dev, adc->irq, s3c_adc_irq, 0, dev_name(dev), adc 363 arch/arm/plat-samsung/adc.c adc); adc 369 arch/arm/plat-samsung/adc.c adc->clk = devm_clk_get(dev, "adc"); adc 370 arch/arm/plat-samsung/adc.c if (IS_ERR(adc->clk)) { adc 372 arch/arm/plat-samsung/adc.c return PTR_ERR(adc->clk); adc 376 arch/arm/plat-samsung/adc.c adc->regs = devm_ioremap_resource(dev, regs); adc 377 arch/arm/plat-samsung/adc.c if (IS_ERR(adc->regs)) adc 378 arch/arm/plat-samsung/adc.c return PTR_ERR(adc->regs); adc 380 arch/arm/plat-samsung/adc.c ret = regulator_enable(adc->vdd); adc 384 arch/arm/plat-samsung/adc.c clk_prepare_enable(adc->clk); adc 386 arch/arm/plat-samsung/adc.c tmp = adc->prescale | S3C2410_ADCCON_PRSCEN; adc 394 arch/arm/plat-samsung/adc.c writel(tmp, adc->regs + S3C2410_ADCCON); adc 398 arch/arm/plat-samsung/adc.c platform_set_drvdata(pdev, adc); adc 399 arch/arm/plat-samsung/adc.c adc_dev = adc; adc 406 arch/arm/plat-samsung/adc.c struct adc_device *adc = platform_get_drvdata(pdev); adc 408 arch/arm/plat-samsung/adc.c clk_disable_unprepare(adc->clk); adc 409 arch/arm/plat-samsung/adc.c regulator_disable(adc->vdd); adc 417 arch/arm/plat-samsung/adc.c struct adc_device *adc = dev_get_drvdata(dev); adc 421 arch/arm/plat-samsung/adc.c spin_lock_irqsave(&adc->lock, flags); adc 423 arch/arm/plat-samsung/adc.c con = readl(adc->regs + S3C2410_ADCCON); adc 425 arch/arm/plat-samsung/adc.c writel(con, adc->regs + S3C2410_ADCCON); adc 427 arch/arm/plat-samsung/adc.c disable_irq(adc->irq); adc 428 arch/arm/plat-samsung/adc.c spin_unlock_irqrestore(&adc->lock, flags); adc 429 arch/arm/plat-samsung/adc.c clk_disable(adc->clk); adc 430 arch/arm/plat-samsung/adc.c regulator_disable(adc->vdd); adc 438 arch/arm/plat-samsung/adc.c struct adc_device *adc = platform_get_drvdata(pdev); adc 443 arch/arm/plat-samsung/adc.c ret = regulator_enable(adc->vdd); adc 446 arch/arm/plat-samsung/adc.c clk_enable(adc->clk); adc 447 arch/arm/plat-samsung/adc.c enable_irq(adc->irq); adc 449 arch/arm/plat-samsung/adc.c tmp = adc->prescale | S3C2410_ADCCON_PRSCEN; adc 457 arch/arm/plat-samsung/adc.c writel(tmp, adc->regs + S3C2410_ADCCON); adc 992 arch/x86/kvm/emulate.c FASTOP2(adc); adc 78 arch/x86/platform/ts5500/ts5500.c bool adc; adc 136 arch/x86/platform/ts5500/ts5500.c sbc->adc = tmp & TS5500_ADC; adc 189 arch/x86/platform/ts5500/ts5500.c TS5500_ATTR_BOOL(adc); adc 330 arch/x86/platform/ts5500/ts5500.c if (sbc->adc) { adc 138 drivers/clk/mxs/clk-imx23.c clks[adc] = mxs_clk_fixed_factor("adc", "clk32k", 1, 16); adc 257 drivers/extcon/extcon-max14577.c int adc; adc 266 drivers/extcon/extcon-max14577.c adc = info->status[MAX14577_MUIC_STATUS1] & STATUS1_ADC_MASK; adc 267 drivers/extcon/extcon-max14577.c adc >>= STATUS1_ADC_SHIFT; adc 274 drivers/extcon/extcon-max14577.c if (adc == MAX14577_MUIC_ADC_OPEN) { adc 282 drivers/extcon/extcon-max14577.c cable_type = info->prev_cable_type = adc; adc 605 drivers/extcon/extcon-max14577.c int adc; adc 620 drivers/extcon/extcon-max14577.c adc = max14577_muic_get_cable_type(info, MAX14577_CABLE_GROUP_ADC, adc 622 drivers/extcon/extcon-max14577.c if (attached && adc != MAX14577_MUIC_ADC_OPEN) { adc 312 drivers/extcon/extcon-max77693.c int adc; adc 324 drivers/extcon/extcon-max77693.c adc = info->status[0] & MAX77693_STATUS1_ADC_MASK; adc 325 drivers/extcon/extcon-max77693.c adc >>= MAX77693_STATUS1_ADC_SHIFT; adc 332 drivers/extcon/extcon-max77693.c if (adc == MAX77693_MUIC_ADC_OPEN) { adc 340 drivers/extcon/extcon-max77693.c cable_type = info->prev_cable_type = adc; adc 348 drivers/extcon/extcon-max77693.c adc = info->status[0] & MAX77693_STATUS1_ADC_MASK; adc 349 drivers/extcon/extcon-max77693.c adc >>= MAX77693_STATUS1_ADC_SHIFT; adc 356 drivers/extcon/extcon-max77693.c if (adc == MAX77693_MUIC_ADC_OPEN) { adc 385 drivers/extcon/extcon-max77693.c info->prev_cable_type = adc; adc 420 drivers/extcon/extcon-max77693.c adc = info->status[0] & MAX77693_STATUS1_ADC_MASK; adc 421 drivers/extcon/extcon-max77693.c adc >>= MAX77693_STATUS1_ADC_SHIFT; adc 425 drivers/extcon/extcon-max77693.c if (adc == MAX77693_MUIC_ADC_OPEN adc 1017 drivers/extcon/extcon-max77693.c int adc; adc 1032 drivers/extcon/extcon-max77693.c adc = max77693_muic_get_cable_type(info, MAX77693_CABLE_GROUP_ADC, adc 1034 drivers/extcon/extcon-max77693.c if (attached && adc != MAX77693_MUIC_ADC_OPEN) { adc 264 drivers/extcon/extcon-max77843.c int adc, chg_type, cable_type, gnd_type; adc 266 drivers/extcon/extcon-max77843.c adc = info->status[MAX77843_MUIC_STATUS1] & adc 268 drivers/extcon/extcon-max77843.c adc >>= MAX77843_MUIC_STATUS1_ADC_SHIFT; adc 272 drivers/extcon/extcon-max77843.c if (adc == MAX77843_MUIC_ADC_OPEN) { adc 278 drivers/extcon/extcon-max77843.c cable_type = info->prev_cable_type = adc; adc 286 drivers/extcon/extcon-max77843.c if (adc == MAX77843_MUIC_ADC_GROUND) { adc 309 drivers/extcon/extcon-max77843.c if (adc == MAX77843_MUIC_ADC_RESERVED_ACC_3) { /* SmartDock */ adc 332 drivers/extcon/extcon-max77843.c if (adc == MAX77843_MUIC_ADC_OPEN) { adc 708 drivers/extcon/extcon-max77843.c int chg_type, adc, ret; adc 721 drivers/extcon/extcon-max77843.c adc = max77843_muic_get_cable_type(info, adc 723 drivers/extcon/extcon-max77843.c if (attached && adc != MAX77843_MUIC_ADC_OPEN) { adc 247 drivers/extcon/extcon-max8997.c int adc; adc 256 drivers/extcon/extcon-max8997.c adc = info->status[0] & STATUS1_ADC_MASK; adc 257 drivers/extcon/extcon-max8997.c adc >>= STATUS1_ADC_SHIFT; adc 264 drivers/extcon/extcon-max8997.c if (adc == MAX8997_MUIC_ADC_OPEN) { adc 272 drivers/extcon/extcon-max8997.c cable_type = info->prev_cable_type = adc; adc 462 drivers/extcon/extcon-max8997.c int adc; adc 471 drivers/extcon/extcon-max8997.c adc = info->status[0] & STATUS1_ADC_MASK; adc 472 drivers/extcon/extcon-max8997.c adc >>= STATUS1_ADC_SHIFT; adc 474 drivers/extcon/extcon-max8997.c if ((adc & STATUS1_ADC_MASK) == MAX8997_MUIC_ADC_OPEN) { adc 574 drivers/extcon/extcon-max8997.c int adc; adc 589 drivers/extcon/extcon-max8997.c adc = max8997_muic_get_cable_type(info, MAX8997_CABLE_GROUP_ADC, adc 591 drivers/extcon/extcon-max8997.c if (attached && adc != MAX8997_MUIC_ADC_OPEN) { adc 262 drivers/extcon/extcon-rt8973a.c unsigned int adc, dev1; adc 266 drivers/extcon/extcon-rt8973a.c ret = regmap_read(info->regmap, RT8973A_REG_ADC, &adc); adc 271 drivers/extcon/extcon-rt8973a.c cable_type = adc & RT8973A_REG_ADC_MASK; adc 280 drivers/extcon/extcon-rt8973a.c switch (adc) { adc 279 drivers/extcon/extcon-sm5502.c unsigned int cable_type = -1, adc, dev_type1; adc 283 drivers/extcon/extcon-sm5502.c ret = regmap_read(info->regmap, SM5502_REG_ADC, &adc); adc 293 drivers/extcon/extcon-sm5502.c cable_type = adc & SM5502_REG_ADC_MASK; adc 358 drivers/extcon/extcon-sm5502.c adc); adc 364 drivers/extcon/extcon-sm5502.c "failed to identify the cable type: adc(0x%x)\n", adc); adc 182 drivers/hwmon/ad7418.c static SENSOR_DEVICE_ATTR_RO(in1_input, adc, 0); adc 183 drivers/hwmon/ad7418.c static SENSOR_DEVICE_ATTR_RO(in2_input, adc, 1); adc 184 drivers/hwmon/ad7418.c static SENSOR_DEVICE_ATTR_RO(in3_input, adc, 2); adc 185 drivers/hwmon/ad7418.c static SENSOR_DEVICE_ATTR_RO(in4_input, adc, 3); adc 52 drivers/hwmon/adcxx.c struct adcxx *adc = spi_get_drvdata(spi); adc 58 drivers/hwmon/adcxx.c if (mutex_lock_interruptible(&adc->lock)) adc 61 drivers/hwmon/adcxx.c if (adc->channels == 1) { adc 77 drivers/hwmon/adcxx.c value = value * adc->reference >> 12; adc 80 drivers/hwmon/adcxx.c mutex_unlock(&adc->lock); adc 95 drivers/hwmon/adcxx.c struct adcxx *adc = spi_get_drvdata(spi); adc 98 drivers/hwmon/adcxx.c if (mutex_lock_interruptible(&adc->lock)) adc 101 drivers/hwmon/adcxx.c reference = adc->reference; adc 103 drivers/hwmon/adcxx.c mutex_unlock(&adc->lock); adc 113 drivers/hwmon/adcxx.c struct adcxx *adc = spi_get_drvdata(spi); adc 119 drivers/hwmon/adcxx.c if (mutex_lock_interruptible(&adc->lock)) adc 122 drivers/hwmon/adcxx.c adc->reference = value; adc 124 drivers/hwmon/adcxx.c mutex_unlock(&adc->lock); adc 154 drivers/hwmon/adcxx.c struct adcxx *adc; adc 158 drivers/hwmon/adcxx.c adc = devm_kzalloc(&spi->dev, sizeof(*adc), GFP_KERNEL); adc 159 drivers/hwmon/adcxx.c if (!adc) adc 163 drivers/hwmon/adcxx.c adc->reference = 3300; adc 164 drivers/hwmon/adcxx.c adc->channels = channels; adc 165 drivers/hwmon/adcxx.c mutex_init(&adc->lock); adc 167 drivers/hwmon/adcxx.c mutex_lock(&adc->lock); adc 169 drivers/hwmon/adcxx.c spi_set_drvdata(spi, adc); adc 171 drivers/hwmon/adcxx.c for (i = 0; i < 3 + adc->channels; i++) { adc 179 drivers/hwmon/adcxx.c adc->hwmon_dev = hwmon_device_register(&spi->dev); adc 180 drivers/hwmon/adcxx.c if (IS_ERR(adc->hwmon_dev)) { adc 182 drivers/hwmon/adcxx.c status = PTR_ERR(adc->hwmon_dev); adc 186 drivers/hwmon/adcxx.c mutex_unlock(&adc->lock); adc 193 drivers/hwmon/adcxx.c mutex_unlock(&adc->lock); adc 199 drivers/hwmon/adcxx.c struct adcxx *adc = spi_get_drvdata(spi); adc 202 drivers/hwmon/adcxx.c mutex_lock(&adc->lock); adc 203 drivers/hwmon/adcxx.c hwmon_device_unregister(adc->hwmon_dev); adc 204 drivers/hwmon/adcxx.c for (i = 0; i < 3 + adc->channels; i++) adc 207 drivers/hwmon/adcxx.c mutex_unlock(&adc->lock); adc 143 drivers/hwmon/da9055-hwmon.c int ret, adc; adc 154 drivers/hwmon/da9055-hwmon.c adc = da9055_reg_read(hwmon->da9055, DA9055_REG_VSYS_RES + channel); adc 155 drivers/hwmon/da9055-hwmon.c if (adc < 0) { adc 156 drivers/hwmon/da9055-hwmon.c ret = adc; adc 166 drivers/hwmon/da9055-hwmon.c return sprintf(buf, "%d\n", volt_reg_to_mv(adc, channel)); adc 215 drivers/hwmon/ina209.c int i, adc; adc 218 drivers/hwmon/ina209.c adc = 8; adc 220 drivers/hwmon/ina209.c adc = 15; adc 224 drivers/hwmon/ina209.c adc--; adc 227 drivers/hwmon/ina209.c return (config & 0xf807) | (adc << 3) | (adc << 7); adc 94 drivers/hwmon/max16065.c int adc[MAX16065_NUM_ADC + 1]; /* adc values (raw) including csp_adc */ adc 103 drivers/hwmon/max16065.c static inline int ADC_TO_MV(int adc, int range) adc 105 drivers/hwmon/max16065.c return (adc * range) / 1024; adc 122 drivers/hwmon/max16065.c static inline int ADC_TO_CURR(int adc, int gain) adc 124 drivers/hwmon/max16065.c return adc * 1400000 / (gain * 255); adc 153 drivers/hwmon/max16065.c data->adc[i] adc 157 drivers/hwmon/max16065.c data->adc[MAX16065_NUM_ADC] adc 198 drivers/hwmon/max16065.c int adc = data->adc[attr->index]; adc 200 drivers/hwmon/max16065.c if (unlikely(adc < 0)) adc 201 drivers/hwmon/max16065.c return adc; adc 204 drivers/hwmon/max16065.c ADC_TO_MV(adc, data->range[attr->index])); adc 89 drivers/hwmon/s3c-hwmon.c struct s3c_hwmon *adc = dev_get_drvdata(dev); adc 93 drivers/hwmon/s3c-hwmon.c ret = s3c_hwmon_read_ch(dev, adc, sa->index); adc 116 drivers/hwmon/smm665.c #define SMM665_VMON_ADC_TO_VOLTS(adc) ((adc) * vref / 256) adc 119 drivers/hwmon/smm665.c #define SMM665_12VIN_ADC_TO_VOLTS(adc) ((adc) * vref * 3 / 256) adc 122 drivers/hwmon/smm665.c #define SMM665_AIN_ADC_TO_VOLTS(adc) ((adc) * vref / 512) adc 125 drivers/hwmon/smm665.c #define SMM665_TEMP_ADC_TO_CELSIUS(adc) (((adc) <= 511) ? \ adc 126 drivers/hwmon/smm665.c ((int)(adc) * 1000 / 4) : \ adc 127 drivers/hwmon/smm665.c (((int)(adc) - 0x400) * 1000 / 4)) adc 144 drivers/hwmon/smm665.c u16 adc[SMM665_NUM_ADC]; /* adc values (raw) */ adc 177 drivers/hwmon/smm665.c static int smm665_read_adc(struct smm665_data *data, int adc) adc 196 drivers/hwmon/smm665.c rv = i2c_smbus_read_byte_data(client, adc << 3); adc 228 drivers/hwmon/smm665.c if (radc != adc) { adc 230 drivers/hwmon/smm665.c adc, radc); adc 265 drivers/hwmon/smm665.c data->adc[i] = val; adc 362 drivers/hwmon/smm665.c int adc = attr->index; adc 368 drivers/hwmon/smm665.c val = smm665_convert(data->adc[adc], adc); adc 50 drivers/iio/adc/ingenic-adc.c int (*init_clk_div)(struct device *dev, struct ingenic_adc *adc); adc 61 drivers/iio/adc/ingenic-adc.c static void ingenic_adc_set_config(struct ingenic_adc *adc, adc 67 drivers/iio/adc/ingenic-adc.c clk_enable(adc->clk); adc 68 drivers/iio/adc/ingenic-adc.c mutex_lock(&adc->lock); adc 70 drivers/iio/adc/ingenic-adc.c cfg = readl(adc->base + JZ_ADC_REG_CFG) & ~mask; adc 72 drivers/iio/adc/ingenic-adc.c writel(cfg, adc->base + JZ_ADC_REG_CFG); adc 74 drivers/iio/adc/ingenic-adc.c mutex_unlock(&adc->lock); adc 75 drivers/iio/adc/ingenic-adc.c clk_disable(adc->clk); adc 78 drivers/iio/adc/ingenic-adc.c static void ingenic_adc_enable(struct ingenic_adc *adc, adc 84 drivers/iio/adc/ingenic-adc.c mutex_lock(&adc->lock); adc 85 drivers/iio/adc/ingenic-adc.c val = readb(adc->base + JZ_ADC_REG_ENABLE); adc 92 drivers/iio/adc/ingenic-adc.c writeb(val, adc->base + JZ_ADC_REG_ENABLE); adc 93 drivers/iio/adc/ingenic-adc.c mutex_unlock(&adc->lock); adc 96 drivers/iio/adc/ingenic-adc.c static int ingenic_adc_capture(struct ingenic_adc *adc, adc 102 drivers/iio/adc/ingenic-adc.c ingenic_adc_enable(adc, engine, true); adc 103 drivers/iio/adc/ingenic-adc.c ret = readb_poll_timeout(adc->base + JZ_ADC_REG_ENABLE, val, adc 106 drivers/iio/adc/ingenic-adc.c ingenic_adc_enable(adc, engine, false); adc 117 drivers/iio/adc/ingenic-adc.c struct ingenic_adc *adc = iio_priv(iio_dev); adc 124 drivers/iio/adc/ingenic-adc.c ingenic_adc_set_config(adc, adc 127 drivers/iio/adc/ingenic-adc.c adc->low_vref_mode = false; adc 129 drivers/iio/adc/ingenic-adc.c ingenic_adc_set_config(adc, adc 132 drivers/iio/adc/ingenic-adc.c adc->low_vref_mode = true; adc 161 drivers/iio/adc/ingenic-adc.c static int jz4725b_adc_init_clk_div(struct device *dev, struct ingenic_adc *adc) adc 167 drivers/iio/adc/ingenic-adc.c parent_clk = clk_get_parent(adc->clk); adc 192 drivers/iio/adc/ingenic-adc.c adc->base + JZ_ADC_REG_ADCLK); adc 224 drivers/iio/adc/ingenic-adc.c struct ingenic_adc *adc = iio_priv(iio_dev); adc 229 drivers/iio/adc/ingenic-adc.c *length = adc->soc_data->battery_raw_avail_size; adc 230 drivers/iio/adc/ingenic-adc.c *vals = adc->soc_data->battery_raw_avail; adc 234 drivers/iio/adc/ingenic-adc.c *length = adc->soc_data->battery_scale_avail_size; adc 235 drivers/iio/adc/ingenic-adc.c *vals = adc->soc_data->battery_scale_avail; adc 248 drivers/iio/adc/ingenic-adc.c struct ingenic_adc *adc = iio_priv(iio_dev); adc 253 drivers/iio/adc/ingenic-adc.c clk_enable(adc->clk); adc 254 drivers/iio/adc/ingenic-adc.c ret = ingenic_adc_capture(adc, chan->channel); adc 256 drivers/iio/adc/ingenic-adc.c clk_disable(adc->clk); adc 262 drivers/iio/adc/ingenic-adc.c *val = readw(adc->base + JZ_ADC_REG_ADSDAT); adc 265 drivers/iio/adc/ingenic-adc.c *val = readw(adc->base + JZ_ADC_REG_ADBDAT); adc 269 drivers/iio/adc/ingenic-adc.c clk_disable(adc->clk); adc 279 drivers/iio/adc/ingenic-adc.c if (adc->low_vref_mode) { adc 283 drivers/iio/adc/ingenic-adc.c *val = adc->soc_data->battery_high_vref; adc 284 drivers/iio/adc/ingenic-adc.c *val2 = adc->soc_data->battery_high_vref_bits; adc 331 drivers/iio/adc/ingenic-adc.c struct ingenic_adc *adc; adc 340 drivers/iio/adc/ingenic-adc.c iio_dev = devm_iio_device_alloc(dev, sizeof(*adc)); adc 344 drivers/iio/adc/ingenic-adc.c adc = iio_priv(iio_dev); adc 345 drivers/iio/adc/ingenic-adc.c mutex_init(&adc->lock); adc 346 drivers/iio/adc/ingenic-adc.c adc->soc_data = soc_data; adc 349 drivers/iio/adc/ingenic-adc.c adc->base = devm_ioremap_resource(dev, mem_base); adc 350 drivers/iio/adc/ingenic-adc.c if (IS_ERR(adc->base)) adc 351 drivers/iio/adc/ingenic-adc.c return PTR_ERR(adc->base); adc 353 drivers/iio/adc/ingenic-adc.c adc->clk = devm_clk_get(dev, "adc"); adc 354 drivers/iio/adc/ingenic-adc.c if (IS_ERR(adc->clk)) { adc 356 drivers/iio/adc/ingenic-adc.c return PTR_ERR(adc->clk); adc 359 drivers/iio/adc/ingenic-adc.c ret = clk_prepare_enable(adc->clk); adc 367 drivers/iio/adc/ingenic-adc.c ret = soc_data->init_clk_div(dev, adc); adc 369 drivers/iio/adc/ingenic-adc.c clk_disable_unprepare(adc->clk); adc 375 drivers/iio/adc/ingenic-adc.c writeb(0x00, adc->base + JZ_ADC_REG_ENABLE); adc 376 drivers/iio/adc/ingenic-adc.c writeb(0xff, adc->base + JZ_ADC_REG_CTRL); adc 377 drivers/iio/adc/ingenic-adc.c clk_disable(adc->clk); adc 379 drivers/iio/adc/ingenic-adc.c ret = devm_add_action_or_reset(dev, ingenic_adc_clk_cleanup, adc->clk); adc 48 drivers/iio/adc/lp8788_adc.c static int lp8788_get_adc_result(struct lp8788_adc *adc, enum lp8788_adc_id id, adc 61 drivers/iio/adc/lp8788_adc.c ret = lp8788_write_byte(adc->lp, LP8788_ADC_CONF, data); adc 70 drivers/iio/adc/lp8788_adc.c ret = lp8788_read_byte(adc->lp, LP8788_ADC_DONE, &data); adc 79 drivers/iio/adc/lp8788_adc.c ret = lp8788_read_multi_bytes(adc->lp, LP8788_ADC_RAW, rawdata, size); adc 98 drivers/iio/adc/lp8788_adc.c struct lp8788_adc *adc = iio_priv(indio_dev); adc 102 drivers/iio/adc/lp8788_adc.c mutex_lock(&adc->lock); adc 106 drivers/iio/adc/lp8788_adc.c ret = lp8788_get_adc_result(adc, id, val) ? -EIO : IIO_VAL_INT; adc 118 drivers/iio/adc/lp8788_adc.c mutex_unlock(&adc->lock); adc 168 drivers/iio/adc/lp8788_adc.c struct lp8788_adc *adc) adc 182 drivers/iio/adc/lp8788_adc.c adc->map = map; adc 190 drivers/iio/adc/lp8788_adc.c struct lp8788_adc *adc; adc 193 drivers/iio/adc/lp8788_adc.c indio_dev = devm_iio_device_alloc(&pdev->dev, sizeof(*adc)); adc 197 drivers/iio/adc/lp8788_adc.c adc = iio_priv(indio_dev); adc 198 drivers/iio/adc/lp8788_adc.c adc->lp = lp; adc 202 drivers/iio/adc/lp8788_adc.c ret = lp8788_iio_map_register(indio_dev, lp->pdata, adc); adc 206 drivers/iio/adc/lp8788_adc.c mutex_init(&adc->lock); adc 70 drivers/iio/adc/lpc18xx_adc.c static int lpc18xx_adc_read_chan(struct lpc18xx_adc *adc, unsigned int ch) adc 75 drivers/iio/adc/lpc18xx_adc.c reg = adc->cr_reg | BIT(ch) | LPC18XX_ADC_CR_START_NOW; adc 76 drivers/iio/adc/lpc18xx_adc.c writel(reg, adc->base + LPC18XX_ADC_CR); adc 78 drivers/iio/adc/lpc18xx_adc.c ret = readl_poll_timeout(adc->base + LPC18XX_ADC_GDR, reg, adc 81 drivers/iio/adc/lpc18xx_adc.c dev_warn(adc->dev, "adc read timed out\n"); adc 92 drivers/iio/adc/lpc18xx_adc.c struct lpc18xx_adc *adc = iio_priv(indio_dev); adc 96 drivers/iio/adc/lpc18xx_adc.c mutex_lock(&adc->lock); adc 97 drivers/iio/adc/lpc18xx_adc.c *val = lpc18xx_adc_read_chan(adc, chan->channel); adc 98 drivers/iio/adc/lpc18xx_adc.c mutex_unlock(&adc->lock); adc 105 drivers/iio/adc/lpc18xx_adc.c *val = regulator_get_voltage(adc->vref) / 1000; adc 121 drivers/iio/adc/lpc18xx_adc.c struct lpc18xx_adc *adc; adc 127 drivers/iio/adc/lpc18xx_adc.c indio_dev = devm_iio_device_alloc(&pdev->dev, sizeof(*adc)); adc 132 drivers/iio/adc/lpc18xx_adc.c adc = iio_priv(indio_dev); adc 133 drivers/iio/adc/lpc18xx_adc.c adc->dev = &pdev->dev; adc 134 drivers/iio/adc/lpc18xx_adc.c mutex_init(&adc->lock); adc 137 drivers/iio/adc/lpc18xx_adc.c adc->base = devm_ioremap_resource(&pdev->dev, res); adc 138 drivers/iio/adc/lpc18xx_adc.c if (IS_ERR(adc->base)) adc 139 drivers/iio/adc/lpc18xx_adc.c return PTR_ERR(adc->base); adc 141 drivers/iio/adc/lpc18xx_adc.c adc->clk = devm_clk_get(&pdev->dev, NULL); adc 142 drivers/iio/adc/lpc18xx_adc.c if (IS_ERR(adc->clk)) { adc 144 drivers/iio/adc/lpc18xx_adc.c return PTR_ERR(adc->clk); adc 147 drivers/iio/adc/lpc18xx_adc.c rate = clk_get_rate(adc->clk); adc 150 drivers/iio/adc/lpc18xx_adc.c adc->vref = devm_regulator_get(&pdev->dev, "vref"); adc 151 drivers/iio/adc/lpc18xx_adc.c if (IS_ERR(adc->vref)) { adc 153 drivers/iio/adc/lpc18xx_adc.c return PTR_ERR(adc->vref); adc 163 drivers/iio/adc/lpc18xx_adc.c ret = regulator_enable(adc->vref); adc 169 drivers/iio/adc/lpc18xx_adc.c ret = clk_prepare_enable(adc->clk); adc 175 drivers/iio/adc/lpc18xx_adc.c adc->cr_reg = (clkdiv << LPC18XX_ADC_CR_CLKDIV_SHIFT) | adc 177 drivers/iio/adc/lpc18xx_adc.c writel(adc->cr_reg, adc->base + LPC18XX_ADC_CR); adc 188 drivers/iio/adc/lpc18xx_adc.c writel(0, adc->base + LPC18XX_ADC_CR); adc 189 drivers/iio/adc/lpc18xx_adc.c clk_disable_unprepare(adc->clk); adc 191 drivers/iio/adc/lpc18xx_adc.c regulator_disable(adc->vref); adc 198 drivers/iio/adc/lpc18xx_adc.c struct lpc18xx_adc *adc = iio_priv(indio_dev); adc 202 drivers/iio/adc/lpc18xx_adc.c writel(0, adc->base + LPC18XX_ADC_CR); adc 203 drivers/iio/adc/lpc18xx_adc.c clk_disable_unprepare(adc->clk); adc 204 drivers/iio/adc/lpc18xx_adc.c regulator_disable(adc->vref); adc 66 drivers/iio/adc/max1118.c struct max1118 *adc = iio_priv(indio_dev); adc 87 drivers/iio/adc/max1118.c .rx_buf = &adc->data, adc 101 drivers/iio/adc/max1118.c return adc->data; adc 107 drivers/iio/adc/max1118.c struct max1118 *adc = iio_priv(indio_dev); adc 117 drivers/iio/adc/max1118.c vref_uV = regulator_get_voltage(adc->reg); adc 130 drivers/iio/adc/max1118.c struct max1118 *adc = iio_priv(indio_dev); adc 134 drivers/iio/adc/max1118.c mutex_lock(&adc->lock); adc 135 drivers/iio/adc/max1118.c *val = max1118_read(adc->spi, chan->channel); adc 136 drivers/iio/adc/max1118.c mutex_unlock(&adc->lock); adc 142 drivers/iio/adc/max1118.c *val = max1118_get_vref_mV(adc->spi); adc 161 drivers/iio/adc/max1118.c struct max1118 *adc = iio_priv(indio_dev); adc 166 drivers/iio/adc/max1118.c mutex_lock(&adc->lock); adc 172 drivers/iio/adc/max1118.c int ret = max1118_read(adc->spi, scan_chan->channel); adc 175 drivers/iio/adc/max1118.c dev_warn(&adc->spi->dev, adc 186 drivers/iio/adc/max1118.c mutex_unlock(&adc->lock); adc 196 drivers/iio/adc/max1118.c struct max1118 *adc; adc 200 drivers/iio/adc/max1118.c indio_dev = devm_iio_device_alloc(&spi->dev, sizeof(*adc)); adc 204 drivers/iio/adc/max1118.c adc = iio_priv(indio_dev); adc 205 drivers/iio/adc/max1118.c adc->spi = spi; adc 206 drivers/iio/adc/max1118.c mutex_init(&adc->lock); adc 209 drivers/iio/adc/max1118.c adc->reg = devm_regulator_get(&spi->dev, "vref"); adc 210 drivers/iio/adc/max1118.c if (IS_ERR(adc->reg)) { adc 212 drivers/iio/adc/max1118.c return PTR_ERR(adc->reg); adc 214 drivers/iio/adc/max1118.c ret = regulator_enable(adc->reg); adc 251 drivers/iio/adc/max1118.c regulator_disable(adc->reg); adc 259 drivers/iio/adc/max1118.c struct max1118 *adc = iio_priv(indio_dev); adc 265 drivers/iio/adc/max1118.c return regulator_disable(adc->reg); adc 119 drivers/iio/adc/mcp320x.c static int mcp320x_adc_conversion(struct mcp320x *adc, u8 channel, adc 124 drivers/iio/adc/mcp320x.c if (adc->chip_info->conv_time) { adc 125 drivers/iio/adc/mcp320x.c ret = spi_sync(adc->spi, &adc->start_conv_msg); adc 129 drivers/iio/adc/mcp320x.c usleep_range(adc->chip_info->conv_time, adc 130 drivers/iio/adc/mcp320x.c adc->chip_info->conv_time + 100); adc 133 drivers/iio/adc/mcp320x.c memset(&adc->rx_buf, 0, sizeof(adc->rx_buf)); adc 134 drivers/iio/adc/mcp320x.c if (adc->chip_info->num_channels > 1) adc 135 drivers/iio/adc/mcp320x.c adc->tx_buf = mcp320x_channel_to_tx_data(device_index, channel, adc 138 drivers/iio/adc/mcp320x.c ret = spi_sync(adc->spi, &adc->msg); adc 144 drivers/iio/adc/mcp320x.c *val = (adc->rx_buf[0] << 5 | adc->rx_buf[1] >> 3); adc 149 drivers/iio/adc/mcp320x.c *val = (adc->rx_buf[0] << 2 | adc->rx_buf[1] >> 6); adc 152 drivers/iio/adc/mcp320x.c *val = (adc->rx_buf[0] << 7 | adc->rx_buf[1] >> 1); adc 157 drivers/iio/adc/mcp320x.c *val = (adc->rx_buf[0] << 4 | adc->rx_buf[1] >> 4); adc 160 drivers/iio/adc/mcp320x.c *val = sign_extend32((adc->rx_buf[0] & 0x1f) << 8 adc 161 drivers/iio/adc/mcp320x.c | adc->rx_buf[1], 12); adc 167 drivers/iio/adc/mcp320x.c u32 raw = be32_to_cpup((u32 *)adc->rx_buf); adc 169 drivers/iio/adc/mcp320x.c if (!(adc->spi->mode & SPI_CPOL)) adc 197 drivers/iio/adc/mcp320x.c struct mcp320x *adc = iio_priv(indio_dev); adc 201 drivers/iio/adc/mcp320x.c mutex_lock(&adc->lock); adc 203 drivers/iio/adc/mcp320x.c device_index = spi_get_device_id(adc->spi)->driver_data; adc 207 drivers/iio/adc/mcp320x.c ret = mcp320x_adc_conversion(adc, channel->address, adc 216 drivers/iio/adc/mcp320x.c ret = regulator_get_voltage(adc->reg); adc 222 drivers/iio/adc/mcp320x.c *val2 = adc->chip_info->resolution; adc 228 drivers/iio/adc/mcp320x.c mutex_unlock(&adc->lock); adc 376 drivers/iio/adc/mcp320x.c struct mcp320x *adc; adc 380 drivers/iio/adc/mcp320x.c indio_dev = devm_iio_device_alloc(&spi->dev, sizeof(*adc)); adc 384 drivers/iio/adc/mcp320x.c adc = iio_priv(indio_dev); adc 385 drivers/iio/adc/mcp320x.c adc->spi = spi; adc 399 drivers/iio/adc/mcp320x.c adc->chip_info = chip_info; adc 401 drivers/iio/adc/mcp320x.c adc->transfer[0].tx_buf = &adc->tx_buf; adc 402 drivers/iio/adc/mcp320x.c adc->transfer[0].len = sizeof(adc->tx_buf); adc 403 drivers/iio/adc/mcp320x.c adc->transfer[1].rx_buf = adc->rx_buf; adc 404 drivers/iio/adc/mcp320x.c adc->transfer[1].len = DIV_ROUND_UP(chip_info->resolution, 8); adc 408 drivers/iio/adc/mcp320x.c spi_message_init_with_transfers(&adc->msg, adc 409 drivers/iio/adc/mcp320x.c &adc->transfer[1], 1); adc 411 drivers/iio/adc/mcp320x.c spi_message_init_with_transfers(&adc->msg, adc->transfer, adc 412 drivers/iio/adc/mcp320x.c ARRAY_SIZE(adc->transfer)); adc 421 drivers/iio/adc/mcp320x.c adc->transfer[1].len++; adc 424 drivers/iio/adc/mcp320x.c adc->start_conv_transfer.delay_usecs = 8; adc 425 drivers/iio/adc/mcp320x.c spi_message_init_with_transfers(&adc->start_conv_msg, adc 426 drivers/iio/adc/mcp320x.c &adc->start_conv_transfer, 1); adc 436 drivers/iio/adc/mcp320x.c mcp320x_adc_conversion(adc, 0, 1, device_index, &ret); adc 437 drivers/iio/adc/mcp320x.c mcp320x_adc_conversion(adc, 0, 1, device_index, &ret); adc 440 drivers/iio/adc/mcp320x.c adc->reg = devm_regulator_get(&spi->dev, "vref"); adc 441 drivers/iio/adc/mcp320x.c if (IS_ERR(adc->reg)) adc 442 drivers/iio/adc/mcp320x.c return PTR_ERR(adc->reg); adc 444 drivers/iio/adc/mcp320x.c ret = regulator_enable(adc->reg); adc 448 drivers/iio/adc/mcp320x.c mutex_init(&adc->lock); adc 457 drivers/iio/adc/mcp320x.c regulator_disable(adc->reg); adc 465 drivers/iio/adc/mcp320x.c struct mcp320x *adc = iio_priv(indio_dev); adc 468 drivers/iio/adc/mcp320x.c regulator_disable(adc->reg); adc 94 drivers/iio/adc/mcp3422.c static int mcp3422_update_config(struct mcp3422 *adc, u8 newconfig) adc 98 drivers/iio/adc/mcp3422.c mutex_lock(&adc->lock); adc 100 drivers/iio/adc/mcp3422.c ret = i2c_master_send(adc->i2c, &newconfig, 1); adc 102 drivers/iio/adc/mcp3422.c adc->config = newconfig; adc 106 drivers/iio/adc/mcp3422.c mutex_unlock(&adc->lock); adc 111 drivers/iio/adc/mcp3422.c static int mcp3422_read(struct mcp3422 *adc, int *value, u8 *config) adc 114 drivers/iio/adc/mcp3422.c u8 sample_rate = MCP3422_SAMPLE_RATE(adc->config); adc 119 drivers/iio/adc/mcp3422.c ret = i2c_master_recv(adc->i2c, buf, 4); adc 123 drivers/iio/adc/mcp3422.c ret = i2c_master_recv(adc->i2c, buf, 3); adc 133 drivers/iio/adc/mcp3422.c static int mcp3422_read_channel(struct mcp3422 *adc, adc 140 drivers/iio/adc/mcp3422.c if (req_channel != MCP3422_CHANNEL(adc->config)) { adc 141 drivers/iio/adc/mcp3422.c config = adc->config; adc 145 drivers/iio/adc/mcp3422.c config |= MCP3422_PGA_VALUE(adc->pga[req_channel]); adc 146 drivers/iio/adc/mcp3422.c ret = mcp3422_update_config(adc, config); adc 149 drivers/iio/adc/mcp3422.c msleep(mcp3422_read_times[MCP3422_SAMPLE_RATE(adc->config)]); adc 152 drivers/iio/adc/mcp3422.c return mcp3422_read(adc, value, &config); adc 159 drivers/iio/adc/mcp3422.c struct mcp3422 *adc = iio_priv(iio); adc 162 drivers/iio/adc/mcp3422.c u8 sample_rate = MCP3422_SAMPLE_RATE(adc->config); adc 163 drivers/iio/adc/mcp3422.c u8 pga = MCP3422_PGA(adc->config); adc 167 drivers/iio/adc/mcp3422.c err = mcp3422_read_channel(adc, channel, val1); adc 179 drivers/iio/adc/mcp3422.c *val1 = mcp3422_sample_rates[MCP3422_SAMPLE_RATE(adc->config)]; adc 193 drivers/iio/adc/mcp3422.c struct mcp3422 *adc = iio_priv(iio); adc 195 drivers/iio/adc/mcp3422.c u8 config = adc->config; adc 207 drivers/iio/adc/mcp3422.c adc->pga[req_channel] = i; adc 212 drivers/iio/adc/mcp3422.c config |= MCP3422_PGA_VALUE(adc->pga[req_channel]); adc 214 drivers/iio/adc/mcp3422.c return mcp3422_update_config(adc, config); adc 231 drivers/iio/adc/mcp3422.c if (adc->id > 4) adc 244 drivers/iio/adc/mcp3422.c return mcp3422_update_config(adc, config); adc 269 drivers/iio/adc/mcp3422.c struct mcp3422 *adc = iio_priv(dev_to_iio_dev(dev)); adc 271 drivers/iio/adc/mcp3422.c if (adc->id > 4) adc 280 drivers/iio/adc/mcp3422.c struct mcp3422 *adc = iio_priv(dev_to_iio_dev(dev)); adc 281 drivers/iio/adc/mcp3422.c u8 sample_rate = MCP3422_SAMPLE_RATE(adc->config); adc 332 drivers/iio/adc/mcp3422.c struct mcp3422 *adc; adc 339 drivers/iio/adc/mcp3422.c indio_dev = devm_iio_device_alloc(&client->dev, sizeof(*adc)); adc 343 drivers/iio/adc/mcp3422.c adc = iio_priv(indio_dev); adc 344 drivers/iio/adc/mcp3422.c adc->i2c = client; adc 345 drivers/iio/adc/mcp3422.c adc->id = (u8)(id->driver_data); adc 347 drivers/iio/adc/mcp3422.c mutex_init(&adc->lock); adc 355 drivers/iio/adc/mcp3422.c switch (adc->id) { adc 380 drivers/iio/adc/mcp3422.c err = mcp3422_update_config(adc, config); adc 57 drivers/iio/adc/mcp3911.c static int mcp3911_read(struct mcp3911 *adc, u8 reg, u32 *val, u8 len) adc 61 drivers/iio/adc/mcp3911.c reg = MCP3911_REG_READ(reg, adc->dev_addr); adc 62 drivers/iio/adc/mcp3911.c ret = spi_write_then_read(adc->spi, ®, 1, val, len); adc 68 drivers/iio/adc/mcp3911.c dev_dbg(&adc->spi->dev, "reading 0x%x from register 0x%x\n", *val, adc 73 drivers/iio/adc/mcp3911.c static int mcp3911_write(struct mcp3911 *adc, u8 reg, u32 val, u8 len) adc 75 drivers/iio/adc/mcp3911.c dev_dbg(&adc->spi->dev, "writing 0x%x to register 0x%x\n", val, reg); adc 79 drivers/iio/adc/mcp3911.c val |= MCP3911_REG_WRITE(reg, adc->dev_addr); adc 81 drivers/iio/adc/mcp3911.c return spi_write(adc->spi, &val, len + 1); adc 84 drivers/iio/adc/mcp3911.c static int mcp3911_update(struct mcp3911 *adc, u8 reg, u32 mask, adc 90 drivers/iio/adc/mcp3911.c ret = mcp3911_read(adc, reg, &tmp, len); adc 96 drivers/iio/adc/mcp3911.c return mcp3911_write(adc, reg, val, len); adc 103 drivers/iio/adc/mcp3911.c struct mcp3911 *adc = iio_priv(indio_dev); adc 106 drivers/iio/adc/mcp3911.c mutex_lock(&adc->lock); adc 109 drivers/iio/adc/mcp3911.c ret = mcp3911_read(adc, adc 118 drivers/iio/adc/mcp3911.c ret = mcp3911_read(adc, adc 127 drivers/iio/adc/mcp3911.c if (adc->vref) { adc 128 drivers/iio/adc/mcp3911.c ret = regulator_get_voltage(adc->vref); adc 147 drivers/iio/adc/mcp3911.c mutex_unlock(&adc->lock); adc 155 drivers/iio/adc/mcp3911.c struct mcp3911 *adc = iio_priv(indio_dev); adc 158 drivers/iio/adc/mcp3911.c mutex_lock(&adc->lock); adc 167 drivers/iio/adc/mcp3911.c ret = mcp3911_write(adc, MCP3911_OFFCAL(channel->channel), val, adc 173 drivers/iio/adc/mcp3911.c ret = mcp3911_update(adc, MCP3911_REG_STATUSCOM, adc 180 drivers/iio/adc/mcp3911.c mutex_unlock(&adc->lock); adc 203 drivers/iio/adc/mcp3911.c static int mcp3911_config(struct mcp3911 *adc, struct device_node *of_node) adc 208 drivers/iio/adc/mcp3911.c of_property_read_u32(of_node, "device-addr", &adc->dev_addr); adc 209 drivers/iio/adc/mcp3911.c if (adc->dev_addr > 3) { adc 210 drivers/iio/adc/mcp3911.c dev_err(&adc->spi->dev, adc 212 drivers/iio/adc/mcp3911.c adc->dev_addr); adc 215 drivers/iio/adc/mcp3911.c dev_dbg(&adc->spi->dev, "use device address %i\n", adc->dev_addr); adc 217 drivers/iio/adc/mcp3911.c ret = mcp3911_read(adc, MCP3911_REG_CONFIG, &configreg, 2); adc 221 drivers/iio/adc/mcp3911.c if (adc->vref) { adc 222 drivers/iio/adc/mcp3911.c dev_dbg(&adc->spi->dev, "use external voltage reference\n"); adc 225 drivers/iio/adc/mcp3911.c dev_dbg(&adc->spi->dev, adc 230 drivers/iio/adc/mcp3911.c if (adc->clki) { adc 231 drivers/iio/adc/mcp3911.c dev_dbg(&adc->spi->dev, "use external clock as clocksource\n"); adc 234 drivers/iio/adc/mcp3911.c dev_dbg(&adc->spi->dev, adc 239 drivers/iio/adc/mcp3911.c return mcp3911_write(adc, MCP3911_REG_CONFIG, configreg, 2); adc 245 drivers/iio/adc/mcp3911.c struct mcp3911 *adc; adc 248 drivers/iio/adc/mcp3911.c indio_dev = devm_iio_device_alloc(&spi->dev, sizeof(*adc)); adc 252 drivers/iio/adc/mcp3911.c adc = iio_priv(indio_dev); adc 253 drivers/iio/adc/mcp3911.c adc->spi = spi; adc 255 drivers/iio/adc/mcp3911.c adc->vref = devm_regulator_get_optional(&adc->spi->dev, "vref"); adc 256 drivers/iio/adc/mcp3911.c if (IS_ERR(adc->vref)) { adc 257 drivers/iio/adc/mcp3911.c if (PTR_ERR(adc->vref) == -ENODEV) { adc 258 drivers/iio/adc/mcp3911.c adc->vref = NULL; adc 260 drivers/iio/adc/mcp3911.c dev_err(&adc->spi->dev, adc 262 drivers/iio/adc/mcp3911.c PTR_ERR(adc->vref)); adc 263 drivers/iio/adc/mcp3911.c return PTR_ERR(adc->vref); adc 267 drivers/iio/adc/mcp3911.c ret = regulator_enable(adc->vref); adc 272 drivers/iio/adc/mcp3911.c adc->clki = devm_clk_get(&adc->spi->dev, NULL); adc 273 drivers/iio/adc/mcp3911.c if (IS_ERR(adc->clki)) { adc 274 drivers/iio/adc/mcp3911.c if (PTR_ERR(adc->clki) == -ENOENT) { adc 275 drivers/iio/adc/mcp3911.c adc->clki = NULL; adc 277 drivers/iio/adc/mcp3911.c dev_err(&adc->spi->dev, adc 279 drivers/iio/adc/mcp3911.c PTR_ERR(adc->clki)); adc 280 drivers/iio/adc/mcp3911.c ret = PTR_ERR(adc->clki); adc 284 drivers/iio/adc/mcp3911.c ret = clk_prepare_enable(adc->clki); adc 286 drivers/iio/adc/mcp3911.c dev_err(&adc->spi->dev, adc 292 drivers/iio/adc/mcp3911.c ret = mcp3911_config(adc, spi->dev.of_node); adc 306 drivers/iio/adc/mcp3911.c mutex_init(&adc->lock); adc 315 drivers/iio/adc/mcp3911.c clk_disable_unprepare(adc->clki); adc 317 drivers/iio/adc/mcp3911.c if (adc->vref) adc 318 drivers/iio/adc/mcp3911.c regulator_disable(adc->vref); adc 326 drivers/iio/adc/mcp3911.c struct mcp3911 *adc = iio_priv(indio_dev); adc 330 drivers/iio/adc/mcp3911.c clk_disable_unprepare(adc->clki); adc 331 drivers/iio/adc/mcp3911.c if (adc->vref) adc 332 drivers/iio/adc/mcp3911.c regulator_disable(adc->vref); adc 53 drivers/iio/adc/men_z188_adc.c struct z188_adc *adc = iio_priv(iio_dev); adc 59 drivers/iio/adc/men_z188_adc.c tmp = readw(adc->base + chan->channel * 4); adc 103 drivers/iio/adc/men_z188_adc.c struct z188_adc *adc; adc 111 drivers/iio/adc/men_z188_adc.c adc = iio_priv(indio_dev); adc 123 drivers/iio/adc/men_z188_adc.c adc->base = ioremap(mem->start, resource_size(mem)); adc 124 drivers/iio/adc/men_z188_adc.c if (adc->base == NULL) adc 127 drivers/iio/adc/men_z188_adc.c men_z188_config_channels(adc->base); adc 129 drivers/iio/adc/men_z188_adc.c adc->mem = mem; adc 142 drivers/iio/adc/men_z188_adc.c struct z188_adc *adc = iio_priv(indio_dev); adc 145 drivers/iio/adc/men_z188_adc.c iounmap(adc->base); adc 146 drivers/iio/adc/men_z188_adc.c mcb_release_mem(adc->mem); adc 133 drivers/iio/adc/mxs-lradc-adc.c struct mxs_lradc_adc *adc = iio_priv(iio_dev); adc 134 drivers/iio/adc/mxs-lradc-adc.c struct mxs_lradc *lradc = adc->lradc; adc 147 drivers/iio/adc/mxs-lradc-adc.c reinit_completion(&adc->completion); adc 156 drivers/iio/adc/mxs-lradc-adc.c adc->base + LRADC_CTRL1 + STMP_OFFSET_REG_CLR); adc 157 drivers/iio/adc/mxs-lradc-adc.c writel(0x1, adc->base + LRADC_CTRL0 + STMP_OFFSET_REG_CLR); adc 160 drivers/iio/adc/mxs-lradc-adc.c if (test_bit(chan, &adc->is_divided)) adc 162 drivers/iio/adc/mxs-lradc-adc.c adc->base + LRADC_CTRL2 + STMP_OFFSET_REG_SET); adc 165 drivers/iio/adc/mxs-lradc-adc.c adc->base + LRADC_CTRL2 + STMP_OFFSET_REG_CLR); adc 169 drivers/iio/adc/mxs-lradc-adc.c adc->base + LRADC_CTRL4 + STMP_OFFSET_REG_CLR); adc 170 drivers/iio/adc/mxs-lradc-adc.c writel(chan, adc->base + LRADC_CTRL4 + STMP_OFFSET_REG_SET); adc 172 drivers/iio/adc/mxs-lradc-adc.c writel(0, adc->base + LRADC_CH(0)); adc 176 drivers/iio/adc/mxs-lradc-adc.c adc->base + LRADC_CTRL1 + STMP_OFFSET_REG_SET); adc 177 drivers/iio/adc/mxs-lradc-adc.c writel(BIT(0), adc->base + LRADC_CTRL0 + STMP_OFFSET_REG_SET); adc 180 drivers/iio/adc/mxs-lradc-adc.c ret = wait_for_completion_killable_timeout(&adc->completion, HZ); adc 187 drivers/iio/adc/mxs-lradc-adc.c *val = readl(adc->base + LRADC_CH(0)) & LRADC_CH_VALUE_MASK; adc 192 drivers/iio/adc/mxs-lradc-adc.c adc->base + LRADC_CTRL1 + STMP_OFFSET_REG_CLR); adc 220 drivers/iio/adc/mxs-lradc-adc.c struct mxs_lradc_adc *adc = iio_priv(iio_dev); adc 240 drivers/iio/adc/mxs-lradc-adc.c *val = adc->vref_mv[chan->channel]; adc 242 drivers/iio/adc/mxs-lradc-adc.c test_bit(chan->channel, &adc->is_divided); adc 272 drivers/iio/adc/mxs-lradc-adc.c struct mxs_lradc_adc *adc = iio_priv(iio_dev); adc 274 drivers/iio/adc/mxs-lradc-adc.c adc->scale_avail[chan->channel]; adc 287 drivers/iio/adc/mxs-lradc-adc.c clear_bit(chan->channel, &adc->is_divided); adc 292 drivers/iio/adc/mxs-lradc-adc.c set_bit(chan->channel, &adc->is_divided); adc 319 drivers/iio/adc/mxs-lradc-adc.c struct mxs_lradc_adc *adc = iio_priv(iio); adc 324 drivers/iio/adc/mxs-lradc-adc.c for (i = 0; i < ARRAY_SIZE(adc->scale_avail[ch]); i++) adc 326 drivers/iio/adc/mxs-lradc-adc.c adc->scale_avail[ch][i].integer, adc 327 drivers/iio/adc/mxs-lradc-adc.c adc->scale_avail[ch][i].nano); adc 386 drivers/iio/adc/mxs-lradc-adc.c struct mxs_lradc_adc *adc = iio_priv(iio); adc 387 drivers/iio/adc/mxs-lradc-adc.c struct mxs_lradc *lradc = adc->lradc; adc 388 drivers/iio/adc/mxs-lradc-adc.c unsigned long reg = readl(adc->base + LRADC_CTRL1); adc 396 drivers/iio/adc/mxs-lradc-adc.c spin_lock_irqsave(&adc->lock, flags); adc 398 drivers/iio/adc/mxs-lradc-adc.c spin_unlock_irqrestore(&adc->lock, flags); adc 401 drivers/iio/adc/mxs-lradc-adc.c complete(&adc->completion); adc 405 drivers/iio/adc/mxs-lradc-adc.c adc->base + LRADC_CTRL1 + STMP_OFFSET_REG_CLR); adc 416 drivers/iio/adc/mxs-lradc-adc.c struct mxs_lradc_adc *adc = iio_priv(iio); adc 422 drivers/iio/adc/mxs-lradc-adc.c adc->buffer[j] = readl(adc->base + LRADC_CH(j)); adc 423 drivers/iio/adc/mxs-lradc-adc.c writel(chan_value, adc->base + LRADC_CH(j)); adc 424 drivers/iio/adc/mxs-lradc-adc.c adc->buffer[j] &= LRADC_CH_VALUE_MASK; adc 425 drivers/iio/adc/mxs-lradc-adc.c adc->buffer[j] /= LRADC_DELAY_TIMER_LOOP; adc 429 drivers/iio/adc/mxs-lradc-adc.c iio_push_to_buffers_with_timestamp(iio, adc->buffer, pf->timestamp); adc 439 drivers/iio/adc/mxs-lradc-adc.c struct mxs_lradc_adc *adc = iio_priv(iio); adc 442 drivers/iio/adc/mxs-lradc-adc.c writel(LRADC_DELAY_KICK, adc->base + (LRADC_DELAY(0) + st)); adc 455 drivers/iio/adc/mxs-lradc-adc.c struct mxs_lradc_adc *adc = iio_priv(iio); adc 462 drivers/iio/adc/mxs-lradc-adc.c trig->dev.parent = adc->dev; adc 470 drivers/iio/adc/mxs-lradc-adc.c adc->trig = trig; adc 477 drivers/iio/adc/mxs-lradc-adc.c struct mxs_lradc_adc *adc = iio_priv(iio); adc 479 drivers/iio/adc/mxs-lradc-adc.c iio_trigger_unregister(adc->trig); adc 484 drivers/iio/adc/mxs-lradc-adc.c struct mxs_lradc_adc *adc = iio_priv(iio); adc 485 drivers/iio/adc/mxs-lradc-adc.c struct mxs_lradc *lradc = adc->lradc; adc 496 drivers/iio/adc/mxs-lradc-adc.c adc->base + LRADC_CTRL1 + STMP_OFFSET_REG_CLR); adc 498 drivers/iio/adc/mxs-lradc-adc.c adc->base + LRADC_CTRL0 + STMP_OFFSET_REG_CLR); adc 504 drivers/iio/adc/mxs-lradc-adc.c writel(chan_value, adc->base + LRADC_CH(ofs)); adc 510 drivers/iio/adc/mxs-lradc-adc.c adc->base + LRADC_DELAY(0) + STMP_OFFSET_REG_CLR); adc 511 drivers/iio/adc/mxs-lradc-adc.c writel(ctrl4_clr, adc->base + LRADC_CTRL4 + STMP_OFFSET_REG_CLR); adc 512 drivers/iio/adc/mxs-lradc-adc.c writel(ctrl4_set, adc->base + LRADC_CTRL4 + STMP_OFFSET_REG_SET); adc 513 drivers/iio/adc/mxs-lradc-adc.c writel(ctrl1_irq, adc->base + LRADC_CTRL1 + STMP_OFFSET_REG_SET); adc 515 drivers/iio/adc/mxs-lradc-adc.c adc->base + LRADC_DELAY(0) + STMP_OFFSET_REG_SET); adc 522 drivers/iio/adc/mxs-lradc-adc.c struct mxs_lradc_adc *adc = iio_priv(iio); adc 523 drivers/iio/adc/mxs-lradc-adc.c struct mxs_lradc *lradc = adc->lradc; adc 526 drivers/iio/adc/mxs-lradc-adc.c adc->base + LRADC_DELAY(0) + STMP_OFFSET_REG_CLR); adc 529 drivers/iio/adc/mxs-lradc-adc.c adc->base + LRADC_CTRL0 + STMP_OFFSET_REG_CLR); adc 532 drivers/iio/adc/mxs-lradc-adc.c adc->base + LRADC_CTRL1 + STMP_OFFSET_REG_CLR); adc 540 drivers/iio/adc/mxs-lradc-adc.c struct mxs_lradc_adc *adc = iio_priv(iio); adc 541 drivers/iio/adc/mxs-lradc-adc.c struct mxs_lradc *lradc = adc->lradc; adc 666 drivers/iio/adc/mxs-lradc-adc.c static void mxs_lradc_adc_hw_init(struct mxs_lradc_adc *adc) adc 674 drivers/iio/adc/mxs-lradc-adc.c writel(adc_cfg, adc->base + LRADC_DELAY(0)); adc 681 drivers/iio/adc/mxs-lradc-adc.c writel(0, adc->base + LRADC_CTRL2); adc 684 drivers/iio/adc/mxs-lradc-adc.c static void mxs_lradc_adc_hw_stop(struct mxs_lradc_adc *adc) adc 686 drivers/iio/adc/mxs-lradc-adc.c writel(0, adc->base + LRADC_DELAY(0)); adc 693 drivers/iio/adc/mxs-lradc-adc.c struct mxs_lradc_adc *adc; adc 701 drivers/iio/adc/mxs-lradc-adc.c iio = devm_iio_device_alloc(dev, sizeof(*adc)); adc 707 drivers/iio/adc/mxs-lradc-adc.c adc = iio_priv(iio); adc 708 drivers/iio/adc/mxs-lradc-adc.c adc->lradc = lradc; adc 709 drivers/iio/adc/mxs-lradc-adc.c adc->dev = dev; adc 715 drivers/iio/adc/mxs-lradc-adc.c adc->base = devm_ioremap(dev, iores->start, resource_size(iores)); adc 716 drivers/iio/adc/mxs-lradc-adc.c if (!adc->base) adc 719 drivers/iio/adc/mxs-lradc-adc.c init_completion(&adc->completion); adc 720 drivers/iio/adc/mxs-lradc-adc.c spin_lock_init(&adc->lock); adc 743 drivers/iio/adc/mxs-lradc-adc.c ret = stmp_reset_block(adc->base); adc 770 drivers/iio/adc/mxs-lradc-adc.c adc->vref_mv = mxs_lradc_adc_vref_mv[lradc->soc]; adc 774 drivers/iio/adc/mxs-lradc-adc.c for (s = 0; s < ARRAY_SIZE(adc->scale_avail[i]); s++) { adc 784 drivers/iio/adc/mxs-lradc-adc.c scale_uv = ((u64)adc->vref_mv[i] * 100000000) >> adc 786 drivers/iio/adc/mxs-lradc-adc.c adc->scale_avail[i][s].nano = adc 788 drivers/iio/adc/mxs-lradc-adc.c adc->scale_avail[i][s].integer = scale_uv; adc 793 drivers/iio/adc/mxs-lradc-adc.c mxs_lradc_adc_hw_init(adc); adc 805 drivers/iio/adc/mxs-lradc-adc.c mxs_lradc_adc_hw_stop(adc); adc 815 drivers/iio/adc/mxs-lradc-adc.c struct mxs_lradc_adc *adc = iio_priv(iio); adc 818 drivers/iio/adc/mxs-lradc-adc.c mxs_lradc_adc_hw_stop(adc); adc 140 drivers/iio/adc/palmas_gpadc.c static int palmas_disable_auto_conversion(struct palmas_gpadc *adc) adc 144 drivers/iio/adc/palmas_gpadc.c ret = palmas_update_bits(adc->palmas, PALMAS_GPADC_BASE, adc 149 drivers/iio/adc/palmas_gpadc.c dev_err(adc->dev, "GPADC_CTRL1 update failed: %d\n", ret); adc 153 drivers/iio/adc/palmas_gpadc.c ret = palmas_update_bits(adc->palmas, PALMAS_GPADC_BASE, adc 159 drivers/iio/adc/palmas_gpadc.c dev_err(adc->dev, "AUTO_CTRL update failed: %d\n", ret); adc 165 drivers/iio/adc/palmas_gpadc.c ret = palmas_update_bits(adc->palmas, PALMAS_GPADC_BASE, adc 169 drivers/iio/adc/palmas_gpadc.c dev_err(adc->dev, "GPADC_CTRL1 update failed: %d\n", ret); adc 176 drivers/iio/adc/palmas_gpadc.c struct palmas_gpadc *adc = data; adc 178 drivers/iio/adc/palmas_gpadc.c complete(&adc->conv_completion); adc 185 drivers/iio/adc/palmas_gpadc.c struct palmas_gpadc *adc = data; adc 187 drivers/iio/adc/palmas_gpadc.c dev_dbg(adc->dev, "Threshold interrupt %d occurs\n", irq); adc 188 drivers/iio/adc/palmas_gpadc.c palmas_disable_auto_conversion(adc); adc 193 drivers/iio/adc/palmas_gpadc.c static int palmas_gpadc_start_mask_interrupt(struct palmas_gpadc *adc, adc 199 drivers/iio/adc/palmas_gpadc.c ret = palmas_update_bits(adc->palmas, PALMAS_INTERRUPT_BASE, adc 203 drivers/iio/adc/palmas_gpadc.c ret = palmas_update_bits(adc->palmas, PALMAS_INTERRUPT_BASE, adc 208 drivers/iio/adc/palmas_gpadc.c dev_err(adc->dev, "GPADC INT MASK update failed: %d\n", ret); adc 213 drivers/iio/adc/palmas_gpadc.c static int palmas_gpadc_enable(struct palmas_gpadc *adc, int adc_chan, adc 220 drivers/iio/adc/palmas_gpadc.c val = (adc->extended_delay adc 222 drivers/iio/adc/palmas_gpadc.c ret = palmas_update_bits(adc->palmas, PALMAS_GPADC_BASE, adc 226 drivers/iio/adc/palmas_gpadc.c dev_err(adc->dev, "RT_CTRL update failed: %d\n", ret); adc 233 drivers/iio/adc/palmas_gpadc.c val = (adc->ch0_current adc 235 drivers/iio/adc/palmas_gpadc.c val |= (adc->ch3_current adc 238 drivers/iio/adc/palmas_gpadc.c ret = palmas_update_bits(adc->palmas, PALMAS_GPADC_BASE, adc 241 drivers/iio/adc/palmas_gpadc.c dev_err(adc->dev, adc 249 drivers/iio/adc/palmas_gpadc.c ret = palmas_update_bits(adc->palmas, PALMAS_GPADC_BASE, adc 252 drivers/iio/adc/palmas_gpadc.c dev_err(adc->dev, "SW_SELECT update failed: %d\n", ret); adc 256 drivers/iio/adc/palmas_gpadc.c ret = palmas_write(adc->palmas, PALMAS_GPADC_BASE, adc 259 drivers/iio/adc/palmas_gpadc.c dev_err(adc->dev, "SW_SELECT write failed: %d\n", ret); adc 261 drivers/iio/adc/palmas_gpadc.c ret = palmas_update_bits(adc->palmas, PALMAS_GPADC_BASE, adc 265 drivers/iio/adc/palmas_gpadc.c dev_err(adc->dev, "CTRL1 update failed: %d\n", ret); adc 273 drivers/iio/adc/palmas_gpadc.c static int palmas_gpadc_read_prepare(struct palmas_gpadc *adc, int adc_chan) adc 277 drivers/iio/adc/palmas_gpadc.c ret = palmas_gpadc_enable(adc, adc_chan, true); adc 281 drivers/iio/adc/palmas_gpadc.c return palmas_gpadc_start_mask_interrupt(adc, 0); adc 284 drivers/iio/adc/palmas_gpadc.c static void palmas_gpadc_read_done(struct palmas_gpadc *adc, int adc_chan) adc 286 drivers/iio/adc/palmas_gpadc.c palmas_gpadc_start_mask_interrupt(adc, 1); adc 287 drivers/iio/adc/palmas_gpadc.c palmas_gpadc_enable(adc, adc_chan, false); adc 290 drivers/iio/adc/palmas_gpadc.c static int palmas_gpadc_calibrate(struct palmas_gpadc *adc, int adc_chan) adc 297 drivers/iio/adc/palmas_gpadc.c int x1 = adc->adc_info[adc_chan].x1; adc 298 drivers/iio/adc/palmas_gpadc.c int x2 = adc->adc_info[adc_chan].x2; adc 299 drivers/iio/adc/palmas_gpadc.c int v1 = adc->adc_info[adc_chan].v1; adc 300 drivers/iio/adc/palmas_gpadc.c int v2 = adc->adc_info[adc_chan].v2; adc 302 drivers/iio/adc/palmas_gpadc.c ret = palmas_read(adc->palmas, PALMAS_TRIM_GPADC_BASE, adc 303 drivers/iio/adc/palmas_gpadc.c adc->adc_info[adc_chan].trim1_reg, &d1); adc 305 drivers/iio/adc/palmas_gpadc.c dev_err(adc->dev, "TRIM read failed: %d\n", ret); adc 309 drivers/iio/adc/palmas_gpadc.c ret = palmas_read(adc->palmas, PALMAS_TRIM_GPADC_BASE, adc 310 drivers/iio/adc/palmas_gpadc.c adc->adc_info[adc_chan].trim2_reg, &d2); adc 312 drivers/iio/adc/palmas_gpadc.c dev_err(adc->dev, "TRIM read failed: %d\n", ret); adc 322 drivers/iio/adc/palmas_gpadc.c adc->adc_info[adc_chan].gain_error = k; adc 323 drivers/iio/adc/palmas_gpadc.c adc->adc_info[adc_chan].gain = gain; adc 325 drivers/iio/adc/palmas_gpadc.c adc->adc_info[adc_chan].offset = (d1 * 1000) - ((k - 1000) * x1); adc 331 drivers/iio/adc/palmas_gpadc.c static int palmas_gpadc_start_conversion(struct palmas_gpadc *adc, int adc_chan) adc 336 drivers/iio/adc/palmas_gpadc.c init_completion(&adc->conv_completion); adc 337 drivers/iio/adc/palmas_gpadc.c ret = palmas_update_bits(adc->palmas, PALMAS_GPADC_BASE, adc 342 drivers/iio/adc/palmas_gpadc.c dev_err(adc->dev, "SELECT_SW_START write failed: %d\n", ret); adc 346 drivers/iio/adc/palmas_gpadc.c ret = wait_for_completion_timeout(&adc->conv_completion, adc 349 drivers/iio/adc/palmas_gpadc.c dev_err(adc->dev, "conversion not completed\n"); adc 353 drivers/iio/adc/palmas_gpadc.c ret = palmas_bulk_read(adc->palmas, PALMAS_GPADC_BASE, adc 356 drivers/iio/adc/palmas_gpadc.c dev_err(adc->dev, "SW_CONV0_LSB read failed: %d\n", ret); adc 365 drivers/iio/adc/palmas_gpadc.c static int palmas_gpadc_get_calibrated_code(struct palmas_gpadc *adc, adc 368 drivers/iio/adc/palmas_gpadc.c if (!adc->adc_info[adc_chan].is_uncalibrated) adc 369 drivers/iio/adc/palmas_gpadc.c val = (val*1000 - adc->adc_info[adc_chan].offset) / adc 370 drivers/iio/adc/palmas_gpadc.c adc->adc_info[adc_chan].gain_error; adc 373 drivers/iio/adc/palmas_gpadc.c dev_err(adc->dev, "Mismatch with calibration\n"); adc 377 drivers/iio/adc/palmas_gpadc.c val = (val * adc->adc_info[adc_chan].gain) / 1000; adc 385 drivers/iio/adc/palmas_gpadc.c struct palmas_gpadc *adc = iio_priv(indio_dev); adc 397 drivers/iio/adc/palmas_gpadc.c ret = palmas_gpadc_read_prepare(adc, adc_chan); adc 401 drivers/iio/adc/palmas_gpadc.c ret = palmas_gpadc_start_conversion(adc, adc_chan); adc 403 drivers/iio/adc/palmas_gpadc.c dev_err(adc->dev, adc 410 drivers/iio/adc/palmas_gpadc.c adc, adc_chan, ret); adc 422 drivers/iio/adc/palmas_gpadc.c palmas_gpadc_read_done(adc, adc_chan); adc 491 drivers/iio/adc/palmas_gpadc.c struct palmas_gpadc *adc; adc 510 drivers/iio/adc/palmas_gpadc.c indio_dev = devm_iio_device_alloc(&pdev->dev, sizeof(*adc)); adc 516 drivers/iio/adc/palmas_gpadc.c adc = iio_priv(indio_dev); adc 517 drivers/iio/adc/palmas_gpadc.c adc->dev = &pdev->dev; adc 518 drivers/iio/adc/palmas_gpadc.c adc->palmas = dev_get_drvdata(pdev->dev.parent); adc 519 drivers/iio/adc/palmas_gpadc.c adc->adc_info = palmas_gpadc_info; adc 520 drivers/iio/adc/palmas_gpadc.c init_completion(&adc->conv_completion); adc 523 drivers/iio/adc/palmas_gpadc.c adc->auto_conversion_period = gpadc_pdata->auto_conversion_period_ms; adc 524 drivers/iio/adc/palmas_gpadc.c adc->irq = palmas_irq_get_virq(adc->palmas, PALMAS_GPADC_EOC_SW_IRQ); adc 525 drivers/iio/adc/palmas_gpadc.c if (adc->irq < 0) { adc 526 drivers/iio/adc/palmas_gpadc.c dev_err(adc->dev, adc 527 drivers/iio/adc/palmas_gpadc.c "get virq failed: %d\n", adc->irq); adc 528 drivers/iio/adc/palmas_gpadc.c ret = adc->irq; adc 531 drivers/iio/adc/palmas_gpadc.c ret = request_threaded_irq(adc->irq, NULL, adc 533 drivers/iio/adc/palmas_gpadc.c IRQF_ONESHOT, dev_name(adc->dev), adc 534 drivers/iio/adc/palmas_gpadc.c adc); adc 536 drivers/iio/adc/palmas_gpadc.c dev_err(adc->dev, adc 537 drivers/iio/adc/palmas_gpadc.c "request irq %d failed: %d\n", adc->irq, ret); adc 542 drivers/iio/adc/palmas_gpadc.c memcpy(&adc->wakeup1_data, gpadc_pdata->adc_wakeup1_data, adc 543 drivers/iio/adc/palmas_gpadc.c sizeof(adc->wakeup1_data)); adc 544 drivers/iio/adc/palmas_gpadc.c adc->wakeup1_enable = true; adc 545 drivers/iio/adc/palmas_gpadc.c adc->irq_auto_0 = platform_get_irq(pdev, 1); adc 546 drivers/iio/adc/palmas_gpadc.c ret = request_threaded_irq(adc->irq_auto_0, NULL, adc 549 drivers/iio/adc/palmas_gpadc.c "palmas-adc-auto-0", adc); adc 551 drivers/iio/adc/palmas_gpadc.c dev_err(adc->dev, "request auto0 irq %d failed: %d\n", adc 552 drivers/iio/adc/palmas_gpadc.c adc->irq_auto_0, ret); adc 558 drivers/iio/adc/palmas_gpadc.c memcpy(&adc->wakeup2_data, gpadc_pdata->adc_wakeup2_data, adc 559 drivers/iio/adc/palmas_gpadc.c sizeof(adc->wakeup2_data)); adc 560 drivers/iio/adc/palmas_gpadc.c adc->wakeup2_enable = true; adc 561 drivers/iio/adc/palmas_gpadc.c adc->irq_auto_1 = platform_get_irq(pdev, 2); adc 562 drivers/iio/adc/palmas_gpadc.c ret = request_threaded_irq(adc->irq_auto_1, NULL, adc 565 drivers/iio/adc/palmas_gpadc.c "palmas-adc-auto-1", adc); adc 567 drivers/iio/adc/palmas_gpadc.c dev_err(adc->dev, "request auto1 irq %d failed: %d\n", adc 568 drivers/iio/adc/palmas_gpadc.c adc->irq_auto_1, ret); adc 575 drivers/iio/adc/palmas_gpadc.c adc->ch0_current = PALMAS_ADC_CH0_CURRENT_SRC_0; adc 577 drivers/iio/adc/palmas_gpadc.c adc->ch0_current = PALMAS_ADC_CH0_CURRENT_SRC_5; adc 579 drivers/iio/adc/palmas_gpadc.c adc->ch0_current = PALMAS_ADC_CH0_CURRENT_SRC_15; adc 581 drivers/iio/adc/palmas_gpadc.c adc->ch0_current = PALMAS_ADC_CH0_CURRENT_SRC_20; adc 585 drivers/iio/adc/palmas_gpadc.c adc->ch3_current = PALMAS_ADC_CH3_CURRENT_SRC_0; adc 587 drivers/iio/adc/palmas_gpadc.c adc->ch3_current = PALMAS_ADC_CH3_CURRENT_SRC_10; adc 589 drivers/iio/adc/palmas_gpadc.c adc->ch3_current = PALMAS_ADC_CH3_CURRENT_SRC_400; adc 591 drivers/iio/adc/palmas_gpadc.c adc->ch3_current = PALMAS_ADC_CH3_CURRENT_SRC_800; adc 593 drivers/iio/adc/palmas_gpadc.c adc->extended_delay = gpadc_pdata->extended_delay; adc 604 drivers/iio/adc/palmas_gpadc.c dev_err(adc->dev, "iio_device_register() failed: %d\n", ret); adc 610 drivers/iio/adc/palmas_gpadc.c if (!(adc->adc_info[i].is_uncalibrated)) adc 611 drivers/iio/adc/palmas_gpadc.c palmas_gpadc_calibrate(adc, i); adc 614 drivers/iio/adc/palmas_gpadc.c if (adc->wakeup1_enable || adc->wakeup2_enable) adc 621 drivers/iio/adc/palmas_gpadc.c free_irq(adc->irq_auto_1, adc); adc 624 drivers/iio/adc/palmas_gpadc.c free_irq(adc->irq_auto_0, adc); adc 626 drivers/iio/adc/palmas_gpadc.c free_irq(adc->irq, adc); adc 634 drivers/iio/adc/palmas_gpadc.c struct palmas_gpadc *adc = iio_priv(indio_dev); adc 636 drivers/iio/adc/palmas_gpadc.c if (adc->wakeup1_enable || adc->wakeup2_enable) adc 639 drivers/iio/adc/palmas_gpadc.c free_irq(adc->irq, adc); adc 640 drivers/iio/adc/palmas_gpadc.c if (adc->wakeup1_enable) adc 641 drivers/iio/adc/palmas_gpadc.c free_irq(adc->irq_auto_0, adc); adc 642 drivers/iio/adc/palmas_gpadc.c if (adc->wakeup2_enable) adc 643 drivers/iio/adc/palmas_gpadc.c free_irq(adc->irq_auto_1, adc); adc 649 drivers/iio/adc/palmas_gpadc.c static int palmas_adc_wakeup_configure(struct palmas_gpadc *adc) adc 657 drivers/iio/adc/palmas_gpadc.c adc_period = adc->auto_conversion_period; adc 665 drivers/iio/adc/palmas_gpadc.c ret = palmas_update_bits(adc->palmas, PALMAS_GPADC_BASE, adc 670 drivers/iio/adc/palmas_gpadc.c dev_err(adc->dev, "AUTO_CTRL write failed: %d\n", ret); adc 675 drivers/iio/adc/palmas_gpadc.c if (adc->wakeup1_enable) { adc 678 drivers/iio/adc/palmas_gpadc.c ch0 = adc->wakeup1_data.adc_channel_number; adc 680 drivers/iio/adc/palmas_gpadc.c if (adc->wakeup1_data.adc_high_threshold > 0) { adc 681 drivers/iio/adc/palmas_gpadc.c thres = adc->wakeup1_data.adc_high_threshold; adc 684 drivers/iio/adc/palmas_gpadc.c thres = adc->wakeup1_data.adc_low_threshold; adc 688 drivers/iio/adc/palmas_gpadc.c ret = palmas_write(adc->palmas, PALMAS_GPADC_BASE, adc 691 drivers/iio/adc/palmas_gpadc.c dev_err(adc->dev, adc 696 drivers/iio/adc/palmas_gpadc.c ret = palmas_write(adc->palmas, PALMAS_GPADC_BASE, adc 700 drivers/iio/adc/palmas_gpadc.c dev_err(adc->dev, adc 706 drivers/iio/adc/palmas_gpadc.c if (adc->wakeup2_enable) { adc 709 drivers/iio/adc/palmas_gpadc.c ch1 = adc->wakeup2_data.adc_channel_number; adc 711 drivers/iio/adc/palmas_gpadc.c if (adc->wakeup2_data.adc_high_threshold > 0) { adc 712 drivers/iio/adc/palmas_gpadc.c thres = adc->wakeup2_data.adc_high_threshold; adc 715 drivers/iio/adc/palmas_gpadc.c thres = adc->wakeup2_data.adc_low_threshold; adc 719 drivers/iio/adc/palmas_gpadc.c ret = palmas_write(adc->palmas, PALMAS_GPADC_BASE, adc 722 drivers/iio/adc/palmas_gpadc.c dev_err(adc->dev, adc 727 drivers/iio/adc/palmas_gpadc.c ret = palmas_write(adc->palmas, PALMAS_GPADC_BASE, adc 731 drivers/iio/adc/palmas_gpadc.c dev_err(adc->dev, adc 737 drivers/iio/adc/palmas_gpadc.c ret = palmas_write(adc->palmas, PALMAS_GPADC_BASE, adc 740 drivers/iio/adc/palmas_gpadc.c dev_err(adc->dev, "AUTO_SELECT write failed: %d\n", ret); adc 744 drivers/iio/adc/palmas_gpadc.c ret = palmas_update_bits(adc->palmas, PALMAS_GPADC_BASE, adc 749 drivers/iio/adc/palmas_gpadc.c dev_err(adc->dev, "AUTO_CTRL write failed: %d\n", ret); adc 754 drivers/iio/adc/palmas_gpadc.c static int palmas_adc_wakeup_reset(struct palmas_gpadc *adc) adc 758 drivers/iio/adc/palmas_gpadc.c ret = palmas_write(adc->palmas, PALMAS_GPADC_BASE, adc 761 drivers/iio/adc/palmas_gpadc.c dev_err(adc->dev, "AUTO_SELECT write failed: %d\n", ret); adc 765 drivers/iio/adc/palmas_gpadc.c ret = palmas_disable_auto_conversion(adc); adc 767 drivers/iio/adc/palmas_gpadc.c dev_err(adc->dev, "Disable auto conversion failed: %d\n", ret); adc 775 drivers/iio/adc/palmas_gpadc.c struct palmas_gpadc *adc = iio_priv(indio_dev); adc 776 drivers/iio/adc/palmas_gpadc.c int wakeup = adc->wakeup1_enable || adc->wakeup2_enable; adc 782 drivers/iio/adc/palmas_gpadc.c ret = palmas_adc_wakeup_configure(adc); adc 786 drivers/iio/adc/palmas_gpadc.c if (adc->wakeup1_enable) adc 787 drivers/iio/adc/palmas_gpadc.c enable_irq_wake(adc->irq_auto_0); adc 789 drivers/iio/adc/palmas_gpadc.c if (adc->wakeup2_enable) adc 790 drivers/iio/adc/palmas_gpadc.c enable_irq_wake(adc->irq_auto_1); adc 798 drivers/iio/adc/palmas_gpadc.c struct palmas_gpadc *adc = iio_priv(indio_dev); adc 799 drivers/iio/adc/palmas_gpadc.c int wakeup = adc->wakeup1_enable || adc->wakeup2_enable; adc 805 drivers/iio/adc/palmas_gpadc.c ret = palmas_adc_wakeup_reset(adc); adc 809 drivers/iio/adc/palmas_gpadc.c if (adc->wakeup1_enable) adc 810 drivers/iio/adc/palmas_gpadc.c disable_irq_wake(adc->irq_auto_0); adc 812 drivers/iio/adc/palmas_gpadc.c if (adc->wakeup2_enable) adc 813 drivers/iio/adc/palmas_gpadc.c disable_irq_wake(adc->irq_auto_1); adc 417 drivers/iio/adc/qcom-pm8xxx-xoadc.c struct pm8xxx_xoadc *adc = iio_priv(indio_dev); adc 419 drivers/iio/adc/qcom-pm8xxx-xoadc.c complete(&adc->complete); adc 425 drivers/iio/adc/qcom-pm8xxx-xoadc.c pm8xxx_get_channel(struct pm8xxx_xoadc *adc, u8 chan) adc 429 drivers/iio/adc/qcom-pm8xxx-xoadc.c for (i = 0; i < adc->nchans; i++) { adc 430 drivers/iio/adc/qcom-pm8xxx-xoadc.c struct pm8xxx_chan_info *ch = &adc->chans[i]; adc 437 drivers/iio/adc/qcom-pm8xxx-xoadc.c static int pm8xxx_read_channel_rsv(struct pm8xxx_xoadc *adc, adc 447 drivers/iio/adc/qcom-pm8xxx-xoadc.c dev_dbg(adc->dev, "read channel \"%s\", amux %d, prescale/mux: %d, rsv %d\n", adc 450 drivers/iio/adc/qcom-pm8xxx-xoadc.c mutex_lock(&adc->lock); adc 455 drivers/iio/adc/qcom-pm8xxx-xoadc.c ret = regmap_write(adc->map, ADC_ARB_USRP_AMUX_CNTRL, val); adc 462 drivers/iio/adc/qcom-pm8xxx-xoadc.c if (adc->variant->broken_ratiometric && !force_ratiometric) { adc 492 drivers/iio/adc/qcom-pm8xxx-xoadc.c ret = regmap_update_bits(adc->map, adc 499 drivers/iio/adc/qcom-pm8xxx-xoadc.c ret = regmap_write(adc->map, ADC_ARB_USRP_ANA_PARAM, adc 505 drivers/iio/adc/qcom-pm8xxx-xoadc.c ret = regmap_write(adc->map, ADC_ARB_USRP_DIG_PARAM, adc 512 drivers/iio/adc/qcom-pm8xxx-xoadc.c ret = regmap_write(adc->map, ADC_ARB_USRP_ANA_PARAM, adc 518 drivers/iio/adc/qcom-pm8xxx-xoadc.c ret = regmap_write(adc->map, ADC_ARB_USRP_CNTRL, adc 522 drivers/iio/adc/qcom-pm8xxx-xoadc.c ret = regmap_write(adc->map, ADC_ARB_USRP_CNTRL, adc 529 drivers/iio/adc/qcom-pm8xxx-xoadc.c reinit_completion(&adc->complete); adc 530 drivers/iio/adc/qcom-pm8xxx-xoadc.c ret = regmap_write(adc->map, ADC_ARB_USRP_CNTRL, adc 537 drivers/iio/adc/qcom-pm8xxx-xoadc.c ret = wait_for_completion_timeout(&adc->complete, adc 540 drivers/iio/adc/qcom-pm8xxx-xoadc.c dev_err(adc->dev, "conversion timed out\n"); adc 545 drivers/iio/adc/qcom-pm8xxx-xoadc.c ret = regmap_read(adc->map, ADC_ARB_USRP_DATA0, &val); adc 549 drivers/iio/adc/qcom-pm8xxx-xoadc.c ret = regmap_read(adc->map, ADC_ARB_USRP_DATA1, &val); adc 556 drivers/iio/adc/qcom-pm8xxx-xoadc.c ret = regmap_write(adc->map, ADC_ARB_USRP_CNTRL, 0); adc 559 drivers/iio/adc/qcom-pm8xxx-xoadc.c ret = regmap_write(adc->map, ADC_ARB_USRP_CNTRL, 0); adc 564 drivers/iio/adc/qcom-pm8xxx-xoadc.c mutex_unlock(&adc->lock); adc 568 drivers/iio/adc/qcom-pm8xxx-xoadc.c static int pm8xxx_read_channel(struct pm8xxx_xoadc *adc, adc 577 drivers/iio/adc/qcom-pm8xxx-xoadc.c return pm8xxx_read_channel_rsv(adc, ch, 0xff, adc_code, false); adc 580 drivers/iio/adc/qcom-pm8xxx-xoadc.c static int pm8xxx_calibrate_device(struct pm8xxx_xoadc *adc) adc 589 drivers/iio/adc/qcom-pm8xxx-xoadc.c adc->graph[VADC_CALIB_ABSOLUTE].dx = VADC_ABSOLUTE_RANGE_UV; adc 590 drivers/iio/adc/qcom-pm8xxx-xoadc.c adc->graph[VADC_CALIB_RATIOMETRIC].dx = VADC_RATIOMETRIC_RANGE; adc 593 drivers/iio/adc/qcom-pm8xxx-xoadc.c ch = pm8xxx_get_channel(adc, PM8XXX_CHANNEL_125V); adc 596 drivers/iio/adc/qcom-pm8xxx-xoadc.c ret = pm8xxx_read_channel(adc, ch, &read_1250v); adc 598 drivers/iio/adc/qcom-pm8xxx-xoadc.c dev_err(adc->dev, "could not read 1.25V reference channel\n"); adc 601 drivers/iio/adc/qcom-pm8xxx-xoadc.c ch = pm8xxx_get_channel(adc, PM8XXX_CHANNEL_INTERNAL); adc 604 drivers/iio/adc/qcom-pm8xxx-xoadc.c ret = pm8xxx_read_channel(adc, ch, &read_0625v); adc 606 drivers/iio/adc/qcom-pm8xxx-xoadc.c dev_err(adc->dev, "could not read 0.625V reference channel\n"); adc 610 drivers/iio/adc/qcom-pm8xxx-xoadc.c dev_err(adc->dev, "read same ADC code for 1.25V and 0.625V\n"); adc 614 drivers/iio/adc/qcom-pm8xxx-xoadc.c adc->graph[VADC_CALIB_ABSOLUTE].dy = read_1250v - read_0625v; adc 615 drivers/iio/adc/qcom-pm8xxx-xoadc.c adc->graph[VADC_CALIB_ABSOLUTE].gnd = read_0625v; adc 617 drivers/iio/adc/qcom-pm8xxx-xoadc.c dev_info(adc->dev, "absolute calibration dx = %d uV, dy = %d units\n", adc 618 drivers/iio/adc/qcom-pm8xxx-xoadc.c VADC_ABSOLUTE_RANGE_UV, adc->graph[VADC_CALIB_ABSOLUTE].dy); adc 621 drivers/iio/adc/qcom-pm8xxx-xoadc.c ch = pm8xxx_get_channel(adc, PM8XXX_CHANNEL_MUXOFF); adc 624 drivers/iio/adc/qcom-pm8xxx-xoadc.c ret = pm8xxx_read_channel_rsv(adc, ch, AMUX_RSV5, adc 627 drivers/iio/adc/qcom-pm8xxx-xoadc.c dev_err(adc->dev, "could not read MUXOFF reference channel\n"); adc 630 drivers/iio/adc/qcom-pm8xxx-xoadc.c ret = pm8xxx_read_channel_rsv(adc, ch, AMUX_RSV4, adc 633 drivers/iio/adc/qcom-pm8xxx-xoadc.c dev_err(adc->dev, "could not read MUXOFF reference channel\n"); adc 636 drivers/iio/adc/qcom-pm8xxx-xoadc.c adc->graph[VADC_CALIB_RATIOMETRIC].dy = adc 638 drivers/iio/adc/qcom-pm8xxx-xoadc.c adc->graph[VADC_CALIB_RATIOMETRIC].gnd = read_nomux_rsv4; adc 640 drivers/iio/adc/qcom-pm8xxx-xoadc.c dev_info(adc->dev, "ratiometric calibration dx = %d, dy = %d units\n", adc 642 drivers/iio/adc/qcom-pm8xxx-xoadc.c adc->graph[VADC_CALIB_RATIOMETRIC].dy); adc 651 drivers/iio/adc/qcom-pm8xxx-xoadc.c struct pm8xxx_xoadc *adc = iio_priv(indio_dev); adc 658 drivers/iio/adc/qcom-pm8xxx-xoadc.c ch = pm8xxx_get_channel(adc, chan->address); adc 660 drivers/iio/adc/qcom-pm8xxx-xoadc.c dev_err(adc->dev, "no such channel %lu\n", adc 664 drivers/iio/adc/qcom-pm8xxx-xoadc.c ret = pm8xxx_read_channel(adc, ch, &adc_code); adc 669 drivers/iio/adc/qcom-pm8xxx-xoadc.c &adc->graph[ch->calibration], adc 678 drivers/iio/adc/qcom-pm8xxx-xoadc.c ch = pm8xxx_get_channel(adc, chan->address); adc 680 drivers/iio/adc/qcom-pm8xxx-xoadc.c dev_err(adc->dev, "no such channel %lu\n", adc 684 drivers/iio/adc/qcom-pm8xxx-xoadc.c ret = pm8xxx_read_channel(adc, ch, &adc_code); adc 698 drivers/iio/adc/qcom-pm8xxx-xoadc.c struct pm8xxx_xoadc *adc = iio_priv(indio_dev); adc 719 drivers/iio/adc/qcom-pm8xxx-xoadc.c for (i = 0; i < adc->nchans; i++) adc 720 drivers/iio/adc/qcom-pm8xxx-xoadc.c if (adc->chans[i].hwchan->pre_scale_mux == pre_scale_mux && adc 721 drivers/iio/adc/qcom-pm8xxx-xoadc.c adc->chans[i].hwchan->amux_channel == amux_channel) adc 822 drivers/iio/adc/qcom-pm8xxx-xoadc.c static int pm8xxx_xoadc_parse_channels(struct pm8xxx_xoadc *adc, adc 830 drivers/iio/adc/qcom-pm8xxx-xoadc.c adc->nchans = of_get_available_child_count(np); adc 831 drivers/iio/adc/qcom-pm8xxx-xoadc.c if (!adc->nchans) { adc 832 drivers/iio/adc/qcom-pm8xxx-xoadc.c dev_err(adc->dev, "no channel children\n"); adc 835 drivers/iio/adc/qcom-pm8xxx-xoadc.c dev_dbg(adc->dev, "found %d ADC channels\n", adc->nchans); adc 837 drivers/iio/adc/qcom-pm8xxx-xoadc.c adc->iio_chans = devm_kcalloc(adc->dev, adc->nchans, adc 838 drivers/iio/adc/qcom-pm8xxx-xoadc.c sizeof(*adc->iio_chans), GFP_KERNEL); adc 839 drivers/iio/adc/qcom-pm8xxx-xoadc.c if (!adc->iio_chans) adc 842 drivers/iio/adc/qcom-pm8xxx-xoadc.c adc->chans = devm_kcalloc(adc->dev, adc->nchans, adc 843 drivers/iio/adc/qcom-pm8xxx-xoadc.c sizeof(*adc->chans), GFP_KERNEL); adc 844 drivers/iio/adc/qcom-pm8xxx-xoadc.c if (!adc->chans) adc 849 drivers/iio/adc/qcom-pm8xxx-xoadc.c ch = &adc->chans[i]; adc 850 drivers/iio/adc/qcom-pm8xxx-xoadc.c ret = pm8xxx_xoadc_parse_channel(adc->dev, child, adc 851 drivers/iio/adc/qcom-pm8xxx-xoadc.c adc->variant->channels, adc 852 drivers/iio/adc/qcom-pm8xxx-xoadc.c &adc->iio_chans[i], adc 862 drivers/iio/adc/qcom-pm8xxx-xoadc.c ch = pm8xxx_get_channel(adc, PM8XXX_CHANNEL_125V); adc 864 drivers/iio/adc/qcom-pm8xxx-xoadc.c dev_err(adc->dev, "missing 1.25V reference channel\n"); adc 867 drivers/iio/adc/qcom-pm8xxx-xoadc.c ch = pm8xxx_get_channel(adc, PM8XXX_CHANNEL_INTERNAL); adc 869 drivers/iio/adc/qcom-pm8xxx-xoadc.c dev_err(adc->dev, "missing 0.625V reference channel\n"); adc 872 drivers/iio/adc/qcom-pm8xxx-xoadc.c ch = pm8xxx_get_channel(adc, PM8XXX_CHANNEL_MUXOFF); adc 874 drivers/iio/adc/qcom-pm8xxx-xoadc.c dev_err(adc->dev, "missing MUXOFF reference channel\n"); adc 884 drivers/iio/adc/qcom-pm8xxx-xoadc.c struct pm8xxx_xoadc *adc; adc 895 drivers/iio/adc/qcom-pm8xxx-xoadc.c indio_dev = devm_iio_device_alloc(dev, sizeof(*adc)); adc 900 drivers/iio/adc/qcom-pm8xxx-xoadc.c adc = iio_priv(indio_dev); adc 901 drivers/iio/adc/qcom-pm8xxx-xoadc.c adc->dev = dev; adc 902 drivers/iio/adc/qcom-pm8xxx-xoadc.c adc->variant = variant; adc 903 drivers/iio/adc/qcom-pm8xxx-xoadc.c init_completion(&adc->complete); adc 904 drivers/iio/adc/qcom-pm8xxx-xoadc.c mutex_init(&adc->lock); adc 906 drivers/iio/adc/qcom-pm8xxx-xoadc.c ret = pm8xxx_xoadc_parse_channels(adc, np); adc 915 drivers/iio/adc/qcom-pm8xxx-xoadc.c adc->map = map; adc 918 drivers/iio/adc/qcom-pm8xxx-xoadc.c adc->vref = devm_regulator_get(dev, "xoadc-ref"); adc 919 drivers/iio/adc/qcom-pm8xxx-xoadc.c if (IS_ERR(adc->vref)) { adc 921 drivers/iio/adc/qcom-pm8xxx-xoadc.c return PTR_ERR(adc->vref); adc 923 drivers/iio/adc/qcom-pm8xxx-xoadc.c ret = regulator_enable(adc->vref); adc 941 drivers/iio/adc/qcom-pm8xxx-xoadc.c indio_dev->channels = adc->iio_chans; adc 942 drivers/iio/adc/qcom-pm8xxx-xoadc.c indio_dev->num_channels = adc->nchans; adc 948 drivers/iio/adc/qcom-pm8xxx-xoadc.c ret = pm8xxx_calibrate_device(adc); adc 959 drivers/iio/adc/qcom-pm8xxx-xoadc.c regulator_disable(adc->vref); adc 967 drivers/iio/adc/qcom-pm8xxx-xoadc.c struct pm8xxx_xoadc *adc = iio_priv(indio_dev); adc 971 drivers/iio/adc/qcom-pm8xxx-xoadc.c regulator_disable(adc->vref); adc 158 drivers/iio/adc/qcom-spmi-adc5.c static int adc5_read(struct adc5_chip *adc, u16 offset, u8 *data, int len) adc 160 drivers/iio/adc/qcom-spmi-adc5.c return regmap_bulk_read(adc->regmap, adc->base + offset, data, len); adc 163 drivers/iio/adc/qcom-spmi-adc5.c static int adc5_write(struct adc5_chip *adc, u16 offset, u8 *data, int len) adc 165 drivers/iio/adc/qcom-spmi-adc5.c return regmap_bulk_write(adc->regmap, adc->base + offset, data, len); adc 217 drivers/iio/adc/qcom-spmi-adc5.c static int adc5_read_voltage_data(struct adc5_chip *adc, u16 *data) adc 222 drivers/iio/adc/qcom-spmi-adc5.c ret = adc5_read(adc, ADC5_USR_DATA0, &rslt_lsb, sizeof(rslt_lsb)); adc 226 drivers/iio/adc/qcom-spmi-adc5.c ret = adc5_read(adc, ADC5_USR_DATA1, &rslt_msb, sizeof(rslt_lsb)); adc 242 drivers/iio/adc/qcom-spmi-adc5.c static int adc5_poll_wait_eoc(struct adc5_chip *adc) adc 249 drivers/iio/adc/qcom-spmi-adc5.c ret = adc5_read(adc, ADC5_USR_STATUS1, &status1, adc 264 drivers/iio/adc/qcom-spmi-adc5.c static void adc5_update_dig_param(struct adc5_chip *adc, adc 280 drivers/iio/adc/qcom-spmi-adc5.c static int adc5_configure(struct adc5_chip *adc, adc 287 drivers/iio/adc/qcom-spmi-adc5.c ret = adc5_read(adc, ADC5_USR_DIG_PARAM, buf, sizeof(buf)); adc 292 drivers/iio/adc/qcom-spmi-adc5.c adc5_update_dig_param(adc, prop, &buf[0]); adc 311 drivers/iio/adc/qcom-spmi-adc5.c if (!adc->poll_eoc) adc 312 drivers/iio/adc/qcom-spmi-adc5.c reinit_completion(&adc->complete); adc 314 drivers/iio/adc/qcom-spmi-adc5.c return adc5_write(adc, ADC5_USR_DIG_PARAM, buf, sizeof(buf)); adc 317 drivers/iio/adc/qcom-spmi-adc5.c static int adc5_do_conversion(struct adc5_chip *adc, adc 324 drivers/iio/adc/qcom-spmi-adc5.c mutex_lock(&adc->lock); adc 326 drivers/iio/adc/qcom-spmi-adc5.c ret = adc5_configure(adc, prop); adc 332 drivers/iio/adc/qcom-spmi-adc5.c if (adc->poll_eoc) { adc 333 drivers/iio/adc/qcom-spmi-adc5.c ret = adc5_poll_wait_eoc(adc); adc 339 drivers/iio/adc/qcom-spmi-adc5.c ret = wait_for_completion_timeout(&adc->complete, adc 343 drivers/iio/adc/qcom-spmi-adc5.c ret = adc5_poll_wait_eoc(adc); adc 351 drivers/iio/adc/qcom-spmi-adc5.c ret = adc5_read_voltage_data(adc, data_volt); adc 353 drivers/iio/adc/qcom-spmi-adc5.c mutex_unlock(&adc->lock); adc 360 drivers/iio/adc/qcom-spmi-adc5.c struct adc5_chip *adc = dev_id; adc 362 drivers/iio/adc/qcom-spmi-adc5.c complete(&adc->complete); adc 370 drivers/iio/adc/qcom-spmi-adc5.c struct adc5_chip *adc = iio_priv(indio_dev); adc 373 drivers/iio/adc/qcom-spmi-adc5.c for (i = 0; i < adc->nchannels; i++) adc 374 drivers/iio/adc/qcom-spmi-adc5.c if (adc->chan_props[i].channel == iiospec->args[0]) adc 384 drivers/iio/adc/qcom-spmi-adc5.c struct adc5_chip *adc = iio_priv(indio_dev); adc 389 drivers/iio/adc/qcom-spmi-adc5.c prop = &adc->chan_props[chan->address]; adc 393 drivers/iio/adc/qcom-spmi-adc5.c ret = adc5_do_conversion(adc, prop, chan, adc 400 drivers/iio/adc/qcom-spmi-adc5.c adc->data, adc 507 drivers/iio/adc/qcom-spmi-adc5.c static int adc5_get_dt_channel_data(struct adc5_chip *adc, adc 515 drivers/iio/adc/qcom-spmi-adc5.c struct device *dev = adc->dev; adc 564 drivers/iio/adc/qcom-spmi-adc5.c adc->data->adc_chans[prop->channel].prescale_index; adc 571 drivers/iio/adc/qcom-spmi-adc5.c ret = adc5_read(adc, ADC5_USR_REVISION1, dig_version, adc 669 drivers/iio/adc/qcom-spmi-adc5.c static int adc5_get_dt_data(struct adc5_chip *adc, struct device_node *node) adc 680 drivers/iio/adc/qcom-spmi-adc5.c adc->nchannels = of_get_available_child_count(node); adc 681 drivers/iio/adc/qcom-spmi-adc5.c if (!adc->nchannels) adc 684 drivers/iio/adc/qcom-spmi-adc5.c adc->iio_chans = devm_kcalloc(adc->dev, adc->nchannels, adc 685 drivers/iio/adc/qcom-spmi-adc5.c sizeof(*adc->iio_chans), GFP_KERNEL); adc 686 drivers/iio/adc/qcom-spmi-adc5.c if (!adc->iio_chans) adc 689 drivers/iio/adc/qcom-spmi-adc5.c adc->chan_props = devm_kcalloc(adc->dev, adc->nchannels, adc 690 drivers/iio/adc/qcom-spmi-adc5.c sizeof(*adc->chan_props), GFP_KERNEL); adc 691 drivers/iio/adc/qcom-spmi-adc5.c if (!adc->chan_props) adc 694 drivers/iio/adc/qcom-spmi-adc5.c chan_props = adc->chan_props; adc 695 drivers/iio/adc/qcom-spmi-adc5.c iio_chan = adc->iio_chans; adc 701 drivers/iio/adc/qcom-spmi-adc5.c adc->data = data; adc 704 drivers/iio/adc/qcom-spmi-adc5.c ret = adc5_get_dt_channel_data(adc, &prop, child, data); adc 734 drivers/iio/adc/qcom-spmi-adc5.c struct adc5_chip *adc; adc 747 drivers/iio/adc/qcom-spmi-adc5.c indio_dev = devm_iio_device_alloc(dev, sizeof(*adc)); adc 751 drivers/iio/adc/qcom-spmi-adc5.c adc = iio_priv(indio_dev); adc 752 drivers/iio/adc/qcom-spmi-adc5.c adc->regmap = regmap; adc 753 drivers/iio/adc/qcom-spmi-adc5.c adc->dev = dev; adc 754 drivers/iio/adc/qcom-spmi-adc5.c adc->base = reg; adc 755 drivers/iio/adc/qcom-spmi-adc5.c init_completion(&adc->complete); adc 756 drivers/iio/adc/qcom-spmi-adc5.c mutex_init(&adc->lock); adc 758 drivers/iio/adc/qcom-spmi-adc5.c ret = adc5_get_dt_data(adc, node); adc 768 drivers/iio/adc/qcom-spmi-adc5.c adc->poll_eoc = true; adc 771 drivers/iio/adc/qcom-spmi-adc5.c "pm-adc5", adc); adc 781 drivers/iio/adc/qcom-spmi-adc5.c indio_dev->channels = adc->iio_chans; adc 782 drivers/iio/adc/qcom-spmi-adc5.c indio_dev->num_channels = adc->nchannels; adc 304 drivers/iio/adc/stm32-adc-core.c unsigned int adc) adc 306 drivers/iio/adc/stm32-adc-core.c u32 ier, offset = stm32_adc_offset[adc]; adc 450 drivers/iio/adc/stm32-adc.c static u32 stm32_adc_readl(struct stm32_adc *adc, u32 reg) adc 452 drivers/iio/adc/stm32-adc.c return readl_relaxed(adc->common->base + adc->offset + reg); adc 455 drivers/iio/adc/stm32-adc.c #define stm32_adc_readl_addr(addr) stm32_adc_readl(adc, addr) adc 461 drivers/iio/adc/stm32-adc.c static u16 stm32_adc_readw(struct stm32_adc *adc, u32 reg) adc 463 drivers/iio/adc/stm32-adc.c return readw_relaxed(adc->common->base + adc->offset + reg); adc 466 drivers/iio/adc/stm32-adc.c static void stm32_adc_writel(struct stm32_adc *adc, u32 reg, u32 val) adc 468 drivers/iio/adc/stm32-adc.c writel_relaxed(val, adc->common->base + adc->offset + reg); adc 471 drivers/iio/adc/stm32-adc.c static void stm32_adc_set_bits(struct stm32_adc *adc, u32 reg, u32 bits) adc 475 drivers/iio/adc/stm32-adc.c spin_lock_irqsave(&adc->lock, flags); adc 476 drivers/iio/adc/stm32-adc.c stm32_adc_writel(adc, reg, stm32_adc_readl(adc, reg) | bits); adc 477 drivers/iio/adc/stm32-adc.c spin_unlock_irqrestore(&adc->lock, flags); adc 480 drivers/iio/adc/stm32-adc.c static void stm32_adc_clr_bits(struct stm32_adc *adc, u32 reg, u32 bits) adc 484 drivers/iio/adc/stm32-adc.c spin_lock_irqsave(&adc->lock, flags); adc 485 drivers/iio/adc/stm32-adc.c stm32_adc_writel(adc, reg, stm32_adc_readl(adc, reg) & ~bits); adc 486 drivers/iio/adc/stm32-adc.c spin_unlock_irqrestore(&adc->lock, flags); adc 493 drivers/iio/adc/stm32-adc.c static void stm32_adc_conv_irq_enable(struct stm32_adc *adc) adc 495 drivers/iio/adc/stm32-adc.c stm32_adc_set_bits(adc, adc->cfg->regs->ier_eoc.reg, adc 496 drivers/iio/adc/stm32-adc.c adc->cfg->regs->ier_eoc.mask); adc 503 drivers/iio/adc/stm32-adc.c static void stm32_adc_conv_irq_disable(struct stm32_adc *adc) adc 505 drivers/iio/adc/stm32-adc.c stm32_adc_clr_bits(adc, adc->cfg->regs->ier_eoc.reg, adc 506 drivers/iio/adc/stm32-adc.c adc->cfg->regs->ier_eoc.mask); adc 509 drivers/iio/adc/stm32-adc.c static void stm32_adc_set_res(struct stm32_adc *adc) adc 511 drivers/iio/adc/stm32-adc.c const struct stm32_adc_regs *res = &adc->cfg->regs->res; adc 514 drivers/iio/adc/stm32-adc.c val = stm32_adc_readl(adc, res->reg); adc 515 drivers/iio/adc/stm32-adc.c val = (val & ~res->mask) | (adc->res << res->shift); adc 516 drivers/iio/adc/stm32-adc.c stm32_adc_writel(adc, res->reg, val); adc 521 drivers/iio/adc/stm32-adc.c struct stm32_adc *adc = dev_get_drvdata(dev); adc 523 drivers/iio/adc/stm32-adc.c if (adc->cfg->unprepare) adc 524 drivers/iio/adc/stm32-adc.c adc->cfg->unprepare(adc); adc 526 drivers/iio/adc/stm32-adc.c if (adc->clk) adc 527 drivers/iio/adc/stm32-adc.c clk_disable_unprepare(adc->clk); adc 534 drivers/iio/adc/stm32-adc.c struct stm32_adc *adc = dev_get_drvdata(dev); adc 537 drivers/iio/adc/stm32-adc.c if (adc->clk) { adc 538 drivers/iio/adc/stm32-adc.c ret = clk_prepare_enable(adc->clk); adc 543 drivers/iio/adc/stm32-adc.c stm32_adc_set_res(adc); adc 545 drivers/iio/adc/stm32-adc.c if (adc->cfg->prepare) { adc 546 drivers/iio/adc/stm32-adc.c ret = adc->cfg->prepare(adc); adc 554 drivers/iio/adc/stm32-adc.c if (adc->clk) adc 555 drivers/iio/adc/stm32-adc.c clk_disable_unprepare(adc->clk); adc 570 drivers/iio/adc/stm32-adc.c static void stm32f4_adc_start_conv(struct stm32_adc *adc, bool dma) adc 572 drivers/iio/adc/stm32-adc.c stm32_adc_set_bits(adc, STM32F4_ADC_CR1, STM32F4_SCAN); adc 575 drivers/iio/adc/stm32-adc.c stm32_adc_set_bits(adc, STM32F4_ADC_CR2, adc 578 drivers/iio/adc/stm32-adc.c stm32_adc_set_bits(adc, STM32F4_ADC_CR2, STM32F4_EOCS | STM32F4_ADON); adc 584 drivers/iio/adc/stm32-adc.c if (!(stm32_adc_readl(adc, STM32F4_ADC_CR2) & STM32F4_EXTEN_MASK)) adc 585 drivers/iio/adc/stm32-adc.c stm32_adc_set_bits(adc, STM32F4_ADC_CR2, STM32F4_SWSTART); adc 588 drivers/iio/adc/stm32-adc.c static void stm32f4_adc_stop_conv(struct stm32_adc *adc) adc 590 drivers/iio/adc/stm32-adc.c stm32_adc_clr_bits(adc, STM32F4_ADC_CR2, STM32F4_EXTEN_MASK); adc 591 drivers/iio/adc/stm32-adc.c stm32_adc_clr_bits(adc, STM32F4_ADC_SR, STM32F4_STRT); adc 593 drivers/iio/adc/stm32-adc.c stm32_adc_clr_bits(adc, STM32F4_ADC_CR1, STM32F4_SCAN); adc 594 drivers/iio/adc/stm32-adc.c stm32_adc_clr_bits(adc, STM32F4_ADC_CR2, adc 598 drivers/iio/adc/stm32-adc.c static void stm32h7_adc_start_conv(struct stm32_adc *adc, bool dma) adc 609 drivers/iio/adc/stm32-adc.c spin_lock_irqsave(&adc->lock, flags); adc 610 drivers/iio/adc/stm32-adc.c val = stm32_adc_readl(adc, STM32H7_ADC_CFGR); adc 612 drivers/iio/adc/stm32-adc.c stm32_adc_writel(adc, STM32H7_ADC_CFGR, val); adc 613 drivers/iio/adc/stm32-adc.c spin_unlock_irqrestore(&adc->lock, flags); adc 615 drivers/iio/adc/stm32-adc.c stm32_adc_set_bits(adc, STM32H7_ADC_CR, STM32H7_ADSTART); adc 618 drivers/iio/adc/stm32-adc.c static void stm32h7_adc_stop_conv(struct stm32_adc *adc) adc 620 drivers/iio/adc/stm32-adc.c struct iio_dev *indio_dev = iio_priv_to_dev(adc); adc 624 drivers/iio/adc/stm32-adc.c stm32_adc_set_bits(adc, STM32H7_ADC_CR, STM32H7_ADSTP); adc 632 drivers/iio/adc/stm32-adc.c stm32_adc_clr_bits(adc, STM32H7_ADC_CFGR, STM32H7_DMNGT_MASK); adc 635 drivers/iio/adc/stm32-adc.c static int stm32h7_adc_exit_pwr_down(struct stm32_adc *adc) adc 637 drivers/iio/adc/stm32-adc.c struct iio_dev *indio_dev = iio_priv_to_dev(adc); adc 642 drivers/iio/adc/stm32-adc.c stm32_adc_clr_bits(adc, STM32H7_ADC_CR, STM32H7_DEEPPWD); adc 643 drivers/iio/adc/stm32-adc.c stm32_adc_set_bits(adc, STM32H7_ADC_CR, STM32H7_ADVREGEN); adc 645 drivers/iio/adc/stm32-adc.c if (adc->common->rate > STM32H7_BOOST_CLKRATE) adc 646 drivers/iio/adc/stm32-adc.c stm32_adc_set_bits(adc, STM32H7_ADC_CR, STM32H7_BOOST); adc 649 drivers/iio/adc/stm32-adc.c if (!adc->cfg->has_vregready) { adc 658 drivers/iio/adc/stm32-adc.c stm32_adc_set_bits(adc, STM32H7_ADC_CR, STM32H7_DEEPPWD); adc 665 drivers/iio/adc/stm32-adc.c static void stm32h7_adc_enter_pwr_down(struct stm32_adc *adc) adc 667 drivers/iio/adc/stm32-adc.c stm32_adc_clr_bits(adc, STM32H7_ADC_CR, STM32H7_BOOST); adc 670 drivers/iio/adc/stm32-adc.c stm32_adc_set_bits(adc, STM32H7_ADC_CR, STM32H7_DEEPPWD); adc 673 drivers/iio/adc/stm32-adc.c static int stm32h7_adc_enable(struct stm32_adc *adc) adc 675 drivers/iio/adc/stm32-adc.c struct iio_dev *indio_dev = iio_priv_to_dev(adc); adc 679 drivers/iio/adc/stm32-adc.c stm32_adc_set_bits(adc, STM32H7_ADC_CR, STM32H7_ADEN); adc 686 drivers/iio/adc/stm32-adc.c stm32_adc_set_bits(adc, STM32H7_ADC_CR, STM32H7_ADDIS); adc 690 drivers/iio/adc/stm32-adc.c stm32_adc_set_bits(adc, STM32H7_ADC_ISR, STM32H7_ADRDY); adc 696 drivers/iio/adc/stm32-adc.c static void stm32h7_adc_disable(struct stm32_adc *adc) adc 698 drivers/iio/adc/stm32-adc.c struct iio_dev *indio_dev = iio_priv_to_dev(adc); adc 703 drivers/iio/adc/stm32-adc.c stm32_adc_set_bits(adc, STM32H7_ADC_CR, STM32H7_ADDIS); adc 716 drivers/iio/adc/stm32-adc.c static int stm32h7_adc_read_selfcalib(struct stm32_adc *adc) adc 718 drivers/iio/adc/stm32-adc.c struct iio_dev *indio_dev = iio_priv_to_dev(adc); adc 726 drivers/iio/adc/stm32-adc.c stm32_adc_clr_bits(adc, STM32H7_ADC_CR, lincalrdyw_mask); adc 737 drivers/iio/adc/stm32-adc.c val = stm32_adc_readl(adc, STM32H7_ADC_CALFACT2); adc 738 drivers/iio/adc/stm32-adc.c adc->cal.lincalfact[i] = (val & STM32H7_LINCALFACT_MASK); adc 739 drivers/iio/adc/stm32-adc.c adc->cal.lincalfact[i] >>= STM32H7_LINCALFACT_SHIFT; adc 745 drivers/iio/adc/stm32-adc.c val = stm32_adc_readl(adc, STM32H7_ADC_CALFACT); adc 746 drivers/iio/adc/stm32-adc.c adc->cal.calfact_s = (val & STM32H7_CALFACT_S_MASK); adc 747 drivers/iio/adc/stm32-adc.c adc->cal.calfact_s >>= STM32H7_CALFACT_S_SHIFT; adc 748 drivers/iio/adc/stm32-adc.c adc->cal.calfact_d = (val & STM32H7_CALFACT_D_MASK); adc 749 drivers/iio/adc/stm32-adc.c adc->cal.calfact_d >>= STM32H7_CALFACT_D_SHIFT; adc 750 drivers/iio/adc/stm32-adc.c adc->cal.calibrated = true; adc 760 drivers/iio/adc/stm32-adc.c static int stm32h7_adc_restore_selfcalib(struct stm32_adc *adc) adc 762 drivers/iio/adc/stm32-adc.c struct iio_dev *indio_dev = iio_priv_to_dev(adc); adc 766 drivers/iio/adc/stm32-adc.c val = (adc->cal.calfact_s << STM32H7_CALFACT_S_SHIFT) | adc 767 drivers/iio/adc/stm32-adc.c (adc->cal.calfact_d << STM32H7_CALFACT_D_SHIFT); adc 768 drivers/iio/adc/stm32-adc.c stm32_adc_writel(adc, STM32H7_ADC_CALFACT, val); adc 777 drivers/iio/adc/stm32-adc.c val = adc->cal.lincalfact[i] << STM32H7_LINCALFACT_SHIFT; adc 778 drivers/iio/adc/stm32-adc.c stm32_adc_writel(adc, STM32H7_ADC_CALFACT2, val); adc 779 drivers/iio/adc/stm32-adc.c stm32_adc_set_bits(adc, STM32H7_ADC_CR, lincalrdyw_mask); adc 795 drivers/iio/adc/stm32-adc.c stm32_adc_clr_bits(adc, STM32H7_ADC_CR, lincalrdyw_mask); adc 803 drivers/iio/adc/stm32-adc.c val = stm32_adc_readl(adc, STM32H7_ADC_CALFACT2); adc 804 drivers/iio/adc/stm32-adc.c if (val != adc->cal.lincalfact[i] << STM32H7_LINCALFACT_SHIFT) { adc 833 drivers/iio/adc/stm32-adc.c static int stm32h7_adc_selfcalib(struct stm32_adc *adc) adc 835 drivers/iio/adc/stm32-adc.c struct iio_dev *indio_dev = iio_priv_to_dev(adc); adc 839 drivers/iio/adc/stm32-adc.c if (adc->cal.calibrated) adc 847 drivers/iio/adc/stm32-adc.c stm32_adc_clr_bits(adc, STM32H7_ADC_CR, STM32H7_ADCALDIF); adc 848 drivers/iio/adc/stm32-adc.c stm32_adc_clr_bits(adc, STM32H7_ADC_CR, STM32H7_ADCALLIN); adc 851 drivers/iio/adc/stm32-adc.c stm32_adc_set_bits(adc, STM32H7_ADC_CR, STM32H7_ADCAL); adc 866 drivers/iio/adc/stm32-adc.c stm32_adc_set_bits(adc, STM32H7_ADC_CR, adc 868 drivers/iio/adc/stm32-adc.c stm32_adc_set_bits(adc, STM32H7_ADC_CR, STM32H7_ADCAL); adc 878 drivers/iio/adc/stm32-adc.c stm32_adc_clr_bits(adc, STM32H7_ADC_CR, adc 895 drivers/iio/adc/stm32-adc.c static int stm32h7_adc_prepare(struct stm32_adc *adc) adc 899 drivers/iio/adc/stm32-adc.c ret = stm32h7_adc_exit_pwr_down(adc); adc 903 drivers/iio/adc/stm32-adc.c ret = stm32h7_adc_selfcalib(adc); adc 908 drivers/iio/adc/stm32-adc.c stm32_adc_writel(adc, STM32H7_ADC_DIFSEL, adc->difsel); adc 910 drivers/iio/adc/stm32-adc.c ret = stm32h7_adc_enable(adc); adc 916 drivers/iio/adc/stm32-adc.c ret = stm32h7_adc_restore_selfcalib(adc); adc 918 drivers/iio/adc/stm32-adc.c ret = stm32h7_adc_read_selfcalib(adc); adc 922 drivers/iio/adc/stm32-adc.c stm32_adc_writel(adc, STM32H7_ADC_PCSEL, adc->pcsel); adc 927 drivers/iio/adc/stm32-adc.c stm32h7_adc_disable(adc); adc 929 drivers/iio/adc/stm32-adc.c stm32h7_adc_enter_pwr_down(adc); adc 934 drivers/iio/adc/stm32-adc.c static void stm32h7_adc_unprepare(struct stm32_adc *adc) adc 936 drivers/iio/adc/stm32-adc.c stm32h7_adc_disable(adc); adc 937 drivers/iio/adc/stm32-adc.c stm32h7_adc_enter_pwr_down(adc); adc 954 drivers/iio/adc/stm32-adc.c struct stm32_adc *adc = iio_priv(indio_dev); adc 955 drivers/iio/adc/stm32-adc.c const struct stm32_adc_regs *sqr = adc->cfg->regs->sqr; adc 961 drivers/iio/adc/stm32-adc.c stm32_adc_writel(adc, adc->cfg->regs->smpr[0], adc->smpr_val[0]); adc 962 drivers/iio/adc/stm32-adc.c stm32_adc_writel(adc, adc->cfg->regs->smpr[1], adc->smpr_val[1]); adc 977 drivers/iio/adc/stm32-adc.c val = stm32_adc_readl(adc, sqr[i].reg); adc 980 drivers/iio/adc/stm32-adc.c stm32_adc_writel(adc, sqr[i].reg, val); adc 987 drivers/iio/adc/stm32-adc.c val = stm32_adc_readl(adc, sqr[0].reg); adc 990 drivers/iio/adc/stm32-adc.c stm32_adc_writel(adc, sqr[0].reg, val); adc 1004 drivers/iio/adc/stm32-adc.c struct stm32_adc *adc = iio_priv(indio_dev); adc 1008 drivers/iio/adc/stm32-adc.c for (i = 0; adc->cfg->trigs[i].name; i++) { adc 1015 drivers/iio/adc/stm32-adc.c !strcmp(adc->cfg->trigs[i].name, trig->name)) { adc 1016 drivers/iio/adc/stm32-adc.c return adc->cfg->trigs[i].extsel; adc 1035 drivers/iio/adc/stm32-adc.c struct stm32_adc *adc = iio_priv(indio_dev); adc 1047 drivers/iio/adc/stm32-adc.c exten = adc->trigger_polarity + STM32_EXTEN_HWTRIG_RISING_EDGE; adc 1050 drivers/iio/adc/stm32-adc.c spin_lock_irqsave(&adc->lock, flags); adc 1051 drivers/iio/adc/stm32-adc.c val = stm32_adc_readl(adc, adc->cfg->regs->exten.reg); adc 1052 drivers/iio/adc/stm32-adc.c val &= ~(adc->cfg->regs->exten.mask | adc->cfg->regs->extsel.mask); adc 1053 drivers/iio/adc/stm32-adc.c val |= exten << adc->cfg->regs->exten.shift; adc 1054 drivers/iio/adc/stm32-adc.c val |= extsel << adc->cfg->regs->extsel.shift; adc 1055 drivers/iio/adc/stm32-adc.c stm32_adc_writel(adc, adc->cfg->regs->exten.reg, val); adc 1056 drivers/iio/adc/stm32-adc.c spin_unlock_irqrestore(&adc->lock, flags); adc 1065 drivers/iio/adc/stm32-adc.c struct stm32_adc *adc = iio_priv(indio_dev); adc 1067 drivers/iio/adc/stm32-adc.c adc->trigger_polarity = type; adc 1075 drivers/iio/adc/stm32-adc.c struct stm32_adc *adc = iio_priv(indio_dev); adc 1077 drivers/iio/adc/stm32-adc.c return adc->trigger_polarity; adc 1107 drivers/iio/adc/stm32-adc.c struct stm32_adc *adc = iio_priv(indio_dev); adc 1109 drivers/iio/adc/stm32-adc.c const struct stm32_adc_regspec *regs = adc->cfg->regs; adc 1114 drivers/iio/adc/stm32-adc.c reinit_completion(&adc->completion); adc 1116 drivers/iio/adc/stm32-adc.c adc->bufi = 0; adc 1125 drivers/iio/adc/stm32-adc.c stm32_adc_writel(adc, regs->smpr[0], adc->smpr_val[0]); adc 1126 drivers/iio/adc/stm32-adc.c stm32_adc_writel(adc, regs->smpr[1], adc->smpr_val[1]); adc 1129 drivers/iio/adc/stm32-adc.c val = stm32_adc_readl(adc, regs->sqr[1].reg); adc 1132 drivers/iio/adc/stm32-adc.c stm32_adc_writel(adc, regs->sqr[1].reg, val); adc 1135 drivers/iio/adc/stm32-adc.c stm32_adc_clr_bits(adc, regs->sqr[0].reg, regs->sqr[0].mask); adc 1138 drivers/iio/adc/stm32-adc.c stm32_adc_clr_bits(adc, regs->exten.reg, regs->exten.mask); adc 1140 drivers/iio/adc/stm32-adc.c stm32_adc_conv_irq_enable(adc); adc 1142 drivers/iio/adc/stm32-adc.c adc->cfg->start_conv(adc, false); adc 1145 drivers/iio/adc/stm32-adc.c &adc->completion, STM32_ADC_TIMEOUT); adc 1151 drivers/iio/adc/stm32-adc.c *res = adc->buffer[0]; adc 1155 drivers/iio/adc/stm32-adc.c adc->cfg->stop_conv(adc); adc 1157 drivers/iio/adc/stm32-adc.c stm32_adc_conv_irq_disable(adc); adc 1169 drivers/iio/adc/stm32-adc.c struct stm32_adc *adc = iio_priv(indio_dev); adc 1186 drivers/iio/adc/stm32-adc.c *val = adc->common->vref_mv * 2; adc 1189 drivers/iio/adc/stm32-adc.c *val = adc->common->vref_mv; adc 1209 drivers/iio/adc/stm32-adc.c struct stm32_adc *adc = data; adc 1210 drivers/iio/adc/stm32-adc.c struct iio_dev *indio_dev = iio_priv_to_dev(adc); adc 1211 drivers/iio/adc/stm32-adc.c const struct stm32_adc_regspec *regs = adc->cfg->regs; adc 1212 drivers/iio/adc/stm32-adc.c u32 status = stm32_adc_readl(adc, regs->isr_eoc.reg); adc 1216 drivers/iio/adc/stm32-adc.c adc->buffer[adc->bufi] = stm32_adc_readw(adc, regs->dr); adc 1218 drivers/iio/adc/stm32-adc.c adc->bufi++; adc 1219 drivers/iio/adc/stm32-adc.c if (adc->bufi >= adc->num_conv) { adc 1220 drivers/iio/adc/stm32-adc.c stm32_adc_conv_irq_disable(adc); adc 1224 drivers/iio/adc/stm32-adc.c complete(&adc->completion); adc 1248 drivers/iio/adc/stm32-adc.c struct stm32_adc *adc = iio_priv(indio_dev); adc 1259 drivers/iio/adc/stm32-adc.c adc->rx_buf_sz = min(rx_buf_sz, watermark * 2 * adc->num_conv); adc 1267 drivers/iio/adc/stm32-adc.c struct stm32_adc *adc = iio_priv(indio_dev); adc 1277 drivers/iio/adc/stm32-adc.c adc->num_conv = bitmap_weight(scan_mask, indio_dev->masklength); adc 1312 drivers/iio/adc/stm32-adc.c struct stm32_adc *adc = iio_priv(indio_dev); adc 1323 drivers/iio/adc/stm32-adc.c stm32_adc_writel(adc, reg, writeval); adc 1325 drivers/iio/adc/stm32-adc.c *readval = stm32_adc_readl(adc, reg); adc 1342 drivers/iio/adc/stm32-adc.c static unsigned int stm32_adc_dma_residue(struct stm32_adc *adc) adc 1347 drivers/iio/adc/stm32-adc.c status = dmaengine_tx_status(adc->dma_chan, adc 1348 drivers/iio/adc/stm32-adc.c adc->dma_chan->cookie, adc 1352 drivers/iio/adc/stm32-adc.c unsigned int i = adc->rx_buf_sz - state.residue; adc 1356 drivers/iio/adc/stm32-adc.c if (i >= adc->bufi) adc 1357 drivers/iio/adc/stm32-adc.c size = i - adc->bufi; adc 1359 drivers/iio/adc/stm32-adc.c size = adc->rx_buf_sz + i - adc->bufi; adc 1370 drivers/iio/adc/stm32-adc.c struct stm32_adc *adc = iio_priv(indio_dev); adc 1371 drivers/iio/adc/stm32-adc.c int residue = stm32_adc_dma_residue(adc); adc 1382 drivers/iio/adc/stm32-adc.c dev_dbg(&indio_dev->dev, "%s bufi=%d\n", __func__, adc->bufi); adc 1385 drivers/iio/adc/stm32-adc.c u16 *buffer = (u16 *)&adc->rx_buf[adc->bufi]; adc 1390 drivers/iio/adc/stm32-adc.c adc->bufi += indio_dev->scan_bytes; adc 1391 drivers/iio/adc/stm32-adc.c if (adc->bufi >= adc->rx_buf_sz) adc 1392 drivers/iio/adc/stm32-adc.c adc->bufi = 0; adc 1398 drivers/iio/adc/stm32-adc.c struct stm32_adc *adc = iio_priv(indio_dev); adc 1403 drivers/iio/adc/stm32-adc.c if (!adc->dma_chan) adc 1407 drivers/iio/adc/stm32-adc.c adc->rx_buf_sz, adc->rx_buf_sz / 2); adc 1410 drivers/iio/adc/stm32-adc.c desc = dmaengine_prep_dma_cyclic(adc->dma_chan, adc 1411 drivers/iio/adc/stm32-adc.c adc->rx_dma_buf, adc 1412 drivers/iio/adc/stm32-adc.c adc->rx_buf_sz, adc->rx_buf_sz / 2, adc 1424 drivers/iio/adc/stm32-adc.c dmaengine_terminate_sync(adc->dma_chan); adc 1429 drivers/iio/adc/stm32-adc.c dma_async_issue_pending(adc->dma_chan); adc 1436 drivers/iio/adc/stm32-adc.c struct stm32_adc *adc = iio_priv(indio_dev); adc 1459 drivers/iio/adc/stm32-adc.c adc->bufi = 0; adc 1461 drivers/iio/adc/stm32-adc.c if (!adc->dma_chan) adc 1462 drivers/iio/adc/stm32-adc.c stm32_adc_conv_irq_enable(adc); adc 1464 drivers/iio/adc/stm32-adc.c adc->cfg->start_conv(adc, !!adc->dma_chan); adc 1494 drivers/iio/adc/stm32-adc.c struct stm32_adc *adc = iio_priv(indio_dev); adc 1497 drivers/iio/adc/stm32-adc.c adc->cfg->stop_conv(adc); adc 1498 drivers/iio/adc/stm32-adc.c if (!adc->dma_chan) adc 1499 drivers/iio/adc/stm32-adc.c stm32_adc_conv_irq_disable(adc); adc 1501 drivers/iio/adc/stm32-adc.c if (adc->dma_chan) adc 1502 drivers/iio/adc/stm32-adc.c dmaengine_terminate_sync(adc->dma_chan); adc 1533 drivers/iio/adc/stm32-adc.c struct stm32_adc *adc = iio_priv(indio_dev); adc 1535 drivers/iio/adc/stm32-adc.c dev_dbg(&indio_dev->dev, "%s bufi=%d\n", __func__, adc->bufi); adc 1537 drivers/iio/adc/stm32-adc.c if (!adc->dma_chan) { adc 1539 drivers/iio/adc/stm32-adc.c adc->bufi = 0; adc 1540 drivers/iio/adc/stm32-adc.c iio_push_to_buffers_with_timestamp(indio_dev, adc->buffer, adc 1543 drivers/iio/adc/stm32-adc.c int residue = stm32_adc_dma_residue(adc); adc 1546 drivers/iio/adc/stm32-adc.c u16 *buffer = (u16 *)&adc->rx_buf[adc->bufi]; adc 1551 drivers/iio/adc/stm32-adc.c adc->bufi += indio_dev->scan_bytes; adc 1552 drivers/iio/adc/stm32-adc.c if (adc->bufi >= adc->rx_buf_sz) adc 1553 drivers/iio/adc/stm32-adc.c adc->bufi = 0; adc 1560 drivers/iio/adc/stm32-adc.c if (!adc->dma_chan) adc 1561 drivers/iio/adc/stm32-adc.c stm32_adc_conv_irq_enable(adc); adc 1580 drivers/iio/adc/stm32-adc.c struct stm32_adc *adc = iio_priv(indio_dev); adc 1585 drivers/iio/adc/stm32-adc.c res = adc->cfg->adc_info->resolutions[0]; adc 1587 drivers/iio/adc/stm32-adc.c for (i = 0; i < adc->cfg->adc_info->num_res; i++) adc 1588 drivers/iio/adc/stm32-adc.c if (res == adc->cfg->adc_info->resolutions[i]) adc 1590 drivers/iio/adc/stm32-adc.c if (i >= adc->cfg->adc_info->num_res) { adc 1596 drivers/iio/adc/stm32-adc.c adc->res = i; adc 1601 drivers/iio/adc/stm32-adc.c static void stm32_adc_smpr_init(struct stm32_adc *adc, int channel, u32 smp_ns) adc 1603 drivers/iio/adc/stm32-adc.c const struct stm32_adc_regs *smpr = &adc->cfg->regs->smp_bits[channel]; adc 1608 drivers/iio/adc/stm32-adc.c period_ns = NSEC_PER_SEC / adc->common->rate; adc 1610 drivers/iio/adc/stm32-adc.c if ((period_ns * adc->cfg->smp_cycles[smp]) >= smp_ns) adc 1616 drivers/iio/adc/stm32-adc.c adc->smpr_val[r] = (adc->smpr_val[r] & ~mask) | (smp << shift); adc 1623 drivers/iio/adc/stm32-adc.c struct stm32_adc *adc = iio_priv(indio_dev); adc 1624 drivers/iio/adc/stm32-adc.c char *name = adc->chan_name[vinp]; adc 1642 drivers/iio/adc/stm32-adc.c chan->scan_type.realbits = adc->cfg->adc_info->resolutions[adc->res]; adc 1647 drivers/iio/adc/stm32-adc.c adc->pcsel |= BIT(chan->channel); adc 1650 drivers/iio/adc/stm32-adc.c adc->difsel |= BIT(chan->channel); adc 1652 drivers/iio/adc/stm32-adc.c adc->pcsel |= BIT(chan->channel2); adc 1659 drivers/iio/adc/stm32-adc.c struct stm32_adc *adc = iio_priv(indio_dev); adc 1660 drivers/iio/adc/stm32-adc.c const struct stm32_adc_info *adc_info = adc->cfg->adc_info; adc 1751 drivers/iio/adc/stm32-adc.c stm32_adc_smpr_init(adc, channels[i].channel, smp); adc 1762 drivers/iio/adc/stm32-adc.c struct stm32_adc *adc = iio_priv(indio_dev); adc 1766 drivers/iio/adc/stm32-adc.c adc->dma_chan = dma_request_chan(dev, "rx"); adc 1767 drivers/iio/adc/stm32-adc.c if (IS_ERR(adc->dma_chan)) { adc 1768 drivers/iio/adc/stm32-adc.c ret = PTR_ERR(adc->dma_chan); adc 1778 drivers/iio/adc/stm32-adc.c adc->dma_chan = NULL; adc 1782 drivers/iio/adc/stm32-adc.c adc->rx_buf = dma_alloc_coherent(adc->dma_chan->device->dev, adc 1784 drivers/iio/adc/stm32-adc.c &adc->rx_dma_buf, GFP_KERNEL); adc 1785 drivers/iio/adc/stm32-adc.c if (!adc->rx_buf) { adc 1792 drivers/iio/adc/stm32-adc.c config.src_addr = (dma_addr_t)adc->common->phys_base; adc 1793 drivers/iio/adc/stm32-adc.c config.src_addr += adc->offset + adc->cfg->regs->dr; adc 1796 drivers/iio/adc/stm32-adc.c ret = dmaengine_slave_config(adc->dma_chan, &config); adc 1803 drivers/iio/adc/stm32-adc.c dma_free_coherent(adc->dma_chan->device->dev, STM32_DMA_BUFFER_SIZE, adc 1804 drivers/iio/adc/stm32-adc.c adc->rx_buf, adc->rx_dma_buf); adc 1806 drivers/iio/adc/stm32-adc.c dma_release_channel(adc->dma_chan); adc 1816 drivers/iio/adc/stm32-adc.c struct stm32_adc *adc; adc 1822 drivers/iio/adc/stm32-adc.c indio_dev = devm_iio_device_alloc(&pdev->dev, sizeof(*adc)); adc 1826 drivers/iio/adc/stm32-adc.c adc = iio_priv(indio_dev); adc 1827 drivers/iio/adc/stm32-adc.c adc->common = dev_get_drvdata(pdev->dev.parent); adc 1828 drivers/iio/adc/stm32-adc.c spin_lock_init(&adc->lock); adc 1829 drivers/iio/adc/stm32-adc.c init_completion(&adc->completion); adc 1830 drivers/iio/adc/stm32-adc.c adc->cfg = (const struct stm32_adc_cfg *) adc 1839 drivers/iio/adc/stm32-adc.c platform_set_drvdata(pdev, adc); adc 1841 drivers/iio/adc/stm32-adc.c ret = of_property_read_u32(pdev->dev.of_node, "reg", &adc->offset); adc 1847 drivers/iio/adc/stm32-adc.c adc->irq = platform_get_irq(pdev, 0); adc 1848 drivers/iio/adc/stm32-adc.c if (adc->irq < 0) adc 1849 drivers/iio/adc/stm32-adc.c return adc->irq; adc 1851 drivers/iio/adc/stm32-adc.c ret = devm_request_irq(&pdev->dev, adc->irq, stm32_adc_isr, adc 1852 drivers/iio/adc/stm32-adc.c 0, pdev->name, adc); adc 1858 drivers/iio/adc/stm32-adc.c adc->clk = devm_clk_get(&pdev->dev, NULL); adc 1859 drivers/iio/adc/stm32-adc.c if (IS_ERR(adc->clk)) { adc 1860 drivers/iio/adc/stm32-adc.c ret = PTR_ERR(adc->clk); adc 1861 drivers/iio/adc/stm32-adc.c if (ret == -ENOENT && !adc->cfg->clk_required) { adc 1862 drivers/iio/adc/stm32-adc.c adc->clk = NULL; adc 1881 drivers/iio/adc/stm32-adc.c if (!adc->dma_chan) adc 1924 drivers/iio/adc/stm32-adc.c if (adc->dma_chan) { adc 1925 drivers/iio/adc/stm32-adc.c dma_free_coherent(adc->dma_chan->device->dev, adc 1927 drivers/iio/adc/stm32-adc.c adc->rx_buf, adc->rx_dma_buf); adc 1928 drivers/iio/adc/stm32-adc.c dma_release_channel(adc->dma_chan); adc 1936 drivers/iio/adc/stm32-adc.c struct stm32_adc *adc = platform_get_drvdata(pdev); adc 1937 drivers/iio/adc/stm32-adc.c struct iio_dev *indio_dev = iio_priv_to_dev(adc); adc 1946 drivers/iio/adc/stm32-adc.c if (adc->dma_chan) { adc 1947 drivers/iio/adc/stm32-adc.c dma_free_coherent(adc->dma_chan->device->dev, adc 1949 drivers/iio/adc/stm32-adc.c adc->rx_buf, adc->rx_dma_buf); adc 1950 drivers/iio/adc/stm32-adc.c dma_release_channel(adc->dma_chan); adc 1959 drivers/iio/adc/stm32-adc.c struct stm32_adc *adc = dev_get_drvdata(dev); adc 1960 drivers/iio/adc/stm32-adc.c struct iio_dev *indio_dev = iio_priv_to_dev(adc); adc 1970 drivers/iio/adc/stm32-adc.c struct stm32_adc *adc = dev_get_drvdata(dev); adc 1971 drivers/iio/adc/stm32-adc.c struct iio_dev *indio_dev = iio_priv_to_dev(adc); adc 314 drivers/iio/adc/stm32-dfsdm-adc.c struct stm32_dfsdm_adc *adc = iio_priv(indio_dev); adc 315 drivers/iio/adc/stm32-dfsdm-adc.c struct stm32_dfsdm_filter *fl = &adc->dfsdm->fl_list[adc->fl_id]; adc 333 drivers/iio/adc/stm32-dfsdm-adc.c static int stm32_dfsdm_start_channel(struct stm32_dfsdm_adc *adc) adc 335 drivers/iio/adc/stm32-dfsdm-adc.c struct iio_dev *indio_dev = iio_priv_to_dev(adc); adc 336 drivers/iio/adc/stm32-dfsdm-adc.c struct regmap *regmap = adc->dfsdm->regmap; adc 341 drivers/iio/adc/stm32-dfsdm-adc.c for_each_set_bit(bit, &adc->smask, sizeof(adc->smask) * BITS_PER_BYTE) { adc 353 drivers/iio/adc/stm32-dfsdm-adc.c static void stm32_dfsdm_stop_channel(struct stm32_dfsdm_adc *adc) adc 355 drivers/iio/adc/stm32-dfsdm-adc.c struct iio_dev *indio_dev = iio_priv_to_dev(adc); adc 356 drivers/iio/adc/stm32-dfsdm-adc.c struct regmap *regmap = adc->dfsdm->regmap; adc 360 drivers/iio/adc/stm32-dfsdm-adc.c for_each_set_bit(bit, &adc->smask, sizeof(adc->smask) * BITS_PER_BYTE) { adc 390 drivers/iio/adc/stm32-dfsdm-adc.c static int stm32_dfsdm_start_filter(struct stm32_dfsdm_adc *adc, adc 394 drivers/iio/adc/stm32-dfsdm-adc.c struct stm32_dfsdm *dfsdm = adc->dfsdm; adc 404 drivers/iio/adc/stm32-dfsdm-adc.c if (adc->nconv > 1 || trig) adc 421 drivers/iio/adc/stm32-dfsdm-adc.c static int stm32_dfsdm_filter_set_trig(struct stm32_dfsdm_adc *adc, adc 425 drivers/iio/adc/stm32-dfsdm-adc.c struct iio_dev *indio_dev = iio_priv_to_dev(adc); adc 426 drivers/iio/adc/stm32-dfsdm-adc.c struct regmap *regmap = adc->dfsdm->regmap; adc 450 drivers/iio/adc/stm32-dfsdm-adc.c static int stm32_dfsdm_channels_configure(struct stm32_dfsdm_adc *adc, adc 454 drivers/iio/adc/stm32-dfsdm-adc.c struct iio_dev *indio_dev = iio_priv_to_dev(adc); adc 455 drivers/iio/adc/stm32-dfsdm-adc.c struct regmap *regmap = adc->dfsdm->regmap; adc 456 drivers/iio/adc/stm32-dfsdm-adc.c struct stm32_dfsdm_filter *fl = &adc->dfsdm->fl_list[fl_id]; adc 468 drivers/iio/adc/stm32-dfsdm-adc.c if (adc->nconv == 1 && !trig && adc 479 drivers/iio/adc/stm32-dfsdm-adc.c for_each_set_bit(bit, &adc->smask, adc 480 drivers/iio/adc/stm32-dfsdm-adc.c sizeof(adc->smask) * BITS_PER_BYTE) { adc 494 drivers/iio/adc/stm32-dfsdm-adc.c static int stm32_dfsdm_filter_configure(struct stm32_dfsdm_adc *adc, adc 498 drivers/iio/adc/stm32-dfsdm-adc.c struct iio_dev *indio_dev = iio_priv_to_dev(adc); adc 499 drivers/iio/adc/stm32-dfsdm-adc.c struct regmap *regmap = adc->dfsdm->regmap; adc 500 drivers/iio/adc/stm32-dfsdm-adc.c struct stm32_dfsdm_filter *fl = &adc->dfsdm->fl_list[fl_id]; adc 524 drivers/iio/adc/stm32-dfsdm-adc.c ret = stm32_dfsdm_filter_set_trig(adc, fl_id, trig); adc 553 drivers/iio/adc/stm32-dfsdm-adc.c if (adc->nconv == 1 && !trig) { adc 554 drivers/iio/adc/stm32-dfsdm-adc.c bit = __ffs(adc->smask); adc 567 drivers/iio/adc/stm32-dfsdm-adc.c for_each_set_bit(bit, &adc->smask, adc 568 drivers/iio/adc/stm32-dfsdm-adc.c sizeof(adc->smask) * BITS_PER_BYTE) { adc 577 drivers/iio/adc/stm32-dfsdm-adc.c cr1 = DFSDM_CR1_JSCAN((adc->nconv > 1) ? 1 : 0); adc 670 drivers/iio/adc/stm32-dfsdm-adc.c struct stm32_dfsdm_adc *adc = iio_priv(indio_dev); adc 672 drivers/iio/adc/stm32-dfsdm-adc.c return snprintf(buf, PAGE_SIZE, "%d\n", adc->spi_freq); adc 679 drivers/iio/adc/stm32-dfsdm-adc.c struct stm32_dfsdm_adc *adc = iio_priv(indio_dev); adc 693 drivers/iio/adc/stm32-dfsdm-adc.c adc->sample_freq = spi_freq / oversamp; adc 694 drivers/iio/adc/stm32-dfsdm-adc.c adc->oversamp = oversamp; adc 704 drivers/iio/adc/stm32-dfsdm-adc.c struct stm32_dfsdm_adc *adc = iio_priv(indio_dev); adc 705 drivers/iio/adc/stm32-dfsdm-adc.c struct stm32_dfsdm_channel *ch = &adc->dfsdm->ch_list[chan->channel]; adc 706 drivers/iio/adc/stm32-dfsdm-adc.c unsigned int sample_freq = adc->sample_freq; adc 727 drivers/iio/adc/stm32-dfsdm-adc.c adc->spi_freq = spi_freq; adc 732 drivers/iio/adc/stm32-dfsdm-adc.c static int stm32_dfsdm_start_conv(struct stm32_dfsdm_adc *adc, adc 735 drivers/iio/adc/stm32-dfsdm-adc.c struct regmap *regmap = adc->dfsdm->regmap; adc 738 drivers/iio/adc/stm32-dfsdm-adc.c ret = stm32_dfsdm_channels_configure(adc, adc->fl_id, trig); adc 742 drivers/iio/adc/stm32-dfsdm-adc.c ret = stm32_dfsdm_start_channel(adc); adc 746 drivers/iio/adc/stm32-dfsdm-adc.c ret = stm32_dfsdm_filter_configure(adc, adc->fl_id, trig); adc 750 drivers/iio/adc/stm32-dfsdm-adc.c ret = stm32_dfsdm_start_filter(adc, adc->fl_id, trig); adc 757 drivers/iio/adc/stm32-dfsdm-adc.c regmap_update_bits(regmap, DFSDM_CR1(adc->fl_id), adc 760 drivers/iio/adc/stm32-dfsdm-adc.c stm32_dfsdm_stop_channel(adc); adc 765 drivers/iio/adc/stm32-dfsdm-adc.c static void stm32_dfsdm_stop_conv(struct stm32_dfsdm_adc *adc) adc 767 drivers/iio/adc/stm32-dfsdm-adc.c struct regmap *regmap = adc->dfsdm->regmap; adc 769 drivers/iio/adc/stm32-dfsdm-adc.c stm32_dfsdm_stop_filter(adc->dfsdm, adc->fl_id); adc 771 drivers/iio/adc/stm32-dfsdm-adc.c regmap_update_bits(regmap, DFSDM_CR1(adc->fl_id), adc 774 drivers/iio/adc/stm32-dfsdm-adc.c stm32_dfsdm_stop_channel(adc); adc 780 drivers/iio/adc/stm32-dfsdm-adc.c struct stm32_dfsdm_adc *adc = iio_priv(indio_dev); adc 791 drivers/iio/adc/stm32-dfsdm-adc.c adc->buf_sz = min(rx_buf_sz, watermark * 2 * adc->nconv); adc 796 drivers/iio/adc/stm32-dfsdm-adc.c static unsigned int stm32_dfsdm_adc_dma_residue(struct stm32_dfsdm_adc *adc) adc 801 drivers/iio/adc/stm32-dfsdm-adc.c status = dmaengine_tx_status(adc->dma_chan, adc 802 drivers/iio/adc/stm32-dfsdm-adc.c adc->dma_chan->cookie, adc 806 drivers/iio/adc/stm32-dfsdm-adc.c unsigned int i = adc->buf_sz - state.residue; adc 810 drivers/iio/adc/stm32-dfsdm-adc.c if (i >= adc->bufi) adc 811 drivers/iio/adc/stm32-dfsdm-adc.c size = i - adc->bufi; adc 813 drivers/iio/adc/stm32-dfsdm-adc.c size = adc->buf_sz + i - adc->bufi; adc 821 drivers/iio/adc/stm32-dfsdm-adc.c static inline void stm32_dfsdm_process_data(struct stm32_dfsdm_adc *adc, adc 824 drivers/iio/adc/stm32-dfsdm-adc.c struct stm32_dfsdm_filter *fl = &adc->dfsdm->fl_list[adc->fl_id]; adc 826 drivers/iio/adc/stm32-dfsdm-adc.c unsigned int i = adc->nconv; adc 848 drivers/iio/adc/stm32-dfsdm-adc.c struct stm32_dfsdm_adc *adc = iio_priv(indio_dev); adc 849 drivers/iio/adc/stm32-dfsdm-adc.c int available = stm32_dfsdm_adc_dma_residue(adc); adc 862 drivers/iio/adc/stm32-dfsdm-adc.c adc->bufi, available); adc 863 drivers/iio/adc/stm32-dfsdm-adc.c old_pos = adc->bufi; adc 866 drivers/iio/adc/stm32-dfsdm-adc.c s32 *buffer = (s32 *)&adc->rx_buf[adc->bufi]; adc 868 drivers/iio/adc/stm32-dfsdm-adc.c stm32_dfsdm_process_data(adc, buffer); adc 871 drivers/iio/adc/stm32-dfsdm-adc.c adc->bufi += indio_dev->scan_bytes; adc 872 drivers/iio/adc/stm32-dfsdm-adc.c if (adc->bufi >= adc->buf_sz) { adc 873 drivers/iio/adc/stm32-dfsdm-adc.c if (adc->cb) adc 874 drivers/iio/adc/stm32-dfsdm-adc.c adc->cb(&adc->rx_buf[old_pos], adc 875 drivers/iio/adc/stm32-dfsdm-adc.c adc->buf_sz - old_pos, adc->cb_priv); adc 876 drivers/iio/adc/stm32-dfsdm-adc.c adc->bufi = 0; adc 888 drivers/iio/adc/stm32-dfsdm-adc.c if (adc->dev_data->type == DFSDM_IIO) adc 891 drivers/iio/adc/stm32-dfsdm-adc.c if (adc->cb) adc 892 drivers/iio/adc/stm32-dfsdm-adc.c adc->cb(&adc->rx_buf[old_pos], adc->bufi - old_pos, adc 893 drivers/iio/adc/stm32-dfsdm-adc.c adc->cb_priv); adc 898 drivers/iio/adc/stm32-dfsdm-adc.c struct stm32_dfsdm_adc *adc = iio_priv(indio_dev); adc 905 drivers/iio/adc/stm32-dfsdm-adc.c .src_addr = (dma_addr_t)adc->dfsdm->phys_base, adc 912 drivers/iio/adc/stm32-dfsdm-adc.c if (!adc->dma_chan) adc 916 drivers/iio/adc/stm32-dfsdm-adc.c adc->buf_sz, adc->buf_sz / 2); adc 918 drivers/iio/adc/stm32-dfsdm-adc.c if (adc->nconv == 1 && !indio_dev->trig) adc 919 drivers/iio/adc/stm32-dfsdm-adc.c config.src_addr += DFSDM_RDATAR(adc->fl_id); adc 921 drivers/iio/adc/stm32-dfsdm-adc.c config.src_addr += DFSDM_JDATAR(adc->fl_id); adc 922 drivers/iio/adc/stm32-dfsdm-adc.c ret = dmaengine_slave_config(adc->dma_chan, &config); adc 927 drivers/iio/adc/stm32-dfsdm-adc.c desc = dmaengine_prep_dma_cyclic(adc->dma_chan, adc 928 drivers/iio/adc/stm32-dfsdm-adc.c adc->dma_buf, adc 929 drivers/iio/adc/stm32-dfsdm-adc.c adc->buf_sz, adc->buf_sz / 2, adc 944 drivers/iio/adc/stm32-dfsdm-adc.c dma_async_issue_pending(adc->dma_chan); adc 946 drivers/iio/adc/stm32-dfsdm-adc.c if (adc->nconv == 1 && !indio_dev->trig) { adc 948 drivers/iio/adc/stm32-dfsdm-adc.c ret = regmap_update_bits(adc->dfsdm->regmap, adc 949 drivers/iio/adc/stm32-dfsdm-adc.c DFSDM_CR1(adc->fl_id), adc 954 drivers/iio/adc/stm32-dfsdm-adc.c ret = regmap_update_bits(adc->dfsdm->regmap, adc 955 drivers/iio/adc/stm32-dfsdm-adc.c DFSDM_CR1(adc->fl_id), adc 966 drivers/iio/adc/stm32-dfsdm-adc.c dmaengine_terminate_all(adc->dma_chan); adc 973 drivers/iio/adc/stm32-dfsdm-adc.c struct stm32_dfsdm_adc *adc = iio_priv(indio_dev); adc 975 drivers/iio/adc/stm32-dfsdm-adc.c if (!adc->dma_chan) adc 978 drivers/iio/adc/stm32-dfsdm-adc.c regmap_update_bits(adc->dfsdm->regmap, DFSDM_CR1(adc->fl_id), adc 980 drivers/iio/adc/stm32-dfsdm-adc.c dmaengine_terminate_all(adc->dma_chan); adc 986 drivers/iio/adc/stm32-dfsdm-adc.c struct stm32_dfsdm_adc *adc = iio_priv(indio_dev); adc 988 drivers/iio/adc/stm32-dfsdm-adc.c adc->nconv = bitmap_weight(scan_mask, indio_dev->masklength); adc 989 drivers/iio/adc/stm32-dfsdm-adc.c adc->smask = *scan_mask; adc 991 drivers/iio/adc/stm32-dfsdm-adc.c dev_dbg(&indio_dev->dev, "nconv=%d mask=%lx\n", adc->nconv, *scan_mask); adc 998 drivers/iio/adc/stm32-dfsdm-adc.c struct stm32_dfsdm_adc *adc = iio_priv(indio_dev); adc 1002 drivers/iio/adc/stm32-dfsdm-adc.c adc->bufi = 0; adc 1004 drivers/iio/adc/stm32-dfsdm-adc.c if (adc->hwc) { adc 1005 drivers/iio/adc/stm32-dfsdm-adc.c ret = iio_hw_consumer_enable(adc->hwc); adc 1010 drivers/iio/adc/stm32-dfsdm-adc.c ret = stm32_dfsdm_start_dfsdm(adc->dfsdm); adc 1020 drivers/iio/adc/stm32-dfsdm-adc.c ret = stm32_dfsdm_start_conv(adc, indio_dev->trig); adc 1031 drivers/iio/adc/stm32-dfsdm-adc.c stm32_dfsdm_stop_dfsdm(adc->dfsdm); adc 1033 drivers/iio/adc/stm32-dfsdm-adc.c if (adc->hwc) adc 1034 drivers/iio/adc/stm32-dfsdm-adc.c iio_hw_consumer_disable(adc->hwc); adc 1064 drivers/iio/adc/stm32-dfsdm-adc.c struct stm32_dfsdm_adc *adc = iio_priv(indio_dev); adc 1066 drivers/iio/adc/stm32-dfsdm-adc.c stm32_dfsdm_stop_conv(adc); adc 1070 drivers/iio/adc/stm32-dfsdm-adc.c stm32_dfsdm_stop_dfsdm(adc->dfsdm); adc 1072 drivers/iio/adc/stm32-dfsdm-adc.c if (adc->hwc) adc 1073 drivers/iio/adc/stm32-dfsdm-adc.c iio_hw_consumer_disable(adc->hwc); adc 1107 drivers/iio/adc/stm32-dfsdm-adc.c struct stm32_dfsdm_adc *adc; adc 1111 drivers/iio/adc/stm32-dfsdm-adc.c adc = iio_priv(iio_dev); adc 1113 drivers/iio/adc/stm32-dfsdm-adc.c adc->cb = cb; adc 1114 drivers/iio/adc/stm32-dfsdm-adc.c adc->cb_priv = private; adc 1127 drivers/iio/adc/stm32-dfsdm-adc.c struct stm32_dfsdm_adc *adc; adc 1131 drivers/iio/adc/stm32-dfsdm-adc.c adc = iio_priv(iio_dev); adc 1133 drivers/iio/adc/stm32-dfsdm-adc.c adc->cb = NULL; adc 1134 drivers/iio/adc/stm32-dfsdm-adc.c adc->cb_priv = NULL; adc 1143 drivers/iio/adc/stm32-dfsdm-adc.c struct stm32_dfsdm_adc *adc = iio_priv(indio_dev); adc 1147 drivers/iio/adc/stm32-dfsdm-adc.c reinit_completion(&adc->completion); adc 1149 drivers/iio/adc/stm32-dfsdm-adc.c adc->buffer = res; adc 1151 drivers/iio/adc/stm32-dfsdm-adc.c ret = stm32_dfsdm_start_dfsdm(adc->dfsdm); adc 1155 drivers/iio/adc/stm32-dfsdm-adc.c ret = regmap_update_bits(adc->dfsdm->regmap, DFSDM_CR2(adc->fl_id), adc 1160 drivers/iio/adc/stm32-dfsdm-adc.c adc->nconv = 1; adc 1161 drivers/iio/adc/stm32-dfsdm-adc.c adc->smask = BIT(chan->scan_index); adc 1162 drivers/iio/adc/stm32-dfsdm-adc.c ret = stm32_dfsdm_start_conv(adc, NULL); adc 1164 drivers/iio/adc/stm32-dfsdm-adc.c regmap_update_bits(adc->dfsdm->regmap, DFSDM_CR2(adc->fl_id), adc 1169 drivers/iio/adc/stm32-dfsdm-adc.c timeout = wait_for_completion_interruptible_timeout(&adc->completion, adc 1173 drivers/iio/adc/stm32-dfsdm-adc.c regmap_update_bits(adc->dfsdm->regmap, DFSDM_CR2(adc->fl_id), adc 1183 drivers/iio/adc/stm32-dfsdm-adc.c stm32_dfsdm_stop_conv(adc); adc 1185 drivers/iio/adc/stm32-dfsdm-adc.c stm32_dfsdm_process_data(adc, res); adc 1188 drivers/iio/adc/stm32-dfsdm-adc.c stm32_dfsdm_stop_dfsdm(adc->dfsdm); adc 1197 drivers/iio/adc/stm32-dfsdm-adc.c struct stm32_dfsdm_adc *adc = iio_priv(indio_dev); adc 1198 drivers/iio/adc/stm32-dfsdm-adc.c struct stm32_dfsdm_channel *ch = &adc->dfsdm->ch_list[chan->channel]; adc 1209 drivers/iio/adc/stm32-dfsdm-adc.c adc->oversamp = val; adc 1223 drivers/iio/adc/stm32-dfsdm-adc.c spi_freq = adc->dfsdm->spi_master_freq; adc 1227 drivers/iio/adc/stm32-dfsdm-adc.c spi_freq = adc->dfsdm->spi_master_freq / 2; adc 1230 drivers/iio/adc/stm32-dfsdm-adc.c spi_freq = adc->spi_freq; adc 1245 drivers/iio/adc/stm32-dfsdm-adc.c struct stm32_dfsdm_adc *adc = iio_priv(indio_dev); adc 1253 drivers/iio/adc/stm32-dfsdm-adc.c ret = iio_hw_consumer_enable(adc->hwc); adc 1262 drivers/iio/adc/stm32-dfsdm-adc.c iio_hw_consumer_disable(adc->hwc); adc 1274 drivers/iio/adc/stm32-dfsdm-adc.c *val = adc->oversamp; adc 1279 drivers/iio/adc/stm32-dfsdm-adc.c *val = adc->sample_freq; adc 1310 drivers/iio/adc/stm32-dfsdm-adc.c struct stm32_dfsdm_adc *adc = arg; adc 1311 drivers/iio/adc/stm32-dfsdm-adc.c struct iio_dev *indio_dev = iio_priv_to_dev(adc); adc 1312 drivers/iio/adc/stm32-dfsdm-adc.c struct regmap *regmap = adc->dfsdm->regmap; adc 1315 drivers/iio/adc/stm32-dfsdm-adc.c regmap_read(regmap, DFSDM_ISR(adc->fl_id), &status); adc 1316 drivers/iio/adc/stm32-dfsdm-adc.c regmap_read(regmap, DFSDM_CR2(adc->fl_id), &int_en); adc 1320 drivers/iio/adc/stm32-dfsdm-adc.c regmap_read(regmap, DFSDM_RDATAR(adc->fl_id), adc->buffer); adc 1321 drivers/iio/adc/stm32-dfsdm-adc.c complete(&adc->completion); adc 1327 drivers/iio/adc/stm32-dfsdm-adc.c regmap_update_bits(regmap, DFSDM_ICR(adc->fl_id), adc 1352 drivers/iio/adc/stm32-dfsdm-adc.c struct stm32_dfsdm_adc *adc = iio_priv(indio_dev); adc 1354 drivers/iio/adc/stm32-dfsdm-adc.c if (adc->dma_chan) { adc 1355 drivers/iio/adc/stm32-dfsdm-adc.c dma_free_coherent(adc->dma_chan->device->dev, adc 1357 drivers/iio/adc/stm32-dfsdm-adc.c adc->rx_buf, adc->dma_buf); adc 1358 drivers/iio/adc/stm32-dfsdm-adc.c dma_release_channel(adc->dma_chan); adc 1365 drivers/iio/adc/stm32-dfsdm-adc.c struct stm32_dfsdm_adc *adc = iio_priv(indio_dev); adc 1367 drivers/iio/adc/stm32-dfsdm-adc.c adc->dma_chan = dma_request_chan(dev, "rx"); adc 1368 drivers/iio/adc/stm32-dfsdm-adc.c if (IS_ERR(adc->dma_chan)) { adc 1369 drivers/iio/adc/stm32-dfsdm-adc.c int ret = PTR_ERR(adc->dma_chan); adc 1371 drivers/iio/adc/stm32-dfsdm-adc.c adc->dma_chan = NULL; adc 1375 drivers/iio/adc/stm32-dfsdm-adc.c adc->rx_buf = dma_alloc_coherent(adc->dma_chan->device->dev, adc 1377 drivers/iio/adc/stm32-dfsdm-adc.c &adc->dma_buf, GFP_KERNEL); adc 1378 drivers/iio/adc/stm32-dfsdm-adc.c if (!adc->rx_buf) { adc 1379 drivers/iio/adc/stm32-dfsdm-adc.c dma_release_channel(adc->dma_chan); adc 1392 drivers/iio/adc/stm32-dfsdm-adc.c struct stm32_dfsdm_adc *adc = iio_priv(indio_dev); adc 1395 drivers/iio/adc/stm32-dfsdm-adc.c ret = stm32_dfsdm_channel_parse_of(adc->dfsdm, indio_dev, ch); adc 1410 drivers/iio/adc/stm32-dfsdm-adc.c if (adc->dev_data->type == DFSDM_AUDIO) { adc 1419 drivers/iio/adc/stm32-dfsdm-adc.c return stm32_dfsdm_chan_configure(adc->dfsdm, adc 1420 drivers/iio/adc/stm32-dfsdm-adc.c &adc->dfsdm->ch_list[ch->channel]); adc 1426 drivers/iio/adc/stm32-dfsdm-adc.c struct stm32_dfsdm_adc *adc = iio_priv(indio_dev); adc 1443 drivers/iio/adc/stm32-dfsdm-adc.c d_ch = &adc->dfsdm->ch_list[ch->channel]; adc 1445 drivers/iio/adc/stm32-dfsdm-adc.c adc->spi_freq = adc->dfsdm->spi_master_freq; adc 1456 drivers/iio/adc/stm32-dfsdm-adc.c struct stm32_dfsdm_adc *adc = iio_priv(indio_dev); adc 1460 drivers/iio/adc/stm32-dfsdm-adc.c adc->oversamp = DFSDM_DEFAULT_OVERSAMPLING; adc 1461 drivers/iio/adc/stm32-dfsdm-adc.c ret = stm32_dfsdm_compute_all_osrs(indio_dev, adc->oversamp); adc 1467 drivers/iio/adc/stm32-dfsdm-adc.c if (num_ch < 0 || num_ch > adc->dfsdm->num_chs) { adc 1473 drivers/iio/adc/stm32-dfsdm-adc.c adc->hwc = devm_iio_hw_consumer_alloc(&indio_dev->dev); adc 1474 drivers/iio/adc/stm32-dfsdm-adc.c if (IS_ERR(adc->hwc)) adc 1494 drivers/iio/adc/stm32-dfsdm-adc.c init_completion(&adc->completion); adc 1551 drivers/iio/adc/stm32-dfsdm-adc.c struct stm32_dfsdm_adc *adc; adc 1559 drivers/iio/adc/stm32-dfsdm-adc.c iio = devm_iio_device_alloc(dev, sizeof(*adc)); adc 1565 drivers/iio/adc/stm32-dfsdm-adc.c adc = iio_priv(iio); adc 1566 drivers/iio/adc/stm32-dfsdm-adc.c adc->dfsdm = dev_get_drvdata(dev->parent); adc 1572 drivers/iio/adc/stm32-dfsdm-adc.c platform_set_drvdata(pdev, adc); adc 1574 drivers/iio/adc/stm32-dfsdm-adc.c ret = of_property_read_u32(dev->of_node, "reg", &adc->fl_id); adc 1575 drivers/iio/adc/stm32-dfsdm-adc.c if (ret != 0 || adc->fl_id >= adc->dfsdm->num_fls) { adc 1585 drivers/iio/adc/stm32-dfsdm-adc.c snprintf(name, sizeof("dfsdm-pdm0"), "dfsdm-pdm%d", adc->fl_id); adc 1588 drivers/iio/adc/stm32-dfsdm-adc.c snprintf(name, sizeof("dfsdm-adc0"), "dfsdm-adc%d", adc->fl_id); adc 1601 drivers/iio/adc/stm32-dfsdm-adc.c 0, pdev->name, adc); adc 1613 drivers/iio/adc/stm32-dfsdm-adc.c adc->dfsdm->fl_list[adc->fl_id].ford = val; adc 1617 drivers/iio/adc/stm32-dfsdm-adc.c adc->dfsdm->fl_list[adc->fl_id].sync_mode = val; adc 1619 drivers/iio/adc/stm32-dfsdm-adc.c adc->dev_data = dev_data; adc 1648 drivers/iio/adc/stm32-dfsdm-adc.c struct stm32_dfsdm_adc *adc = platform_get_drvdata(pdev); adc 1649 drivers/iio/adc/stm32-dfsdm-adc.c struct iio_dev *indio_dev = iio_priv_to_dev(adc); adc 1651 drivers/iio/adc/stm32-dfsdm-adc.c if (adc->dev_data->type == DFSDM_AUDIO) adc 1661 drivers/iio/adc/stm32-dfsdm-adc.c struct stm32_dfsdm_adc *adc = dev_get_drvdata(dev); adc 1662 drivers/iio/adc/stm32-dfsdm-adc.c struct iio_dev *indio_dev = iio_priv_to_dev(adc); adc 1672 drivers/iio/adc/stm32-dfsdm-adc.c struct stm32_dfsdm_adc *adc = dev_get_drvdata(dev); adc 1673 drivers/iio/adc/stm32-dfsdm-adc.c struct iio_dev *indio_dev = iio_priv_to_dev(adc); adc 1681 drivers/iio/adc/stm32-dfsdm-adc.c ch = &adc->dfsdm->ch_list[chan->channel]; adc 1682 drivers/iio/adc/stm32-dfsdm-adc.c ret = stm32_dfsdm_chan_configure(adc->dfsdm, ch); adc 229 drivers/iio/adc/stmpe-adc.c static int stmpe_adc_init_hw(struct stmpe_adc *adc) adc 232 drivers/iio/adc/stmpe-adc.c struct stmpe *stmpe = adc->stmpe; adc 44 drivers/iio/adc/ti-adc081c.c struct adc081c *adc = iio_priv(iio); adc 49 drivers/iio/adc/ti-adc081c.c err = i2c_smbus_read_word_swapped(adc->i2c, REG_CONV_RES); adc 53 drivers/iio/adc/ti-adc081c.c *value = (err & 0xFFF) >> (12 - adc->bits); adc 57 drivers/iio/adc/ti-adc081c.c err = regulator_get_voltage(adc->ref); adc 62 drivers/iio/adc/ti-adc081c.c *shift = adc->bits; adc 149 drivers/iio/adc/ti-adc081c.c struct adc081c *adc; adc 168 drivers/iio/adc/ti-adc081c.c iio = devm_iio_device_alloc(&client->dev, sizeof(*adc)); adc 172 drivers/iio/adc/ti-adc081c.c adc = iio_priv(iio); adc 173 drivers/iio/adc/ti-adc081c.c adc->i2c = client; adc 174 drivers/iio/adc/ti-adc081c.c adc->bits = model->bits; adc 176 drivers/iio/adc/ti-adc081c.c adc->ref = devm_regulator_get(&client->dev, "vref"); adc 177 drivers/iio/adc/ti-adc081c.c if (IS_ERR(adc->ref)) adc 178 drivers/iio/adc/ti-adc081c.c return PTR_ERR(adc->ref); adc 180 drivers/iio/adc/ti-adc081c.c err = regulator_enable(adc->ref); adc 210 drivers/iio/adc/ti-adc081c.c regulator_disable(adc->ref); adc 218 drivers/iio/adc/ti-adc081c.c struct adc081c *adc = iio_priv(iio); adc 222 drivers/iio/adc/ti-adc081c.c regulator_disable(adc->ref); adc 113 drivers/iio/adc/ti-adc0832.c static int adc0831_adc_conversion(struct adc0832 *adc) adc 115 drivers/iio/adc/ti-adc0832.c struct spi_device *spi = adc->spi; adc 118 drivers/iio/adc/ti-adc0832.c ret = spi_read(spi, &adc->rx_buf, 2); adc 125 drivers/iio/adc/ti-adc0832.c return (adc->rx_buf[0] << 2 & 0xff) | (adc->rx_buf[1] >> 6); adc 128 drivers/iio/adc/ti-adc0832.c static int adc0832_adc_conversion(struct adc0832 *adc, int channel, adc 131 drivers/iio/adc/ti-adc0832.c struct spi_device *spi = adc->spi; adc 133 drivers/iio/adc/ti-adc0832.c .tx_buf = adc->tx_buf, adc 134 drivers/iio/adc/ti-adc0832.c .rx_buf = adc->rx_buf, adc 139 drivers/iio/adc/ti-adc0832.c if (!adc->mux_bits) adc 140 drivers/iio/adc/ti-adc0832.c return adc0831_adc_conversion(adc); adc 143 drivers/iio/adc/ti-adc0832.c adc->tx_buf[0] = 1 << (adc->mux_bits + 1); adc 145 drivers/iio/adc/ti-adc0832.c adc->tx_buf[0] |= differential ? 0 : (1 << adc->mux_bits); adc 147 drivers/iio/adc/ti-adc0832.c adc->tx_buf[0] |= (channel % 2) << (adc->mux_bits - 1); adc 149 drivers/iio/adc/ti-adc0832.c if (adc->mux_bits > 1) adc 150 drivers/iio/adc/ti-adc0832.c adc->tx_buf[0] |= channel / 2; adc 153 drivers/iio/adc/ti-adc0832.c adc->tx_buf[0] <<= 1; adc 159 drivers/iio/adc/ti-adc0832.c return adc->rx_buf[1]; adc 166 drivers/iio/adc/ti-adc0832.c struct adc0832 *adc = iio_priv(iio); adc 170 drivers/iio/adc/ti-adc0832.c mutex_lock(&adc->lock); adc 171 drivers/iio/adc/ti-adc0832.c *value = adc0832_adc_conversion(adc, channel->channel, adc 173 drivers/iio/adc/ti-adc0832.c mutex_unlock(&adc->lock); adc 179 drivers/iio/adc/ti-adc0832.c *value = regulator_get_voltage(adc->reg); adc 201 drivers/iio/adc/ti-adc0832.c struct adc0832 *adc = iio_priv(indio_dev); adc 206 drivers/iio/adc/ti-adc0832.c mutex_lock(&adc->lock); adc 212 drivers/iio/adc/ti-adc0832.c int ret = adc0832_adc_conversion(adc, scan_chan->channel, adc 215 drivers/iio/adc/ti-adc0832.c dev_warn(&adc->spi->dev, adc 226 drivers/iio/adc/ti-adc0832.c mutex_unlock(&adc->lock); adc 236 drivers/iio/adc/ti-adc0832.c struct adc0832 *adc; adc 239 drivers/iio/adc/ti-adc0832.c indio_dev = devm_iio_device_alloc(&spi->dev, sizeof(*adc)); adc 243 drivers/iio/adc/ti-adc0832.c adc = iio_priv(indio_dev); adc 244 drivers/iio/adc/ti-adc0832.c adc->spi = spi; adc 245 drivers/iio/adc/ti-adc0832.c mutex_init(&adc->lock); adc 255 drivers/iio/adc/ti-adc0832.c adc->mux_bits = 0; adc 260 drivers/iio/adc/ti-adc0832.c adc->mux_bits = 1; adc 265 drivers/iio/adc/ti-adc0832.c adc->mux_bits = 2; adc 270 drivers/iio/adc/ti-adc0832.c adc->mux_bits = 3; adc 278 drivers/iio/adc/ti-adc0832.c adc->reg = devm_regulator_get(&spi->dev, "vref"); adc 279 drivers/iio/adc/ti-adc0832.c if (IS_ERR(adc->reg)) adc 280 drivers/iio/adc/ti-adc0832.c return PTR_ERR(adc->reg); adc 282 drivers/iio/adc/ti-adc0832.c ret = regulator_enable(adc->reg); adc 301 drivers/iio/adc/ti-adc0832.c regulator_disable(adc->reg); adc 309 drivers/iio/adc/ti-adc0832.c struct adc0832 *adc = iio_priv(indio_dev); adc 313 drivers/iio/adc/ti-adc0832.c regulator_disable(adc->reg); adc 67 drivers/iio/adc/ti-adc084s021.c static int adc084s021_adc_conversion(struct adc084s021 *adc, void *data) adc 69 drivers/iio/adc/ti-adc084s021.c int n_words = (adc->spi_trans.len >> 1) - 1; /* Discard first word */ adc 74 drivers/iio/adc/ti-adc084s021.c ret = spi_sync(adc->spi, &adc->message); adc 79 drivers/iio/adc/ti-adc084s021.c *(p + i) = adc->rx_buf[i + 1]; adc 88 drivers/iio/adc/ti-adc084s021.c struct adc084s021 *adc = iio_priv(indio_dev); adc 97 drivers/iio/adc/ti-adc084s021.c ret = regulator_enable(adc->reg); adc 103 drivers/iio/adc/ti-adc084s021.c adc->tx_buf[0] = channel->channel << 3; adc 104 drivers/iio/adc/ti-adc084s021.c ret = adc084s021_adc_conversion(adc, val); adc 106 drivers/iio/adc/ti-adc084s021.c regulator_disable(adc->reg); adc 115 drivers/iio/adc/ti-adc084s021.c ret = regulator_enable(adc->reg); adc 119 drivers/iio/adc/ti-adc084s021.c ret = regulator_get_voltage(adc->reg); adc 120 drivers/iio/adc/ti-adc084s021.c regulator_disable(adc->reg); adc 142 drivers/iio/adc/ti-adc084s021.c struct adc084s021 *adc = iio_priv(indio_dev); adc 145 drivers/iio/adc/ti-adc084s021.c mutex_lock(&adc->lock); adc 147 drivers/iio/adc/ti-adc084s021.c if (adc084s021_adc_conversion(adc, &data) < 0) adc 148 drivers/iio/adc/ti-adc084s021.c dev_err(&adc->spi->dev, "Failed to read data\n"); adc 152 drivers/iio/adc/ti-adc084s021.c mutex_unlock(&adc->lock); adc 160 drivers/iio/adc/ti-adc084s021.c struct adc084s021 *adc = iio_priv(indio_dev); adc 168 drivers/iio/adc/ti-adc084s021.c adc->tx_buf[i++] = channel->channel << 3; adc 170 drivers/iio/adc/ti-adc084s021.c adc->spi_trans.len = 2 + (i * sizeof(__be16)); /* Trash + channels */ adc 172 drivers/iio/adc/ti-adc084s021.c return regulator_enable(adc->reg); adc 177 drivers/iio/adc/ti-adc084s021.c struct adc084s021 *adc = iio_priv(indio_dev); adc 179 drivers/iio/adc/ti-adc084s021.c adc->spi_trans.len = 4; /* Trash + single channel */ adc 181 drivers/iio/adc/ti-adc084s021.c return regulator_disable(adc->reg); adc 198 drivers/iio/adc/ti-adc084s021.c struct adc084s021 *adc; adc 201 drivers/iio/adc/ti-adc084s021.c indio_dev = devm_iio_device_alloc(&spi->dev, sizeof(*adc)); adc 207 drivers/iio/adc/ti-adc084s021.c adc = iio_priv(indio_dev); adc 208 drivers/iio/adc/ti-adc084s021.c adc->spi = spi; adc 223 drivers/iio/adc/ti-adc084s021.c adc->spi_trans.tx_buf = adc->tx_buf; adc 224 drivers/iio/adc/ti-adc084s021.c adc->spi_trans.rx_buf = adc->rx_buf; adc 225 drivers/iio/adc/ti-adc084s021.c adc->spi_trans.len = 4; /* Trash + single channel */ adc 226 drivers/iio/adc/ti-adc084s021.c spi_message_init_with_transfers(&adc->message, &adc->spi_trans, 1); adc 228 drivers/iio/adc/ti-adc084s021.c adc->reg = devm_regulator_get(&spi->dev, "vref"); adc 229 drivers/iio/adc/ti-adc084s021.c if (IS_ERR(adc->reg)) adc 230 drivers/iio/adc/ti-adc084s021.c return PTR_ERR(adc->reg); adc 232 drivers/iio/adc/ti-adc084s021.c mutex_init(&adc->lock); adc 121 drivers/iio/adc/ti-adc12138.c static int adc12138_mode_programming(struct adc12138 *adc, u8 mode, adc 125 drivers/iio/adc/ti-adc12138.c .tx_buf = adc->tx_buf, adc 126 drivers/iio/adc/ti-adc12138.c .rx_buf = adc->rx_buf, adc 132 drivers/iio/adc/ti-adc12138.c if (adc->id != adc12138) adc 135 drivers/iio/adc/ti-adc12138.c adc->tx_buf[0] = mode; adc 137 drivers/iio/adc/ti-adc12138.c ret = spi_sync_transfer(adc->spi, &xfer, 1); adc 141 drivers/iio/adc/ti-adc12138.c memcpy(rx_buf, adc->rx_buf, len); adc 146 drivers/iio/adc/ti-adc12138.c static int adc12138_read_status(struct adc12138 *adc) adc 151 drivers/iio/adc/ti-adc12138.c ret = adc12138_mode_programming(adc, ADC12138_MODE_READ_STATUS, adc 159 drivers/iio/adc/ti-adc12138.c static int __adc12138_start_conv(struct adc12138 *adc, adc 168 drivers/iio/adc/ti-adc12138.c return adc12138_mode_programming(adc, mode, data, len); adc 171 drivers/iio/adc/ti-adc12138.c static int adc12138_start_conv(struct adc12138 *adc, adc 176 drivers/iio/adc/ti-adc12138.c return __adc12138_start_conv(adc, channel, &trash, 1); adc 179 drivers/iio/adc/ti-adc12138.c static int adc12138_start_and_read_conv(struct adc12138 *adc, adc 183 drivers/iio/adc/ti-adc12138.c return __adc12138_start_conv(adc, channel, data, 2); adc 186 drivers/iio/adc/ti-adc12138.c static int adc12138_read_conv_data(struct adc12138 *adc, __be16 *value) adc 189 drivers/iio/adc/ti-adc12138.c return adc12138_mode_programming(adc, ADC12138_MODE_READ_STATUS, adc 193 drivers/iio/adc/ti-adc12138.c static int adc12138_wait_eoc(struct adc12138 *adc, unsigned long timeout) adc 195 drivers/iio/adc/ti-adc12138.c if (!wait_for_completion_timeout(&adc->complete, timeout)) adc 201 drivers/iio/adc/ti-adc12138.c static int adc12138_adc_conversion(struct adc12138 *adc, adc 207 drivers/iio/adc/ti-adc12138.c reinit_completion(&adc->complete); adc 209 drivers/iio/adc/ti-adc12138.c ret = adc12138_start_conv(adc, channel); adc 213 drivers/iio/adc/ti-adc12138.c ret = adc12138_wait_eoc(adc, msecs_to_jiffies(100)); adc 217 drivers/iio/adc/ti-adc12138.c return adc12138_read_conv_data(adc, value); adc 224 drivers/iio/adc/ti-adc12138.c struct adc12138 *adc = iio_priv(iio); adc 230 drivers/iio/adc/ti-adc12138.c mutex_lock(&adc->lock); adc 231 drivers/iio/adc/ti-adc12138.c ret = adc12138_adc_conversion(adc, channel, &data); adc 232 drivers/iio/adc/ti-adc12138.c mutex_unlock(&adc->lock); adc 240 drivers/iio/adc/ti-adc12138.c ret = regulator_get_voltage(adc->vref_p); adc 245 drivers/iio/adc/ti-adc12138.c if (!IS_ERR(adc->vref_n)) { adc 246 drivers/iio/adc/ti-adc12138.c ret = regulator_get_voltage(adc->vref_n); adc 258 drivers/iio/adc/ti-adc12138.c if (!IS_ERR(adc->vref_n)) { adc 259 drivers/iio/adc/ti-adc12138.c *value = regulator_get_voltage(adc->vref_n); adc 279 drivers/iio/adc/ti-adc12138.c static int adc12138_init(struct adc12138 *adc) adc 286 drivers/iio/adc/ti-adc12138.c reinit_completion(&adc->complete); adc 288 drivers/iio/adc/ti-adc12138.c ret = adc12138_mode_programming(adc, ADC12138_MODE_AUTO_CAL, &trash, 1); adc 293 drivers/iio/adc/ti-adc12138.c status = adc12138_read_status(adc); adc 297 drivers/iio/adc/ti-adc12138.c adc12138_wait_eoc(adc, msecs_to_jiffies(100)); adc 299 drivers/iio/adc/ti-adc12138.c status = adc12138_read_status(adc); adc 301 drivers/iio/adc/ti-adc12138.c dev_warn(&adc->spi->dev, adc 307 drivers/iio/adc/ti-adc12138.c switch (adc->acquisition_time) { adc 324 drivers/iio/adc/ti-adc12138.c return adc12138_mode_programming(adc, mode, &trash, 1); adc 331 drivers/iio/adc/ti-adc12138.c struct adc12138 *adc = iio_priv(indio_dev); adc 338 drivers/iio/adc/ti-adc12138.c mutex_lock(&adc->lock); adc 345 drivers/iio/adc/ti-adc12138.c reinit_completion(&adc->complete); adc 347 drivers/iio/adc/ti-adc12138.c ret = adc12138_start_and_read_conv(adc, scan_chan, adc 350 drivers/iio/adc/ti-adc12138.c dev_warn(&adc->spi->dev, adc 355 drivers/iio/adc/ti-adc12138.c ret = adc12138_wait_eoc(adc, msecs_to_jiffies(100)); adc 357 drivers/iio/adc/ti-adc12138.c dev_warn(&adc->spi->dev, "wait eoc timeout\n"); adc 365 drivers/iio/adc/ti-adc12138.c ret = adc12138_read_conv_data(adc, &data[i - 1]); adc 367 drivers/iio/adc/ti-adc12138.c dev_warn(&adc->spi->dev, adc 376 drivers/iio/adc/ti-adc12138.c mutex_unlock(&adc->lock); adc 386 drivers/iio/adc/ti-adc12138.c struct adc12138 *adc = iio_priv(indio_dev); adc 388 drivers/iio/adc/ti-adc12138.c complete(&adc->complete); adc 396 drivers/iio/adc/ti-adc12138.c struct adc12138 *adc; adc 399 drivers/iio/adc/ti-adc12138.c indio_dev = devm_iio_device_alloc(&spi->dev, sizeof(*adc)); adc 403 drivers/iio/adc/ti-adc12138.c adc = iio_priv(indio_dev); adc 404 drivers/iio/adc/ti-adc12138.c adc->spi = spi; adc 405 drivers/iio/adc/ti-adc12138.c adc->id = spi_get_device_id(spi)->driver_data; adc 406 drivers/iio/adc/ti-adc12138.c mutex_init(&adc->lock); adc 407 drivers/iio/adc/ti-adc12138.c init_completion(&adc->complete); adc 414 drivers/iio/adc/ti-adc12138.c switch (adc->id) { adc 429 drivers/iio/adc/ti-adc12138.c &adc->acquisition_time); adc 431 drivers/iio/adc/ti-adc12138.c adc->acquisition_time = 10; adc 433 drivers/iio/adc/ti-adc12138.c adc->cclk = devm_clk_get(&spi->dev, NULL); adc 434 drivers/iio/adc/ti-adc12138.c if (IS_ERR(adc->cclk)) adc 435 drivers/iio/adc/ti-adc12138.c return PTR_ERR(adc->cclk); adc 437 drivers/iio/adc/ti-adc12138.c adc->vref_p = devm_regulator_get(&spi->dev, "vref-p"); adc 438 drivers/iio/adc/ti-adc12138.c if (IS_ERR(adc->vref_p)) adc 439 drivers/iio/adc/ti-adc12138.c return PTR_ERR(adc->vref_p); adc 441 drivers/iio/adc/ti-adc12138.c adc->vref_n = devm_regulator_get_optional(&spi->dev, "vref-n"); adc 442 drivers/iio/adc/ti-adc12138.c if (IS_ERR(adc->vref_n)) { adc 447 drivers/iio/adc/ti-adc12138.c ret = PTR_ERR(adc->vref_n); adc 457 drivers/iio/adc/ti-adc12138.c ret = clk_prepare_enable(adc->cclk); adc 461 drivers/iio/adc/ti-adc12138.c ret = regulator_enable(adc->vref_p); adc 465 drivers/iio/adc/ti-adc12138.c if (!IS_ERR(adc->vref_n)) { adc 466 drivers/iio/adc/ti-adc12138.c ret = regulator_enable(adc->vref_n); adc 471 drivers/iio/adc/ti-adc12138.c ret = adc12138_init(adc); adc 490 drivers/iio/adc/ti-adc12138.c if (!IS_ERR(adc->vref_n)) adc 491 drivers/iio/adc/ti-adc12138.c regulator_disable(adc->vref_n); adc 493 drivers/iio/adc/ti-adc12138.c regulator_disable(adc->vref_p); adc 495 drivers/iio/adc/ti-adc12138.c clk_disable_unprepare(adc->cclk); adc 503 drivers/iio/adc/ti-adc12138.c struct adc12138 *adc = iio_priv(indio_dev); adc 507 drivers/iio/adc/ti-adc12138.c if (!IS_ERR(adc->vref_n)) adc 508 drivers/iio/adc/ti-adc12138.c regulator_disable(adc->vref_n); adc 509 drivers/iio/adc/ti-adc12138.c regulator_disable(adc->vref_p); adc 510 drivers/iio/adc/ti-adc12138.c clk_disable_unprepare(adc->cclk); adc 34 drivers/iio/adc/ti-adc128s052.c static int adc128_adc_conversion(struct adc128 *adc, u8 channel) adc 38 drivers/iio/adc/ti-adc128s052.c mutex_lock(&adc->lock); adc 40 drivers/iio/adc/ti-adc128s052.c adc->buffer[0] = channel << 3; adc 41 drivers/iio/adc/ti-adc128s052.c adc->buffer[1] = 0; adc 43 drivers/iio/adc/ti-adc128s052.c ret = spi_write(adc->spi, &adc->buffer, 2); adc 45 drivers/iio/adc/ti-adc128s052.c mutex_unlock(&adc->lock); adc 49 drivers/iio/adc/ti-adc128s052.c ret = spi_read(adc->spi, &adc->buffer, 2); adc 51 drivers/iio/adc/ti-adc128s052.c mutex_unlock(&adc->lock); adc 56 drivers/iio/adc/ti-adc128s052.c return ((adc->buffer[0] << 8 | adc->buffer[1]) & 0xFFF); adc 63 drivers/iio/adc/ti-adc128s052.c struct adc128 *adc = iio_priv(indio_dev); adc 69 drivers/iio/adc/ti-adc128s052.c ret = adc128_adc_conversion(adc, channel->channel); adc 78 drivers/iio/adc/ti-adc128s052.c ret = regulator_get_voltage(adc->reg); adc 138 drivers/iio/adc/ti-adc128s052.c struct adc128 *adc; adc 146 drivers/iio/adc/ti-adc128s052.c indio_dev = devm_iio_device_alloc(&spi->dev, sizeof(*adc)); adc 150 drivers/iio/adc/ti-adc128s052.c adc = iio_priv(indio_dev); adc 151 drivers/iio/adc/ti-adc128s052.c adc->spi = spi; adc 164 drivers/iio/adc/ti-adc128s052.c adc->reg = devm_regulator_get(&spi->dev, "vref"); adc 165 drivers/iio/adc/ti-adc128s052.c if (IS_ERR(adc->reg)) adc 166 drivers/iio/adc/ti-adc128s052.c return PTR_ERR(adc->reg); adc 168 drivers/iio/adc/ti-adc128s052.c ret = regulator_enable(adc->reg); adc 172 drivers/iio/adc/ti-adc128s052.c mutex_init(&adc->lock); adc 182 drivers/iio/adc/ti-adc128s052.c struct adc128 *adc = iio_priv(indio_dev); adc 185 drivers/iio/adc/ti-adc128s052.c regulator_disable(adc->reg); adc 76 drivers/iio/adc/ti-ads8344.c static int ads8344_adc_conversion(struct ads8344 *adc, int channel, adc 79 drivers/iio/adc/ti-ads8344.c struct spi_device *spi = adc->spi; adc 82 drivers/iio/adc/ti-ads8344.c adc->tx_buf = ADS8344_START; adc 84 drivers/iio/adc/ti-ads8344.c adc->tx_buf |= ADS8344_SINGLE_END; adc 85 drivers/iio/adc/ti-ads8344.c adc->tx_buf |= ADS8344_CHANNEL(channel); adc 86 drivers/iio/adc/ti-ads8344.c adc->tx_buf |= ADS8344_CLOCK_INTERNAL; adc 88 drivers/iio/adc/ti-ads8344.c ret = spi_write(spi, &adc->tx_buf, 1); adc 94 drivers/iio/adc/ti-ads8344.c ret = spi_read(spi, adc->rx_buf, sizeof(adc->rx_buf)); adc 98 drivers/iio/adc/ti-ads8344.c return adc->rx_buf[0] << 9 | adc->rx_buf[1] << 1 | adc->rx_buf[2] >> 7; adc 105 drivers/iio/adc/ti-ads8344.c struct ads8344 *adc = iio_priv(iio); adc 109 drivers/iio/adc/ti-ads8344.c mutex_lock(&adc->lock); adc 110 drivers/iio/adc/ti-ads8344.c *value = ads8344_adc_conversion(adc, channel->address, adc 112 drivers/iio/adc/ti-ads8344.c mutex_unlock(&adc->lock); adc 118 drivers/iio/adc/ti-ads8344.c *value = regulator_get_voltage(adc->reg); adc 139 drivers/iio/adc/ti-ads8344.c struct ads8344 *adc; adc 142 drivers/iio/adc/ti-ads8344.c indio_dev = devm_iio_device_alloc(&spi->dev, sizeof(*adc)); adc 146 drivers/iio/adc/ti-ads8344.c adc = iio_priv(indio_dev); adc 147 drivers/iio/adc/ti-ads8344.c adc->spi = spi; adc 148 drivers/iio/adc/ti-ads8344.c mutex_init(&adc->lock); adc 158 drivers/iio/adc/ti-ads8344.c adc->reg = devm_regulator_get(&spi->dev, "vref"); adc 159 drivers/iio/adc/ti-ads8344.c if (IS_ERR(adc->reg)) adc 160 drivers/iio/adc/ti-ads8344.c return PTR_ERR(adc->reg); adc 162 drivers/iio/adc/ti-ads8344.c ret = regulator_enable(adc->reg); adc 170 drivers/iio/adc/ti-ads8344.c regulator_disable(adc->reg); adc 180 drivers/iio/adc/ti-ads8344.c struct ads8344 *adc = iio_priv(indio_dev); adc 183 drivers/iio/adc/ti-ads8344.c regulator_disable(adc->reg); adc 62 drivers/iio/adc/ti_am335x_adc.c static unsigned int tiadc_readl(struct tiadc_device *adc, unsigned int reg) adc 64 drivers/iio/adc/ti_am335x_adc.c return readl(adc->mfd_tscadc->tscadc_base + reg); adc 67 drivers/iio/adc/ti_am335x_adc.c static void tiadc_writel(struct tiadc_device *adc, unsigned int reg, adc 70 drivers/iio/adc/ti_am335x_adc.c writel(val, adc->mfd_tscadc->tscadc_base + reg); adc 56 drivers/iio/adc/viperboard_adc.c struct vprbrd_adc *adc = iio_priv(iio_dev); adc 57 drivers/iio/adc/viperboard_adc.c struct vprbrd *vb = adc->vb; adc 110 drivers/iio/adc/viperboard_adc.c struct vprbrd_adc *adc; adc 115 drivers/iio/adc/viperboard_adc.c indio_dev = devm_iio_device_alloc(&pdev->dev, sizeof(*adc)); adc 121 drivers/iio/adc/viperboard_adc.c adc = iio_priv(indio_dev); adc 122 drivers/iio/adc/viperboard_adc.c adc->vb = vb; adc 105 drivers/iio/common/ms_sensors/ms_sensors_i2c.c unsigned int delay, u32 *adc) adc 126 drivers/iio/common/ms_sensors/ms_sensors_i2c.c *adc = be32_to_cpu(buf) >> 8; adc 421 drivers/iio/common/ms_sensors/ms_sensors_i2c.c u32 adc; adc 429 drivers/iio/common/ms_sensors/ms_sensors_i2c.c delay, &adc); adc 434 drivers/iio/common/ms_sensors/ms_sensors_i2c.c if (!ms_sensors_crc_valid(adc)) { adc 441 drivers/iio/common/ms_sensors/ms_sensors_i2c.c *temperature = (((s64)(adc >> 8) * 175720) >> 16) - 46850; adc 462 drivers/iio/common/ms_sensors/ms_sensors_i2c.c u32 adc; adc 470 drivers/iio/common/ms_sensors/ms_sensors_i2c.c delay, &adc); adc 475 drivers/iio/common/ms_sensors/ms_sensors_i2c.c if (!ms_sensors_crc_valid(adc)) { adc 482 drivers/iio/common/ms_sensors/ms_sensors_i2c.c *humidity = (((s32)(adc >> 8) * 12500) >> 16) * 10 - 6000; adc 46 drivers/iio/common/ms_sensors/ms_sensors_i2c.h unsigned int delay, u32 *adc); adc 202 drivers/iio/dac/ad5592r-base.c u8 pulldown = 0, tristate = 0, dac = 0, adc = 0; adc 212 drivers/iio/dac/ad5592r-base.c adc |= BIT(i); adc 217 drivers/iio/dac/ad5592r-base.c adc |= BIT(i); adc 267 drivers/iio/dac/ad5592r-base.c ret = ops->reg_write(st, AD5592R_REG_ADC_EN, adc); adc 285 drivers/iio/dac/ad5592r-base.c if (!ret && (read_back & 0xff) != adc) adc 63 drivers/iio/light/lm3533-als.c int *adc) adc 81 drivers/iio/light/lm3533-als.c *adc = val; adc 530 drivers/iio/light/si1133.c static int si1133_set_integration_time(struct si1133_data *data, u8 adc, adc 539 drivers/iio/light/si1133.c data->adc_sens[adc] &= 0xF0; adc 540 drivers/iio/light/si1133.c data->adc_sens[adc] |= index; adc 543 drivers/iio/light/si1133.c data->adc_sens[adc]); adc 557 drivers/iio/light/si1133.c static int si1133_chan_set_adcconfig(struct si1133_data *data, u8 adc, adc 562 drivers/iio/light/si1133.c err = si1133_param_set(data, SI1133_PARAM_REG_ADCCONFIG(adc), adc 567 drivers/iio/light/si1133.c data->adc_config[adc] = adc_config; adc 572 drivers/iio/light/si1133.c static int si1133_update_adcconfig(struct si1133_data *data, uint8_t adc, adc 578 drivers/iio/light/si1133.c err = si1133_param_query(data, SI1133_PARAM_REG_ADCCONFIG(adc), adc 586 drivers/iio/light/si1133.c return si1133_chan_set_adcconfig(data, adc, adc_config); adc 589 drivers/iio/light/si1133.c static int si1133_set_adcmux(struct si1133_data *data, u8 adc, u8 mux) adc 591 drivers/iio/light/si1133.c if ((mux & data->adc_config[adc]) == mux) adc 594 drivers/iio/light/si1133.c return si1133_update_adcconfig(data, adc, SI1133_ADCMUX_MASK, 0, mux); adc 676 drivers/iio/light/si1133.c static int si1133_chan_set_adcsens(struct si1133_data *data, u8 adc, adc 681 drivers/iio/light/si1133.c err = si1133_param_set(data, SI1133_PARAM_REG_ADCSENS(adc), adc_sens); adc 685 drivers/iio/light/si1133.c data->adc_sens[adc] = adc_sens; adc 253 drivers/iio/light/tsl2563.c static u32 tsl2563_normalize_adc(u16 adc, u8 timing) adc 255 drivers/iio/light/tsl2563.c return adc << tsl2563_adc_shiftbits(timing); adc 279 drivers/iio/light/tsl2563.c static int tsl2563_adjust_gainlevel(struct tsl2563_chip *chip, u16 adc) adc 283 drivers/iio/light/tsl2563.c if (adc > chip->gainlevel->max || adc < chip->gainlevel->min) { adc 285 drivers/iio/light/tsl2563.c (adc > chip->gainlevel->max) ? adc 432 drivers/iio/light/tsl2563.c static u32 tsl2563_calib_adc(u32 adc, u32 calib) adc 434 drivers/iio/light/tsl2563.c unsigned long scaled = adc; adc 35 drivers/iio/temperature/tsys01.c unsigned int delay, u32 *adc); adc 49 drivers/iio/temperature/tsys01.c u32 adc; adc 56 drivers/iio/temperature/tsys01.c TSYS01_ADC_READ, 9000, &adc); adc 61 drivers/iio/temperature/tsys01.c adc >>= 8; adc 67 drivers/iio/temperature/tsys01.c temp *= (s64)adc; adc 40 drivers/input/joystick/a3d.c struct gameport *adc; adc 250 drivers/input/joystick/a3d.c struct gameport *adc; adc 345 drivers/input/joystick/a3d.c if (!(a3d->adc = adc = gameport_allocate_port())) adc 348 drivers/input/joystick/a3d.c adc->port_data = a3d; adc 349 drivers/input/joystick/a3d.c adc->open = a3d_adc_open; adc 350 drivers/input/joystick/a3d.c adc->close = a3d_adc_close; adc 351 drivers/input/joystick/a3d.c adc->cooked_read = a3d_adc_cooked_read; adc 352 drivers/input/joystick/a3d.c adc->fuzz = 1; adc 354 drivers/input/joystick/a3d.c gameport_set_name(adc, a3d_names[a3d->mode]); adc 355 drivers/input/joystick/a3d.c gameport_set_phys(adc, "%s/gameport0", gameport->phys); adc 356 drivers/input/joystick/a3d.c adc->dev.parent = &gameport->dev; adc 358 drivers/input/joystick/a3d.c gameport_register_port(adc); adc 368 drivers/input/joystick/a3d.c fail3: if (a3d->adc) adc 369 drivers/input/joystick/a3d.c gameport_unregister_port(a3d->adc); adc 382 drivers/input/joystick/a3d.c if (a3d->adc) adc 383 drivers/input/joystick/a3d.c gameport_unregister_port(a3d->adc); adc 182 drivers/input/touchscreen/ads7846.c #define READ_12BIT_DFR(x, adc, vref) (ADS_START | ADS_A2A1A0_d_ ## x \ adc 184 drivers/input/touchscreen/ads7846.c (adc ? ADS_PD10_ADC_ON : 0) | (vref ? ADS_PD10_REF_ON : 0)) adc 584 drivers/leds/leds-lp5523.c u8 status, adc, vdd; adc 637 drivers/leds/leds-lp5523.c ret = lp55xx_read(chip, LP5523_REG_LED_TEST_ADC, &adc); adc 641 drivers/leds/leds-lp5523.c if (adc >= vdd || adc < LP5523_ADC_SHORTCIRC_LIM) adc 131 drivers/media/dvb-frontends/af9033.c utmp = div_u64((u64)clock_adc_lut[i].adc * 0x80000, 1000000); adc 140 drivers/media/dvb-frontends/af9033.c clock_adc_lut[i].adc, utmp); adc 423 drivers/media/dvb-frontends/af9033.c adc_freq = clock_adc_lut[i].adc; adc 38 drivers/media/dvb-frontends/af9033_priv.h u32 adc; adc 169 drivers/media/dvb-frontends/dib0070.c u16 adc; adc 190 drivers/media/dvb-frontends/dib0070.c adc = dib0070_read_reg(state, 0x19); adc 192 drivers/media/dvb-frontends/dib0070.c dprintk("CAPTRIM=%hd; ADC = %hd (ADC) & %dmV\n", state->captrim, adc, (u32) adc*(u32)1800/(u32)1024); adc 194 drivers/media/dvb-frontends/dib0070.c if (adc >= 400) { adc 195 drivers/media/dvb-frontends/dib0070.c adc -= 400; adc 198 drivers/media/dvb-frontends/dib0070.c adc = 400 - adc; adc 202 drivers/media/dvb-frontends/dib0070.c if (adc < state->adc_diff) { adc 203 drivers/media/dvb-frontends/dib0070.c dprintk("CAPTRIM=%hd is closer to target (%hd/%hd)\n", state->captrim, adc, state->adc_diff); adc 204 drivers/media/dvb-frontends/dib0070.c state->adc_diff = adc; adc 1202 drivers/media/dvb-frontends/dib0090.c int adc; adc 1233 drivers/media/dvb-frontends/dib0090.c adc = state->config->get_adc_power(fe); adc 1234 drivers/media/dvb-frontends/dib0090.c adc = (adc * ((s32) 355774) + (((s32) 1) << 20)) >> 21; /* included in [0:-700] */ adc 1236 drivers/media/dvb-frontends/dib0090.c adc_error = (s16) (((s32) ADC_TARGET) - adc); adc 1300 drivers/media/dvb-frontends/dib0090.c (u32) *tune_state, (u32) adc, (u32) adc_error, (u32) wbd, (u32) wbd_error, (u32) wbd_val, adc 1301 drivers/media/dvb-frontends/dib0090.c (u32) state->rf_gain_limit >> WBD_ALPHA, (s32) 200 + adc - (state->current_gain >> GAIN_ALPHA)); adc 2078 drivers/media/dvb-frontends/dib0090.c u16 adc; adc 2134 drivers/media/dvb-frontends/dib0090.c adc = dib0090_get_slow_adc_val(state); adc 2135 drivers/media/dvb-frontends/dib0090.c dprintk("CAPTRIM=%d; ADC = %d (ADC) & %dmV\n", (u32) state->captrim, (u32) adc, (u32) (adc) * (u32) 1800 / (u32) 1024); adc 2142 drivers/media/dvb-frontends/dib0090.c if (adc >= adc_target) { adc 2143 drivers/media/dvb-frontends/dib0090.c adc -= adc_target; adc 2146 drivers/media/dvb-frontends/dib0090.c adc = adc_target - adc; adc 2150 drivers/media/dvb-frontends/dib0090.c if (adc < state->adc_diff) { adc 2151 drivers/media/dvb-frontends/dib0090.c dprintk("CAPTRIM=%d is closer to target (%d/%d)\n", (u32) state->captrim, (u32) adc, (u32) state->adc_diff); adc 2152 drivers/media/dvb-frontends/dib0090.c state->adc_diff = adc; adc 224 drivers/media/tuners/max2165.c u8 vco, vco_sub_band, adc; adc 238 drivers/media/tuners/max2165.c adc = autotune & 0x7; adc 246 drivers/media/tuners/max2165.c dprintk("VCO: %d, VCO Sub-band: %d, ADC: %d\n", vco, vco_sub_band, adc); adc 2045 drivers/media/usb/dvb-usb/dib0700_devices.c static int dib8096p_get_best_sampling(struct dvb_frontend *fe, struct dibx090p_best_adc *adc) adc 2056 drivers/media/usb/dvb-usb/dib0700_devices.c adc->timf = 0; adc 2057 drivers/media/usb/dvb-usb/dib0700_devices.c adc->pll_loopdiv = loopdiv; adc 2058 drivers/media/usb/dvb-usb/dib0700_devices.c adc->pll_prediv = prediv; adc 2097 drivers/media/usb/dvb-usb/dib0700_devices.c adc->pll_loopdiv = loopdiv; adc 2098 drivers/media/usb/dvb-usb/dib0700_devices.c adc->pll_prediv = prediv; adc 2099 drivers/media/usb/dvb-usb/dib0700_devices.c adc->timf = (4260880253U / fdem) * (1 << 8); adc 2100 drivers/media/usb/dvb-usb/dib0700_devices.c adc->timf += ((4260880253U % fdem) << 8) / fdem; adc 2102 drivers/media/usb/dvb-usb/dib0700_devices.c deb_info("RF %6d; BW %6d; Xtal %6d; Fmem %6d; Fdem %6d; Fs %6d; Prediv %2d; Loopdiv %2d; Timf %8d;", fe->dtv_property_cache.frequency, fe->dtv_property_cache.bandwidth_hz, xtal, fmem, fdem, fs, prediv, loopdiv, adc->timf); adc 2112 drivers/media/usb/dvb-usb/dib0700_devices.c if (adc->pll_loopdiv == 0 && adc->pll_prediv == 0) adc 2122 drivers/media/usb/dvb-usb/dib0700_devices.c struct dibx090p_best_adc adc; adc 2137 drivers/media/usb/dvb-usb/dib0700_devices.c if (dib8096p_get_best_sampling(fe, &adc) == 0) { adc 2138 drivers/media/usb/dvb-usb/dib0700_devices.c pll.pll_ratio = adc.pll_loopdiv; adc 2139 drivers/media/usb/dvb-usb/dib0700_devices.c pll.pll_prediv = adc.pll_prediv; adc 2143 drivers/media/usb/dvb-usb/dib0700_devices.c state->dib8000_ops.ctrl_timf(fe, DEMOD_TIMF_SET, adc.timf); adc 2558 drivers/media/usb/dvb-usb/dib0700_devices.c static int dib7090p_get_best_sampling(struct dvb_frontend *fe , struct dibx090p_best_adc *adc) adc 2570 drivers/media/usb/dvb-usb/dib0700_devices.c adc->pll_loopdiv = loopdiv; adc 2571 drivers/media/usb/dvb-usb/dib0700_devices.c adc->pll_prediv = prediv; adc 2572 drivers/media/usb/dvb-usb/dib0700_devices.c adc->timf = 0; adc 2610 drivers/media/usb/dvb-usb/dib0700_devices.c adc->pll_loopdiv = loopdiv; adc 2611 drivers/media/usb/dvb-usb/dib0700_devices.c adc->pll_prediv = prediv; adc 2612 drivers/media/usb/dvb-usb/dib0700_devices.c adc->timf = 2396745143UL/fdem*(1 << 9); adc 2613 drivers/media/usb/dvb-usb/dib0700_devices.c adc->timf += ((2396745143UL%fdem) << 9)/fdem; adc 2614 drivers/media/usb/dvb-usb/dib0700_devices.c deb_info("loopdiv=%i prediv=%i timf=%i", loopdiv, prediv, adc->timf); adc 2625 drivers/media/usb/dvb-usb/dib0700_devices.c if (adc->pll_loopdiv == 0 && adc->pll_prediv == 0) adc 2637 drivers/media/usb/dvb-usb/dib0700_devices.c struct dibx090p_best_adc adc; adc 2649 drivers/media/usb/dvb-usb/dib0700_devices.c if (dib7090p_get_best_sampling(fe, &adc) == 0) { adc 2650 drivers/media/usb/dvb-usb/dib0700_devices.c pll.pll_ratio = adc.pll_loopdiv; adc 2651 drivers/media/usb/dvb-usb/dib0700_devices.c pll.pll_prediv = adc.pll_prediv; adc 2654 drivers/media/usb/dvb-usb/dib0700_devices.c state->dib7000p_ops.ctrl_timf(fe, DEMOD_TIMF_SET, adc.timf); adc 494 drivers/mfd/max8925-core.c i2c = chip->adc; adc 523 drivers/mfd/max8925-core.c i2c = chip->adc; adc 615 drivers/mfd/max8925-core.c max8925_reg_write(chip->adc, MAX8925_TSC_IRQ_MASK, irq_tsc); adc 674 drivers/mfd/max8925-core.c max8925_reg_read(chip->adc, MAX8925_TSC_IRQ); adc 710 drivers/mfd/max8925-core.c max8925_reg_write(chip->adc, MAX8925_TSC_IRQ_MASK, 0x0f); adc 844 drivers/mfd/max8925-core.c max8925_set_bits(chip->adc, MAX8925_TSC_CNFG1, 3, 2); adc 847 drivers/mfd/max8925-core.c ret = max8925_reg_read(chip->adc, MAX8925_TSC_IRQ); adc 850 drivers/mfd/max8925-core.c max8925_set_bits(chip->adc, MAX8925_ADC_SCHED, 3, 2); adc 186 drivers/mfd/max8925-i2c.c chip->adc = i2c_new_dummy_device(chip->i2c->adapter, ADC_I2C_ADDR); adc 187 drivers/mfd/max8925-i2c.c if (IS_ERR(chip->adc)) { adc 190 drivers/mfd/max8925-i2c.c return PTR_ERR(chip->adc); adc 192 drivers/mfd/max8925-i2c.c i2c_set_clientdata(chip->adc, chip); adc 206 drivers/mfd/max8925-i2c.c i2c_unregister_device(chip->adc); adc 69 drivers/mfd/pcf50633-adc.c struct pcf50633_adc *adc = __to_adc(pcf); adc 72 drivers/mfd/pcf50633-adc.c head = adc->queue_head; adc 74 drivers/mfd/pcf50633-adc.c if (!adc->queue[head]) adc 77 drivers/mfd/pcf50633-adc.c adc_setup(pcf, adc->queue[head]->mux, adc->queue[head]->avg); adc 83 drivers/mfd/pcf50633-adc.c struct pcf50633_adc *adc = __to_adc(pcf); adc 86 drivers/mfd/pcf50633-adc.c mutex_lock(&adc->queue_mutex); adc 88 drivers/mfd/pcf50633-adc.c head = adc->queue_head; adc 89 drivers/mfd/pcf50633-adc.c tail = adc->queue_tail; adc 91 drivers/mfd/pcf50633-adc.c if (adc->queue[tail]) { adc 92 drivers/mfd/pcf50633-adc.c mutex_unlock(&adc->queue_mutex); adc 97 drivers/mfd/pcf50633-adc.c adc->queue[tail] = req; adc 100 drivers/mfd/pcf50633-adc.c adc->queue_tail = (tail + 1) & (PCF50633_MAX_ADC_FIFO_DEPTH - 1); adc 102 drivers/mfd/pcf50633-adc.c mutex_unlock(&adc->queue_mutex); adc 170 drivers/mfd/pcf50633-adc.c struct pcf50633_adc *adc = data; adc 171 drivers/mfd/pcf50633-adc.c struct pcf50633 *pcf = adc->pcf; adc 175 drivers/mfd/pcf50633-adc.c mutex_lock(&adc->queue_mutex); adc 176 drivers/mfd/pcf50633-adc.c head = adc->queue_head; adc 178 drivers/mfd/pcf50633-adc.c req = adc->queue[head]; adc 181 drivers/mfd/pcf50633-adc.c mutex_unlock(&adc->queue_mutex); adc 184 drivers/mfd/pcf50633-adc.c adc->queue[head] = NULL; adc 185 drivers/mfd/pcf50633-adc.c adc->queue_head = (head + 1) & adc 191 drivers/mfd/pcf50633-adc.c mutex_unlock(&adc->queue_mutex); adc 199 drivers/mfd/pcf50633-adc.c struct pcf50633_adc *adc; adc 201 drivers/mfd/pcf50633-adc.c adc = devm_kzalloc(&pdev->dev, sizeof(*adc), GFP_KERNEL); adc 202 drivers/mfd/pcf50633-adc.c if (!adc) adc 205 drivers/mfd/pcf50633-adc.c adc->pcf = dev_to_pcf50633(pdev->dev.parent); adc 206 drivers/mfd/pcf50633-adc.c platform_set_drvdata(pdev, adc); adc 208 drivers/mfd/pcf50633-adc.c pcf50633_register_irq(adc->pcf, PCF50633_IRQ_ADCRDY, adc 209 drivers/mfd/pcf50633-adc.c pcf50633_adc_irq, adc); adc 211 drivers/mfd/pcf50633-adc.c mutex_init(&adc->queue_mutex); adc 218 drivers/mfd/pcf50633-adc.c struct pcf50633_adc *adc = platform_get_drvdata(pdev); adc 221 drivers/mfd/pcf50633-adc.c pcf50633_free_irq(adc->pcf, PCF50633_IRQ_ADCRDY); adc 223 drivers/mfd/pcf50633-adc.c mutex_lock(&adc->queue_mutex); adc 224 drivers/mfd/pcf50633-adc.c head = adc->queue_head; adc 226 drivers/mfd/pcf50633-adc.c if (WARN_ON(adc->queue[head])) adc 227 drivers/mfd/pcf50633-adc.c dev_err(adc->pcf->dev, adc 231 drivers/mfd/pcf50633-adc.c kfree(adc->queue[i]); adc 233 drivers/mfd/pcf50633-adc.c mutex_unlock(&adc->queue_mutex); adc 436 drivers/net/wireless/ath/ath9k/ar9003_mac.c const struct ar9003_txc *adc = ds; adc 440 drivers/net/wireless/ath/ath9k/ar9003_mac.c return MS(READ_ONCE(adc->ctl15), AR_PacketDur0); adc 442 drivers/net/wireless/ath/ath9k/ar9003_mac.c return MS(READ_ONCE(adc->ctl15), AR_PacketDur1); adc 444 drivers/net/wireless/ath/ath9k/ar9003_mac.c return MS(READ_ONCE(adc->ctl16), AR_PacketDur2); adc 446 drivers/net/wireless/ath/ath9k/ar9003_mac.c return MS(READ_ONCE(adc->ctl16), AR_PacketDur3); adc 94 drivers/power/supply/da9030_battery.c struct da9030_adc_res adc; adc 148 drivers/power/supply/da9030_battery.c charger->adc.vbat_res, adc 149 drivers/power/supply/da9030_battery.c da9030_reg_to_mV(charger->adc.vbat_res)); adc 151 drivers/power/supply/da9030_battery.c charger->adc.vbatmin_res, adc 152 drivers/power/supply/da9030_battery.c da9030_reg_to_mV(charger->adc.vbatmin_res)); adc 154 drivers/power/supply/da9030_battery.c charger->adc.vbatmintxon, adc 155 drivers/power/supply/da9030_battery.c da9030_reg_to_mV(charger->adc.vbatmintxon)); adc 157 drivers/power/supply/da9030_battery.c charger->adc.ichmax_res, adc 158 drivers/power/supply/da9030_battery.c da9030_reg_to_mV(charger->adc.ichmax_res)); adc 160 drivers/power/supply/da9030_battery.c charger->adc.ichmin_res, adc 161 drivers/power/supply/da9030_battery.c da9030_reg_to_mA(charger->adc.ichmin_res)); adc 163 drivers/power/supply/da9030_battery.c charger->adc.ichaverage_res, adc 164 drivers/power/supply/da9030_battery.c da9030_reg_to_mA(charger->adc.ichaverage_res)); adc 166 drivers/power/supply/da9030_battery.c charger->adc.vchmax_res, adc 167 drivers/power/supply/da9030_battery.c da9030_reg_to_mA(charger->adc.vchmax_res)); adc 169 drivers/power/supply/da9030_battery.c charger->adc.vchmin_res, adc 170 drivers/power/supply/da9030_battery.c da9030_reg_to_mV(charger->adc.vchmin_res)); adc 209 drivers/power/supply/da9030_battery.c struct da9030_adc_res *adc) adc 212 drivers/power/supply/da9030_battery.c sizeof(*adc), (uint8_t *)adc); adc 224 drivers/power/supply/da9030_battery.c da9030_read_adc(charger, &charger->adc); adc 256 drivers/power/supply/da9030_battery.c (charger->adc.vbat_res < adc 267 drivers/power/supply/da9030_battery.c if (charger->adc.vbat_res >= adc 272 drivers/power/supply/da9030_battery.c } else if (charger->adc.vbat_res > adc 280 drivers/power/supply/da9030_battery.c if (charger->adc.vchmax_res > charger->thresholds.vcharge_max || adc 281 drivers/power/supply/da9030_battery.c charger->adc.vchmin_res < charger->thresholds.vcharge_min || adc 283 drivers/power/supply/da9030_battery.c charger->adc.tbat_res < charger->thresholds.tbat_high || adc 284 drivers/power/supply/da9030_battery.c charger->adc.tbat_res > charger->thresholds.tbat_low) { adc 361 drivers/power/supply/da9030_battery.c val->intval = da9030_reg_to_mV(charger->adc.vbat_res) * 1000; adc 365 drivers/power/supply/da9030_battery.c da9030_reg_to_mA(charger->adc.ichaverage_res) * 1000; adc 379 drivers/power/supply/da9030_battery.c da9030_read_adc(charger, &charger->adc); adc 384 drivers/power/supply/da9030_battery.c if (charger->adc.vbat_res < charger->thresholds.vbat_low) { adc 390 drivers/power/supply/da9030_battery.c } else if (charger->adc.vbat_res < adc 66 drivers/power/supply/max8925_power.c struct i2c_client *adc; adc 186 drivers/power/supply/max8925_power.c max8925_reg_write(info->adc, meas_cmd, 0); adc 187 drivers/power/supply/max8925_power.c max8925_bulk_read(info->adc, meas_reg, 2, buf); adc 525 drivers/power/supply/max8925_power.c info->adc = chip->adc; adc 123 drivers/power/supply/sc27xx_fuel_gauge.c static int sc27xx_fgu_adc_to_current(struct sc27xx_fgu_data *data, int adc) adc 125 drivers/power/supply/sc27xx_fuel_gauge.c return DIV_ROUND_CLOSEST(adc * 1000, data->cur_1000ma_adc); adc 128 drivers/power/supply/sc27xx_fuel_gauge.c static int sc27xx_fgu_adc_to_voltage(struct sc27xx_fgu_data *data, int adc) adc 130 drivers/power/supply/sc27xx_fuel_gauge.c return DIV_ROUND_CLOSEST(adc * 1000, data->vol_1000mv_adc); adc 691 drivers/power/supply/sc27xx_fuel_gauge.c int ret, ocv, chg_sts, adc; adc 771 drivers/power/supply/sc27xx_fuel_gauge.c adc = sc27xx_fgu_voltage_to_adc(data, data->min_volt / 1000); adc 774 drivers/power/supply/sc27xx_fuel_gauge.c SC27XX_FGU_LOW_OVERLOAD_MASK, adc); adc 73 drivers/thermal/broadcom/bcm2835_thermal.c static int bcm2835_thermal_adc2temp(u32 adc, int offset, int slope) adc 75 drivers/thermal/broadcom/bcm2835_thermal.c return offset + slope * adc; adc 79 drivers/thermal/qcom/qcom-spmi-temp-alarm.c struct iio_channel *adc; adc 180 drivers/thermal/qcom/qcom-spmi-temp-alarm.c if (!chip->adc) { adc 187 drivers/thermal/qcom/qcom-spmi-temp-alarm.c ret = iio_read_channel_processed(chip->adc, &mili_celsius); adc 227 drivers/thermal/qcom/qcom-spmi-temp-alarm.c if (chip->adc) adc 381 drivers/thermal/qcom/qcom-spmi-temp-alarm.c chip->adc = devm_iio_channel_get(&pdev->dev, "thermal"); adc 382 drivers/thermal/qcom/qcom-spmi-temp-alarm.c if (IS_ERR(chip->adc)) { adc 383 drivers/thermal/qcom/qcom-spmi-temp-alarm.c ret = PTR_ERR(chip->adc); adc 384 drivers/thermal/qcom/qcom-spmi-temp-alarm.c chip->adc = NULL; adc 113 drivers/thermal/qcom/tsens-common.c if (priv->feat->adc) { adc 333 drivers/thermal/qcom/tsens-v0_1.c .adc = 1, adc 151 drivers/thermal/qcom/tsens-v1.c .adc = 1, adc 33 drivers/thermal/qcom/tsens-v2.c .adc = 0, adc 256 drivers/thermal/qcom/tsens.h unsigned int adc:1; adc 195 include/linux/mfd/max8925.h struct i2c_client *adc; adc 187 include/linux/mfd/ti_am335x_tscadc.h struct adc_device *adc; adc 84 sound/mips/hal2.c struct hal2_codec adc; adc 307 sound/mips/hal2.c if (hal2->adc.pbus.pbus->pbdma_ctrl & HPC3_PDMACTRL_INT) { adc 308 sound/mips/hal2.c snd_pcm_period_elapsed(hal2->adc.substream); adc 346 sound/mips/hal2.c unsigned int master = hal2->adc.master; adc 347 sound/mips/hal2.c int inc = hal2->adc.inc; adc 348 sound/mips/hal2.c int mod = hal2->adc.mod; adc 391 sound/mips/hal2.c struct hal2_pbus *pbus = &hal2->adc.pbus; adc 393 sound/mips/hal2.c sample_size = 2 * hal2->adc.voices; adc 410 sound/mips/hal2.c | (hal2->adc.voices << H2I_C1_DATAT_SHIFT)); adc 425 sound/mips/hal2.c struct hal2_pbus *pbus = &hal2->adc.pbus; adc 427 sound/mips/hal2.c pbus->pbus->pbdma_dptr = hal2->adc.desc_dma; adc 441 sound/mips/hal2.c hal2->adc.pbus.pbus->pbdma_ctrl = HPC3_PDMACTRL_LD; adc 617 sound/mips/hal2.c struct hal2_codec *adc = &hal2->adc; adc 622 sound/mips/hal2.c err = hal2_alloc_dmabuf(hal2, adc); adc 632 sound/mips/hal2.c hal2_free_dmabuf(hal2, &hal2->adc); adc 640 sound/mips/hal2.c struct hal2_codec *adc = &hal2->adc; adc 642 sound/mips/hal2.c adc->voices = runtime->channels; adc 643 sound/mips/hal2.c adc->sample_rate = hal2_compute_rate(adc, runtime->rate); adc 644 sound/mips/hal2.c memset(&adc->pcm_indirect, 0, sizeof(adc->pcm_indirect)); adc 645 sound/mips/hal2.c adc->pcm_indirect.hw_buffer_size = H2_BUF_SIZE; adc 646 sound/mips/hal2.c adc->pcm_indirect.hw_queue_size = H2_BUF_SIZE / 2; adc 647 sound/mips/hal2.c adc->pcm_indirect.hw_io = adc->buffer_dma; adc 648 sound/mips/hal2.c adc->pcm_indirect.sw_buffer_size = snd_pcm_lib_buffer_bytes(substream); adc 649 sound/mips/hal2.c adc->substream = substream; adc 675 sound/mips/hal2.c struct hal2_codec *adc = &hal2->adc; adc 677 sound/mips/hal2.c return snd_pcm_indirect_capture_pointer(substream, &adc->pcm_indirect, adc 678 sound/mips/hal2.c adc->pbus.pbus->pbdma_bptr); adc 685 sound/mips/hal2.c unsigned char *buf = hal2->adc.buffer + rec->hw_data; adc 694 sound/mips/hal2.c struct hal2_codec *adc = &hal2->adc; adc 697 sound/mips/hal2.c &adc->pcm_indirect, adc 828 sound/mips/hal2.c hal2_init_codec(&hal2->adc, hpc3, 1); adc 854 sound/mips/hal2.c hpc3->pbus_dmacfg[hal2->adc.pbus.pbusnr][0] = 0x8208844; adc 3243 sound/pci/hda/hda_generic.c hda_nid_t adc = spec->adc_nids[c]; adc 3245 sound/pci/hda/hda_generic.c if (!is_reachable_path(codec, pin, adc)) adc 3247 sound/pci/hda/hda_generic.c path = snd_hda_add_new_path(codec, pin, adc, anchor); adc 6705 sound/pci/hda/patch_ca0132.c static void init_input(struct hda_codec *codec, hda_nid_t pin, hda_nid_t adc) adc 6714 sound/pci/hda/patch_ca0132.c if (adc && (get_wcaps(codec, adc) & AC_WCAP_IN_AMP)) { adc 6715 sound/pci/hda/patch_ca0132.c snd_hda_codec_write(codec, adc, 0, AC_VERB_SET_AMP_GAIN_MUTE, adc 6719 sound/pci/hda/patch_ca0132.c snd_hda_codec_amp_stereo(codec, adc, HDA_INPUT, 0, adc 6721 sound/pci/hda/patch_ca0132.c snd_hda_codec_amp_stereo(codec, adc, HDA_INPUT, 0, adc 756 sound/pci/hda/patch_cirrus.c static void cs4208_fix_amp_caps(struct hda_codec *codec, hda_nid_t adc) adc 760 sound/pci/hda/patch_cirrus.c caps = query_amp_caps(codec, adc, HDA_INPUT); adc 763 sound/pci/hda/patch_cirrus.c snd_hda_override_amp_caps(codec, adc, HDA_INPUT, caps); adc 229 sound/soc/codecs/tlv320aic23.c static unsigned get_score(int adc, int adc_l, int adc_h, int need_adc, adc 232 sound/soc/codecs/tlv320aic23.c if ((adc >= adc_l) && (adc <= adc_h) && adc 234 sound/soc/codecs/tlv320aic23.c int diff_adc = need_adc - adc; adc 264 sound/soc/codecs/tlv320aic23.c int adc; adc 269 sound/soc/codecs/tlv320aic23.c adc = base * sr_adc_mult_table[j]; adc 271 sound/soc/codecs/tlv320aic23.c score = get_score(adc, adc_l, adc_h, need_adc, adc 279 sound/soc/codecs/tlv320aic23.c score = get_score((adc >> 1), adc_l, adc_h, need_adc, adc 300 sound/soc/codecs/tlv320aic23.c int adc = (val * sr_adc_mult_table[sr]) / SR_MULT; adc 303 sound/soc/codecs/tlv320aic23.c adc >>= 1; adc 306 sound/soc/codecs/tlv320aic23.c *sample_rate_adc = adc; adc 324 sound/soc/codecs/tlv320aic23.c u32 adc, dac; adc 325 sound/soc/codecs/tlv320aic23.c get_current_sample_rates(component, mclk, &adc, &dac); adc 327 sound/soc/codecs/tlv320aic23.c adc, dac, data); adc 1050 sound/soc/codecs/wm8994.c int adc; adc 1071 sound/soc/codecs/wm8994.c adc = WM8994_AIF1ADC1R_ENA | WM8994_AIF1ADC2R_ENA; adc 1074 sound/soc/codecs/wm8994.c adc = WM8994_AIF1ADC1L_ENA | WM8994_AIF1ADC2L_ENA; adc 1076 sound/soc/codecs/wm8994.c adc = WM8994_AIF1ADC1R_ENA | WM8994_AIF1ADC2R_ENA | adc 1091 sound/soc/codecs/wm8994.c mask, adc); adc 1145 sound/soc/codecs/wm8994.c int adc; adc 1153 sound/soc/codecs/wm8994.c adc = WM8994_AIF2ADCR_ENA; adc 1156 sound/soc/codecs/wm8994.c adc = WM8994_AIF2ADCL_ENA; adc 1158 sound/soc/codecs/wm8994.c adc = WM8994_AIF2ADCL_ENA | WM8994_AIF2ADCR_ENA; adc 1173 sound/soc/codecs/wm8994.c WM8994_AIF2ADCR_ENA, adc);