stmpe 32 drivers/gpio/gpio-stmpe.c struct stmpe *stmpe; stmpe 44 drivers/gpio/gpio-stmpe.c struct stmpe *stmpe = stmpe_gpio->stmpe; stmpe 45 drivers/gpio/gpio-stmpe.c u8 reg = stmpe->regs[STMPE_IDX_GPMR_LSB + (offset / 8)]; stmpe 49 drivers/gpio/gpio-stmpe.c ret = stmpe_reg_read(stmpe, reg); stmpe 59 drivers/gpio/gpio-stmpe.c struct stmpe *stmpe = stmpe_gpio->stmpe; stmpe 61 drivers/gpio/gpio-stmpe.c u8 reg = stmpe->regs[which + (offset / 8)]; stmpe 68 drivers/gpio/gpio-stmpe.c if (stmpe->regs[STMPE_IDX_GPSR_LSB] == stmpe->regs[STMPE_IDX_GPCR_LSB]) stmpe 69 drivers/gpio/gpio-stmpe.c stmpe_set_bits(stmpe, reg, mask, val ? mask : 0); stmpe 71 drivers/gpio/gpio-stmpe.c stmpe_reg_write(stmpe, reg, mask); stmpe 78 drivers/gpio/gpio-stmpe.c struct stmpe *stmpe = stmpe_gpio->stmpe; stmpe 79 drivers/gpio/gpio-stmpe.c u8 reg = stmpe->regs[STMPE_IDX_GPDR_LSB] - (offset / 8); stmpe 83 drivers/gpio/gpio-stmpe.c ret = stmpe_reg_read(stmpe, reg); stmpe 94 drivers/gpio/gpio-stmpe.c struct stmpe *stmpe = stmpe_gpio->stmpe; stmpe 95 drivers/gpio/gpio-stmpe.c u8 reg = stmpe->regs[STMPE_IDX_GPDR_LSB + (offset / 8)]; stmpe 100 drivers/gpio/gpio-stmpe.c return stmpe_set_bits(stmpe, reg, mask, mask); stmpe 107 drivers/gpio/gpio-stmpe.c struct stmpe *stmpe = stmpe_gpio->stmpe; stmpe 108 drivers/gpio/gpio-stmpe.c u8 reg = stmpe->regs[STMPE_IDX_GPDR_LSB + (offset / 8)]; stmpe 111 drivers/gpio/gpio-stmpe.c return stmpe_set_bits(stmpe, reg, mask, 0); stmpe 117 drivers/gpio/gpio-stmpe.c struct stmpe *stmpe = stmpe_gpio->stmpe; stmpe 122 drivers/gpio/gpio-stmpe.c return stmpe_set_altfunc(stmpe, BIT(offset), STMPE_BLOCK_GPIO); stmpe 149 drivers/gpio/gpio-stmpe.c if (stmpe_gpio->stmpe->partnum == STMPE801 || stmpe 150 drivers/gpio/gpio-stmpe.c stmpe_gpio->stmpe->partnum == STMPE1600) stmpe 178 drivers/gpio/gpio-stmpe.c struct stmpe *stmpe = stmpe_gpio->stmpe; stmpe 179 drivers/gpio/gpio-stmpe.c int num_banks = DIV_ROUND_UP(stmpe->num_gpios, 8); stmpe 198 drivers/gpio/gpio-stmpe.c if (stmpe->partnum == STMPE1600) { stmpe 199 drivers/gpio/gpio-stmpe.c stmpe_reg_read(stmpe, stmpe->regs[STMPE_IDX_GPMR_LSB]); stmpe 200 drivers/gpio/gpio-stmpe.c stmpe_reg_read(stmpe, stmpe->regs[STMPE_IDX_GPMR_CSB]); stmpe 205 drivers/gpio/gpio-stmpe.c if ((stmpe->partnum == STMPE801 || stmpe 206 drivers/gpio/gpio-stmpe.c stmpe->partnum == STMPE1600) && stmpe 218 drivers/gpio/gpio-stmpe.c stmpe_reg_write(stmpe, stmpe->regs[regmap[i][j]], new); stmpe 252 drivers/gpio/gpio-stmpe.c struct stmpe *stmpe = stmpe_gpio->stmpe; stmpe 256 drivers/gpio/gpio-stmpe.c u8 dir_reg = stmpe->regs[STMPE_IDX_GPDR_LSB + bank]; stmpe 261 drivers/gpio/gpio-stmpe.c ret = stmpe_reg_read(stmpe, dir_reg); stmpe 297 drivers/gpio/gpio-stmpe.c switch (stmpe->partnum) { stmpe 303 drivers/gpio/gpio-stmpe.c edge_det_reg = stmpe->regs[STMPE_IDX_GPEDR_LSB + bank]; stmpe 304 drivers/gpio/gpio-stmpe.c ret = stmpe_reg_read(stmpe, edge_det_reg); stmpe 310 drivers/gpio/gpio-stmpe.c rise_reg = stmpe->regs[STMPE_IDX_GPRER_LSB + bank]; stmpe 311 drivers/gpio/gpio-stmpe.c fall_reg = stmpe->regs[STMPE_IDX_GPFER_LSB + bank]; stmpe 313 drivers/gpio/gpio-stmpe.c ret = stmpe_reg_read(stmpe, rise_reg); stmpe 317 drivers/gpio/gpio-stmpe.c ret = stmpe_reg_read(stmpe, fall_reg); stmpe 324 drivers/gpio/gpio-stmpe.c irqen_reg = stmpe->regs[STMPE_IDX_IEGPIOR_LSB + bank]; stmpe 331 drivers/gpio/gpio-stmpe.c ret = stmpe_reg_read(stmpe, irqen_reg); stmpe 371 drivers/gpio/gpio-stmpe.c struct stmpe *stmpe = stmpe_gpio->stmpe; stmpe 373 drivers/gpio/gpio-stmpe.c int num_banks = DIV_ROUND_UP(stmpe->num_gpios, 8); stmpe 386 drivers/gpio/gpio-stmpe.c if (stmpe->partnum == STMPE1600) stmpe 387 drivers/gpio/gpio-stmpe.c statmsbreg = stmpe->regs[STMPE_IDX_ISGPIOR_LSB]; stmpe 389 drivers/gpio/gpio-stmpe.c statmsbreg = stmpe->regs[STMPE_IDX_ISGPIOR_MSB]; stmpe 391 drivers/gpio/gpio-stmpe.c ret = stmpe_block_read(stmpe, statmsbreg, num_banks, status); stmpe 396 drivers/gpio/gpio-stmpe.c int bank = (stmpe_gpio->stmpe->partnum == STMPE1600) ? i : stmpe 420 drivers/gpio/gpio-stmpe.c if (stmpe->partnum != STMPE801 && stmpe->partnum != STMPE1600 && stmpe 421 drivers/gpio/gpio-stmpe.c stmpe->partnum != STMPE1801) { stmpe 422 drivers/gpio/gpio-stmpe.c stmpe_reg_write(stmpe, statmsbreg + i, status[i]); stmpe 423 drivers/gpio/gpio-stmpe.c stmpe_reg_write(stmpe, stmpe 424 drivers/gpio/gpio-stmpe.c stmpe->regs[STMPE_IDX_GPEDR_MSB] + i, stmpe 451 drivers/gpio/gpio-stmpe.c struct stmpe *stmpe = dev_get_drvdata(pdev->dev.parent); stmpe 456 drivers/gpio/gpio-stmpe.c if (stmpe->num_gpios > MAX_GPIOS) { stmpe 468 drivers/gpio/gpio-stmpe.c stmpe_gpio->stmpe = stmpe; stmpe 470 drivers/gpio/gpio-stmpe.c stmpe_gpio->chip.ngpio = stmpe->num_gpios; stmpe 496 drivers/gpio/gpio-stmpe.c ret = stmpe_enable(stmpe, STMPE_BLOCK_GPIO); stmpe 535 drivers/gpio/gpio-stmpe.c stmpe_disable(stmpe, STMPE_BLOCK_GPIO); stmpe 47 drivers/iio/adc/stmpe-adc.c struct stmpe *stmpe; stmpe 77 drivers/iio/adc/stmpe-adc.c stmpe_reg_write(info->stmpe, STMPE_REG_ADC_CAPT, stmpe 83 drivers/iio/adc/stmpe-adc.c stmpe_reg_write(info->stmpe, STMPE_REG_ADC_INT_STA, stmpe 112 drivers/iio/adc/stmpe-adc.c stmpe_reg_write(info->stmpe, STMPE_REG_TEMP_CTRL, stmpe 165 drivers/iio/adc/stmpe-adc.c *val2 = info->stmpe->mod_12b ? 12 : 10; stmpe 183 drivers/iio/adc/stmpe-adc.c int_sta = stmpe_reg_read(info->stmpe, STMPE_REG_ADC_INT_STA); stmpe 190 drivers/iio/adc/stmpe-adc.c stmpe_block_read(info->stmpe, stmpe 193 drivers/iio/adc/stmpe-adc.c stmpe_reg_write(info->stmpe, STMPE_REG_ADC_INT_STA, int_sta); stmpe 196 drivers/iio/adc/stmpe-adc.c stmpe_block_read(info->stmpe, STMPE_REG_TEMP_DATA, 2, stmpe 232 drivers/iio/adc/stmpe-adc.c struct stmpe *stmpe = adc->stmpe; stmpe 234 drivers/iio/adc/stmpe-adc.c ret = stmpe_enable(stmpe, STMPE_BLOCK_ADC); stmpe 236 drivers/iio/adc/stmpe-adc.c dev_err(stmpe->dev, "Could not enable clock for ADC\n"); stmpe 240 drivers/iio/adc/stmpe-adc.c ret = stmpe811_adc_common_init(stmpe); stmpe 242 drivers/iio/adc/stmpe-adc.c stmpe_disable(stmpe, STMPE_BLOCK_ADC); stmpe 247 drivers/iio/adc/stmpe-adc.c stmpe_reg_write(stmpe, STMPE_REG_TEMP_TH, 0); stmpe 248 drivers/iio/adc/stmpe-adc.c stmpe_reg_write(stmpe, STMPE_REG_TEMP_TH + 1, 0); stmpe 304 drivers/iio/adc/stmpe-adc.c info->stmpe = dev_get_drvdata(pdev->dev.parent); stmpe 327 drivers/iio/adc/stmpe-adc.c stmpe_reg_write(info->stmpe, STMPE_REG_ADC_INT_EN, stmpe 330 drivers/iio/adc/stmpe-adc.c stmpe_reg_write(info->stmpe, STMPE_REG_ADC_INT_STA, stmpe 129 drivers/input/keyboard/stmpe-keypad.c struct stmpe *stmpe; stmpe 143 drivers/input/keyboard/stmpe-keypad.c struct stmpe *stmpe = keypad->stmpe; stmpe 148 drivers/input/keyboard/stmpe-keypad.c return stmpe_block_read(stmpe, STMPE_KPC_DATA_BYTE0, stmpe 152 drivers/input/keyboard/stmpe-keypad.c ret = stmpe_reg_read(stmpe, STMPE_KPC_DATA_BYTE0 + i); stmpe 199 drivers/input/keyboard/stmpe-keypad.c struct stmpe *stmpe = keypad->stmpe; stmpe 200 drivers/input/keyboard/stmpe-keypad.c u8 pureg = stmpe->regs[STMPE_IDX_GPPUR_LSB]; stmpe 237 drivers/input/keyboard/stmpe-keypad.c ret = stmpe_set_altfunc(stmpe, pins, STMPE_BLOCK_KEYPAD); stmpe 250 drivers/input/keyboard/stmpe-keypad.c ret = stmpe_reg_read(stmpe, pureg); stmpe 258 drivers/input/keyboard/stmpe-keypad.c ret = stmpe_reg_write(stmpe, pureg, val); stmpe 267 drivers/input/keyboard/stmpe-keypad.c struct stmpe *stmpe = keypad->stmpe; stmpe 276 drivers/input/keyboard/stmpe-keypad.c ret = stmpe_enable(stmpe, STMPE_BLOCK_KEYPAD); stmpe 284 drivers/input/keyboard/stmpe-keypad.c ret = stmpe_reg_write(stmpe, STMPE_KPC_COL, keypad->cols); stmpe 288 drivers/input/keyboard/stmpe-keypad.c ret = stmpe_reg_write(stmpe, STMPE_KPC_ROW_LSB, keypad->rows); stmpe 293 drivers/input/keyboard/stmpe-keypad.c ret = stmpe_set_bits(stmpe, STMPE_KPC_ROW_MSB, stmpe 300 drivers/input/keyboard/stmpe-keypad.c ret = stmpe_set_bits(stmpe, STMPE_KPC_CTRL_MSB, stmpe 306 drivers/input/keyboard/stmpe-keypad.c return stmpe_set_bits(stmpe, STMPE_KPC_CTRL_LSB, stmpe 332 drivers/input/keyboard/stmpe-keypad.c struct stmpe *stmpe = dev_get_drvdata(pdev->dev.parent); stmpe 350 drivers/input/keyboard/stmpe-keypad.c keypad->stmpe = stmpe; stmpe 351 drivers/input/keyboard/stmpe-keypad.c keypad->variant = &stmpe_keypad_variants[stmpe->partnum]; stmpe 410 drivers/input/keyboard/stmpe-keypad.c stmpe_disable(keypad->stmpe, STMPE_BLOCK_KEYPAD); stmpe 71 drivers/input/touchscreen/stmpe-ts.c struct stmpe *stmpe; stmpe 82 drivers/input/touchscreen/stmpe-ts.c static int __stmpe_reset_fifo(struct stmpe *stmpe) stmpe 86 drivers/input/touchscreen/stmpe-ts.c ret = stmpe_set_bits(stmpe, STMPE_REG_FIFO_STA, stmpe 91 drivers/input/touchscreen/stmpe-ts.c return stmpe_set_bits(stmpe, STMPE_REG_FIFO_STA, stmpe 103 drivers/input/touchscreen/stmpe-ts.c int_sta = stmpe_reg_read(ts->stmpe, STMPE_REG_INT_STA); stmpe 114 drivers/input/touchscreen/stmpe-ts.c int_sta = stmpe_reg_read(ts->stmpe, STMPE_REG_INT_STA); stmpe 119 drivers/input/touchscreen/stmpe-ts.c __stmpe_reset_fifo(ts->stmpe); stmpe 144 drivers/input/touchscreen/stmpe-ts.c stmpe_set_bits(ts->stmpe, STMPE_REG_TSC_CTRL, stmpe 147 drivers/input/touchscreen/stmpe-ts.c stmpe_block_read(ts->stmpe, STMPE_REG_TSC_DATA_XYZ, 4, data_set); stmpe 160 drivers/input/touchscreen/stmpe-ts.c __stmpe_reset_fifo(ts->stmpe); stmpe 163 drivers/input/touchscreen/stmpe-ts.c stmpe_set_bits(ts->stmpe, STMPE_REG_TSC_CTRL, stmpe 176 drivers/input/touchscreen/stmpe-ts.c struct stmpe *stmpe = ts->stmpe; stmpe 179 drivers/input/touchscreen/stmpe-ts.c ret = stmpe_enable(stmpe, STMPE_BLOCK_TOUCHSCREEN | STMPE_BLOCK_ADC); stmpe 185 drivers/input/touchscreen/stmpe-ts.c ret = stmpe811_adc_common_init(stmpe); stmpe 187 drivers/input/touchscreen/stmpe-ts.c stmpe_disable(stmpe, STMPE_BLOCK_TOUCHSCREEN | STMPE_BLOCK_ADC); stmpe 197 drivers/input/touchscreen/stmpe-ts.c ret = stmpe_set_bits(stmpe, STMPE_REG_TSC_CFG, tsc_cfg_mask, tsc_cfg); stmpe 203 drivers/input/touchscreen/stmpe-ts.c ret = stmpe_set_bits(stmpe, STMPE_REG_TSC_FRACTION_Z, stmpe 210 drivers/input/touchscreen/stmpe-ts.c ret = stmpe_set_bits(stmpe, STMPE_REG_TSC_I_DRIVE, stmpe 218 drivers/input/touchscreen/stmpe-ts.c ret = stmpe_reg_write(stmpe, STMPE_REG_FIFO_TH, 1); stmpe 224 drivers/input/touchscreen/stmpe-ts.c ret = stmpe_set_bits(stmpe, STMPE_REG_TSC_CTRL, stmpe 239 drivers/input/touchscreen/stmpe-ts.c ret = __stmpe_reset_fifo(ts->stmpe); stmpe 243 drivers/input/touchscreen/stmpe-ts.c return stmpe_set_bits(ts->stmpe, STMPE_REG_TSC_CTRL, stmpe 253 drivers/input/touchscreen/stmpe-ts.c stmpe_set_bits(ts->stmpe, STMPE_REG_TSC_CTRL, stmpe 265 drivers/input/touchscreen/stmpe-ts.c ts->stmpe->sample_time = val; stmpe 267 drivers/input/touchscreen/stmpe-ts.c ts->stmpe->mod_12b = val; stmpe 269 drivers/input/touchscreen/stmpe-ts.c ts->stmpe->ref_sel = val; stmpe 271 drivers/input/touchscreen/stmpe-ts.c ts->stmpe->adc_freq = val; stmpe 287 drivers/input/touchscreen/stmpe-ts.c struct stmpe *stmpe = dev_get_drvdata(pdev->dev.parent); stmpe 306 drivers/input/touchscreen/stmpe-ts.c ts->stmpe = stmpe; stmpe 353 drivers/input/touchscreen/stmpe-ts.c stmpe_disable(ts->stmpe, STMPE_BLOCK_TOUCHSCREEN); stmpe 20 drivers/mfd/stmpe-i2c.c static int i2c_reg_read(struct stmpe *stmpe, u8 reg) stmpe 22 drivers/mfd/stmpe-i2c.c struct i2c_client *i2c = stmpe->client; stmpe 27 drivers/mfd/stmpe-i2c.c static int i2c_reg_write(struct stmpe *stmpe, u8 reg, u8 val) stmpe 29 drivers/mfd/stmpe-i2c.c struct i2c_client *i2c = stmpe->client; stmpe 34 drivers/mfd/stmpe-i2c.c static int i2c_block_read(struct stmpe *stmpe, u8 reg, u8 length, u8 *values) stmpe 36 drivers/mfd/stmpe-i2c.c struct i2c_client *i2c = stmpe->client; stmpe 41 drivers/mfd/stmpe-i2c.c static int i2c_block_write(struct stmpe *stmpe, u8 reg, u8 length, stmpe 44 drivers/mfd/stmpe-i2c.c struct i2c_client *i2c = stmpe->client; stmpe 96 drivers/mfd/stmpe-i2c.c struct stmpe *stmpe = dev_get_drvdata(&i2c->dev); stmpe 98 drivers/mfd/stmpe-i2c.c return stmpe_remove(stmpe); stmpe 20 drivers/mfd/stmpe-spi.c static int spi_reg_read(struct stmpe *stmpe, u8 reg) stmpe 22 drivers/mfd/stmpe-spi.c struct spi_device *spi = stmpe->client; stmpe 28 drivers/mfd/stmpe-spi.c static int spi_reg_write(struct stmpe *stmpe, u8 reg, u8 val) stmpe 30 drivers/mfd/stmpe-spi.c struct spi_device *spi = stmpe->client; stmpe 36 drivers/mfd/stmpe-spi.c static int spi_block_read(struct stmpe *stmpe, u8 reg, u8 length, u8 *values) stmpe 41 drivers/mfd/stmpe-spi.c ret = spi_reg_read(stmpe, reg + i); stmpe 50 drivers/mfd/stmpe-spi.c static int spi_block_write(struct stmpe *stmpe, u8 reg, u8 length, stmpe 56 drivers/mfd/stmpe-spi.c ret = spi_reg_write(stmpe, reg, *(values + i - 1)); stmpe 64 drivers/mfd/stmpe-spi.c static void spi_init(struct stmpe *stmpe) stmpe 66 drivers/mfd/stmpe-spi.c struct spi_device *spi = stmpe->client; stmpe 71 drivers/mfd/stmpe-spi.c if (stmpe->variant->id_val == 0x0811) stmpe 72 drivers/mfd/stmpe-spi.c spi_reg_write(stmpe, STMPE811_REG_SPI_CFG, spi->mode); stmpe 107 drivers/mfd/stmpe-spi.c struct stmpe *stmpe = spi_get_drvdata(spi); stmpe 109 drivers/mfd/stmpe-spi.c return stmpe_remove(stmpe); stmpe 47 drivers/mfd/stmpe.c static int __stmpe_enable(struct stmpe *stmpe, unsigned int blocks) stmpe 49 drivers/mfd/stmpe.c return stmpe->variant->enable(stmpe, blocks, true); stmpe 52 drivers/mfd/stmpe.c static int __stmpe_disable(struct stmpe *stmpe, unsigned int blocks) stmpe 54 drivers/mfd/stmpe.c return stmpe->variant->enable(stmpe, blocks, false); stmpe 57 drivers/mfd/stmpe.c static int __stmpe_reg_read(struct stmpe *stmpe, u8 reg) stmpe 61 drivers/mfd/stmpe.c ret = stmpe->ci->read_byte(stmpe, reg); stmpe 63 drivers/mfd/stmpe.c dev_err(stmpe->dev, "failed to read reg %#x: %d\n", reg, ret); stmpe 65 drivers/mfd/stmpe.c dev_vdbg(stmpe->dev, "rd: reg %#x => data %#x\n", reg, ret); stmpe 70 drivers/mfd/stmpe.c static int __stmpe_reg_write(struct stmpe *stmpe, u8 reg, u8 val) stmpe 74 drivers/mfd/stmpe.c dev_vdbg(stmpe->dev, "wr: reg %#x <= %#x\n", reg, val); stmpe 76 drivers/mfd/stmpe.c ret = stmpe->ci->write_byte(stmpe, reg, val); stmpe 78 drivers/mfd/stmpe.c dev_err(stmpe->dev, "failed to write reg %#x: %d\n", reg, ret); stmpe 83 drivers/mfd/stmpe.c static int __stmpe_set_bits(struct stmpe *stmpe, u8 reg, u8 mask, u8 val) stmpe 87 drivers/mfd/stmpe.c ret = __stmpe_reg_read(stmpe, reg); stmpe 94 drivers/mfd/stmpe.c return __stmpe_reg_write(stmpe, reg, ret); stmpe 97 drivers/mfd/stmpe.c static int __stmpe_block_read(struct stmpe *stmpe, u8 reg, u8 length, stmpe 102 drivers/mfd/stmpe.c ret = stmpe->ci->read_block(stmpe, reg, length, values); stmpe 104 drivers/mfd/stmpe.c dev_err(stmpe->dev, "failed to read regs %#x: %d\n", reg, ret); stmpe 106 drivers/mfd/stmpe.c dev_vdbg(stmpe->dev, "rd: reg %#x (%d) => ret %#x\n", reg, length, ret); stmpe 112 drivers/mfd/stmpe.c static int __stmpe_block_write(struct stmpe *stmpe, u8 reg, u8 length, stmpe 117 drivers/mfd/stmpe.c dev_vdbg(stmpe->dev, "wr: regs %#x (%d)\n", reg, length); stmpe 120 drivers/mfd/stmpe.c ret = stmpe->ci->write_block(stmpe, reg, length, values); stmpe 122 drivers/mfd/stmpe.c dev_err(stmpe->dev, "failed to write regs %#x: %d\n", reg, ret); stmpe 132 drivers/mfd/stmpe.c int stmpe_enable(struct stmpe *stmpe, unsigned int blocks) stmpe 136 drivers/mfd/stmpe.c mutex_lock(&stmpe->lock); stmpe 137 drivers/mfd/stmpe.c ret = __stmpe_enable(stmpe, blocks); stmpe 138 drivers/mfd/stmpe.c mutex_unlock(&stmpe->lock); stmpe 149 drivers/mfd/stmpe.c int stmpe_disable(struct stmpe *stmpe, unsigned int blocks) stmpe 153 drivers/mfd/stmpe.c mutex_lock(&stmpe->lock); stmpe 154 drivers/mfd/stmpe.c ret = __stmpe_disable(stmpe, blocks); stmpe 155 drivers/mfd/stmpe.c mutex_unlock(&stmpe->lock); stmpe 166 drivers/mfd/stmpe.c int stmpe_reg_read(struct stmpe *stmpe, u8 reg) stmpe 170 drivers/mfd/stmpe.c mutex_lock(&stmpe->lock); stmpe 171 drivers/mfd/stmpe.c ret = __stmpe_reg_read(stmpe, reg); stmpe 172 drivers/mfd/stmpe.c mutex_unlock(&stmpe->lock); stmpe 184 drivers/mfd/stmpe.c int stmpe_reg_write(struct stmpe *stmpe, u8 reg, u8 val) stmpe 188 drivers/mfd/stmpe.c mutex_lock(&stmpe->lock); stmpe 189 drivers/mfd/stmpe.c ret = __stmpe_reg_write(stmpe, reg, val); stmpe 190 drivers/mfd/stmpe.c mutex_unlock(&stmpe->lock); stmpe 203 drivers/mfd/stmpe.c int stmpe_set_bits(struct stmpe *stmpe, u8 reg, u8 mask, u8 val) stmpe 207 drivers/mfd/stmpe.c mutex_lock(&stmpe->lock); stmpe 208 drivers/mfd/stmpe.c ret = __stmpe_set_bits(stmpe, reg, mask, val); stmpe 209 drivers/mfd/stmpe.c mutex_unlock(&stmpe->lock); stmpe 222 drivers/mfd/stmpe.c int stmpe_block_read(struct stmpe *stmpe, u8 reg, u8 length, u8 *values) stmpe 226 drivers/mfd/stmpe.c mutex_lock(&stmpe->lock); stmpe 227 drivers/mfd/stmpe.c ret = __stmpe_block_read(stmpe, reg, length, values); stmpe 228 drivers/mfd/stmpe.c mutex_unlock(&stmpe->lock); stmpe 241 drivers/mfd/stmpe.c int stmpe_block_write(struct stmpe *stmpe, u8 reg, u8 length, stmpe 246 drivers/mfd/stmpe.c mutex_lock(&stmpe->lock); stmpe 247 drivers/mfd/stmpe.c ret = __stmpe_block_write(stmpe, reg, length, values); stmpe 248 drivers/mfd/stmpe.c mutex_unlock(&stmpe->lock); stmpe 266 drivers/mfd/stmpe.c int stmpe_set_altfunc(struct stmpe *stmpe, u32 pins, enum stmpe_block block) stmpe 268 drivers/mfd/stmpe.c struct stmpe_variant_info *variant = stmpe->variant; stmpe 269 drivers/mfd/stmpe.c u8 regaddr = stmpe->regs[STMPE_IDX_GPAFR_U_MSB]; stmpe 271 drivers/mfd/stmpe.c int numregs = DIV_ROUND_UP(stmpe->num_gpios * af_bits, 8); stmpe 280 drivers/mfd/stmpe.c mutex_lock(&stmpe->lock); stmpe 282 drivers/mfd/stmpe.c ret = __stmpe_enable(stmpe, STMPE_BLOCK_GPIO); stmpe 286 drivers/mfd/stmpe.c ret = __stmpe_block_read(stmpe, regaddr, numregs, regs); stmpe 290 drivers/mfd/stmpe.c af = variant->get_altfunc(stmpe, block); stmpe 303 drivers/mfd/stmpe.c ret = __stmpe_block_write(stmpe, regaddr, numregs, regs); stmpe 306 drivers/mfd/stmpe.c mutex_unlock(&stmpe->lock); stmpe 412 drivers/mfd/stmpe.c static int stmpe801_enable(struct stmpe *stmpe, unsigned int blocks, stmpe 529 drivers/mfd/stmpe.c static int stmpe811_enable(struct stmpe *stmpe, unsigned int blocks, stmpe 543 drivers/mfd/stmpe.c return __stmpe_set_bits(stmpe, stmpe->regs[STMPE_IDX_SYS_CTRL2], mask, stmpe 547 drivers/mfd/stmpe.c int stmpe811_adc_common_init(struct stmpe *stmpe) stmpe 552 drivers/mfd/stmpe.c adc_ctrl1 = STMPE_SAMPLE_TIME(stmpe->sample_time) | stmpe 553 drivers/mfd/stmpe.c STMPE_MOD_12B(stmpe->mod_12b) | stmpe 554 drivers/mfd/stmpe.c STMPE_REF_SEL(stmpe->ref_sel); stmpe 558 drivers/mfd/stmpe.c ret = stmpe_set_bits(stmpe, STMPE811_REG_ADC_CTRL1, stmpe 561 drivers/mfd/stmpe.c dev_err(stmpe->dev, "Could not setup ADC\n"); stmpe 565 drivers/mfd/stmpe.c ret = stmpe_set_bits(stmpe, STMPE811_REG_ADC_CTRL2, stmpe 566 drivers/mfd/stmpe.c STMPE_ADC_FREQ(0xff), STMPE_ADC_FREQ(stmpe->adc_freq)); stmpe 568 drivers/mfd/stmpe.c dev_err(stmpe->dev, "Could not setup ADC\n"); stmpe 576 drivers/mfd/stmpe.c static int stmpe811_get_altfunc(struct stmpe *stmpe, enum stmpe_block block) stmpe 644 drivers/mfd/stmpe.c static int stmpe1600_enable(struct stmpe *stmpe, unsigned int blocks, stmpe 738 drivers/mfd/stmpe.c static int stmpe_autosleep(struct stmpe *stmpe, int autosleep_timeout) stmpe 742 drivers/mfd/stmpe.c if (!stmpe->variant->enable_autosleep) stmpe 745 drivers/mfd/stmpe.c mutex_lock(&stmpe->lock); stmpe 746 drivers/mfd/stmpe.c ret = stmpe->variant->enable_autosleep(stmpe, autosleep_timeout); stmpe 747 drivers/mfd/stmpe.c mutex_unlock(&stmpe->lock); stmpe 755 drivers/mfd/stmpe.c static int stmpe1601_autosleep(struct stmpe *stmpe, stmpe 763 drivers/mfd/stmpe.c dev_err(stmpe->dev, "invalid timeout\n"); stmpe 767 drivers/mfd/stmpe.c ret = __stmpe_set_bits(stmpe, stmpe->regs[STMPE_IDX_SYS_CTRL2], stmpe 773 drivers/mfd/stmpe.c return __stmpe_set_bits(stmpe, stmpe->regs[STMPE_IDX_SYS_CTRL2], stmpe 778 drivers/mfd/stmpe.c static int stmpe1601_enable(struct stmpe *stmpe, unsigned int blocks, stmpe 798 drivers/mfd/stmpe.c return __stmpe_set_bits(stmpe, stmpe->regs[STMPE_IDX_SYS_CTRL], mask, stmpe 802 drivers/mfd/stmpe.c static int stmpe1601_get_altfunc(struct stmpe *stmpe, enum stmpe_block block) stmpe 879 drivers/mfd/stmpe.c static int stmpe1801_enable(struct stmpe *stmpe, unsigned int blocks, stmpe 889 drivers/mfd/stmpe.c return __stmpe_set_bits(stmpe, STMPE1801_REG_INT_EN_MASK_LOW, mask, stmpe 893 drivers/mfd/stmpe.c static int stmpe_reset(struct stmpe *stmpe) stmpe 895 drivers/mfd/stmpe.c u16 id_val = stmpe->variant->id_val; stmpe 907 drivers/mfd/stmpe.c ret = __stmpe_set_bits(stmpe, stmpe->regs[STMPE_IDX_SYS_CTRL], stmpe 916 drivers/mfd/stmpe.c ret = __stmpe_reg_read(stmpe, stmpe->regs[STMPE_IDX_SYS_CTRL]); stmpe 1001 drivers/mfd/stmpe.c static int stmpe24xx_enable(struct stmpe *stmpe, unsigned int blocks, stmpe 1012 drivers/mfd/stmpe.c return __stmpe_set_bits(stmpe, stmpe->regs[STMPE_IDX_SYS_CTRL], mask, stmpe 1016 drivers/mfd/stmpe.c static int stmpe24xx_get_altfunc(struct stmpe *stmpe, enum stmpe_block block) stmpe 1084 drivers/mfd/stmpe.c struct stmpe *stmpe = data; stmpe 1085 drivers/mfd/stmpe.c struct stmpe_variant_info *variant = stmpe->variant; stmpe 1094 drivers/mfd/stmpe.c int base = irq_create_mapping(stmpe->domain, 0); stmpe 1101 drivers/mfd/stmpe.c israddr = stmpe->regs[STMPE_IDX_ISR_LSB]; stmpe 1103 drivers/mfd/stmpe.c israddr = stmpe->regs[STMPE_IDX_ISR_MSB]; stmpe 1105 drivers/mfd/stmpe.c ret = stmpe_block_read(stmpe, israddr, num, isr); stmpe 1114 drivers/mfd/stmpe.c status &= stmpe->ier[bank]; stmpe 1122 drivers/mfd/stmpe.c int nestedirq = irq_create_mapping(stmpe->domain, line); stmpe 1128 drivers/mfd/stmpe.c stmpe_reg_write(stmpe, israddr + i, clear); stmpe 1136 drivers/mfd/stmpe.c struct stmpe *stmpe = irq_data_get_irq_chip_data(data); stmpe 1138 drivers/mfd/stmpe.c mutex_lock(&stmpe->irq_lock); stmpe 1143 drivers/mfd/stmpe.c struct stmpe *stmpe = irq_data_get_irq_chip_data(data); stmpe 1144 drivers/mfd/stmpe.c struct stmpe_variant_info *variant = stmpe->variant; stmpe 1149 drivers/mfd/stmpe.c u8 new = stmpe->ier[i]; stmpe 1150 drivers/mfd/stmpe.c u8 old = stmpe->oldier[i]; stmpe 1155 drivers/mfd/stmpe.c stmpe->oldier[i] = new; stmpe 1156 drivers/mfd/stmpe.c stmpe_reg_write(stmpe, stmpe->regs[STMPE_IDX_IER_LSB + i], new); stmpe 1159 drivers/mfd/stmpe.c mutex_unlock(&stmpe->irq_lock); stmpe 1164 drivers/mfd/stmpe.c struct stmpe *stmpe = irq_data_get_irq_chip_data(data); stmpe 1169 drivers/mfd/stmpe.c stmpe->ier[regoffset] &= ~mask; stmpe 1174 drivers/mfd/stmpe.c struct stmpe *stmpe = irq_data_get_irq_chip_data(data); stmpe 1179 drivers/mfd/stmpe.c stmpe->ier[regoffset] |= mask; stmpe 1193 drivers/mfd/stmpe.c struct stmpe *stmpe = d->host_data; stmpe 1196 drivers/mfd/stmpe.c if (stmpe->variant->id_val != STMPE801_ID) stmpe 1199 drivers/mfd/stmpe.c irq_set_chip_data(virq, stmpe); stmpe 1219 drivers/mfd/stmpe.c static int stmpe_irq_init(struct stmpe *stmpe, struct device_node *np) stmpe 1222 drivers/mfd/stmpe.c int num_irqs = stmpe->variant->num_irqs; stmpe 1224 drivers/mfd/stmpe.c stmpe->domain = irq_domain_add_simple(np, num_irqs, base, stmpe 1225 drivers/mfd/stmpe.c &stmpe_irq_ops, stmpe); stmpe 1226 drivers/mfd/stmpe.c if (!stmpe->domain) { stmpe 1227 drivers/mfd/stmpe.c dev_err(stmpe->dev, "Failed to create irqdomain\n"); stmpe 1234 drivers/mfd/stmpe.c static int stmpe_chip_init(struct stmpe *stmpe) stmpe 1236 drivers/mfd/stmpe.c unsigned int irq_trigger = stmpe->pdata->irq_trigger; stmpe 1237 drivers/mfd/stmpe.c int autosleep_timeout = stmpe->pdata->autosleep_timeout; stmpe 1238 drivers/mfd/stmpe.c struct stmpe_variant_info *variant = stmpe->variant; stmpe 1244 drivers/mfd/stmpe.c ret = stmpe_block_read(stmpe, stmpe->regs[STMPE_IDX_CHIP_ID], stmpe 1251 drivers/mfd/stmpe.c dev_err(stmpe->dev, "unknown chip id: %#x\n", id); stmpe 1255 drivers/mfd/stmpe.c dev_info(stmpe->dev, "%s detected, chip id: %#x\n", variant->name, id); stmpe 1258 drivers/mfd/stmpe.c ret = stmpe_disable(stmpe, ~0); stmpe 1262 drivers/mfd/stmpe.c ret = stmpe_reset(stmpe); stmpe 1266 drivers/mfd/stmpe.c if (stmpe->irq >= 0) { stmpe 1288 drivers/mfd/stmpe.c if (stmpe->pdata->autosleep) { stmpe 1289 drivers/mfd/stmpe.c ret = stmpe_autosleep(stmpe, autosleep_timeout); stmpe 1294 drivers/mfd/stmpe.c return stmpe_reg_write(stmpe, stmpe->regs[STMPE_IDX_ICR_LSB], icr); stmpe 1297 drivers/mfd/stmpe.c static int stmpe_add_device(struct stmpe *stmpe, const struct mfd_cell *cell) stmpe 1299 drivers/mfd/stmpe.c return mfd_add_devices(stmpe->dev, stmpe->pdata->id, cell, 1, stmpe 1300 drivers/mfd/stmpe.c NULL, 0, stmpe->domain); stmpe 1303 drivers/mfd/stmpe.c static int stmpe_devices_init(struct stmpe *stmpe) stmpe 1305 drivers/mfd/stmpe.c struct stmpe_variant_info *variant = stmpe->variant; stmpe 1306 drivers/mfd/stmpe.c unsigned int platform_blocks = stmpe->pdata->blocks; stmpe 1326 drivers/mfd/stmpe.c ret = stmpe_add_device(stmpe, block->cell); stmpe 1332 drivers/mfd/stmpe.c dev_warn(stmpe->dev, stmpe 1382 drivers/mfd/stmpe.c struct stmpe *stmpe; stmpe 1395 drivers/mfd/stmpe.c stmpe = devm_kzalloc(ci->dev, sizeof(struct stmpe), GFP_KERNEL); stmpe 1396 drivers/mfd/stmpe.c if (!stmpe) stmpe 1399 drivers/mfd/stmpe.c mutex_init(&stmpe->irq_lock); stmpe 1400 drivers/mfd/stmpe.c mutex_init(&stmpe->lock); stmpe 1403 drivers/mfd/stmpe.c stmpe->sample_time = val; stmpe 1405 drivers/mfd/stmpe.c stmpe->mod_12b = val; stmpe 1407 drivers/mfd/stmpe.c stmpe->ref_sel = val; stmpe 1409 drivers/mfd/stmpe.c stmpe->adc_freq = val; stmpe 1411 drivers/mfd/stmpe.c stmpe->dev = ci->dev; stmpe 1412 drivers/mfd/stmpe.c stmpe->client = ci->client; stmpe 1413 drivers/mfd/stmpe.c stmpe->pdata = pdata; stmpe 1414 drivers/mfd/stmpe.c stmpe->ci = ci; stmpe 1415 drivers/mfd/stmpe.c stmpe->partnum = partnum; stmpe 1416 drivers/mfd/stmpe.c stmpe->variant = stmpe_variant_info[partnum]; stmpe 1417 drivers/mfd/stmpe.c stmpe->regs = stmpe->variant->regs; stmpe 1418 drivers/mfd/stmpe.c stmpe->num_gpios = stmpe->variant->num_gpios; stmpe 1419 drivers/mfd/stmpe.c stmpe->vcc = devm_regulator_get_optional(ci->dev, "vcc"); stmpe 1420 drivers/mfd/stmpe.c if (!IS_ERR(stmpe->vcc)) { stmpe 1421 drivers/mfd/stmpe.c ret = regulator_enable(stmpe->vcc); stmpe 1425 drivers/mfd/stmpe.c stmpe->vio = devm_regulator_get_optional(ci->dev, "vio"); stmpe 1426 drivers/mfd/stmpe.c if (!IS_ERR(stmpe->vio)) { stmpe 1427 drivers/mfd/stmpe.c ret = regulator_enable(stmpe->vio); stmpe 1431 drivers/mfd/stmpe.c dev_set_drvdata(stmpe->dev, stmpe); stmpe 1434 drivers/mfd/stmpe.c ci->init(stmpe); stmpe 1440 drivers/mfd/stmpe.c dev_err(stmpe->dev, "failed to request IRQ GPIO: %d\n", stmpe 1445 drivers/mfd/stmpe.c stmpe->irq = gpio_to_irq(pdata->irq_gpio); stmpe 1447 drivers/mfd/stmpe.c stmpe->irq = ci->irq; stmpe 1450 drivers/mfd/stmpe.c if (stmpe->irq < 0) { stmpe 1452 drivers/mfd/stmpe.c dev_info(stmpe->dev, stmpe 1454 drivers/mfd/stmpe.c stmpe->variant->name); stmpe 1455 drivers/mfd/stmpe.c if (!stmpe_noirq_variant_info[stmpe->partnum]) { stmpe 1456 drivers/mfd/stmpe.c dev_err(stmpe->dev, stmpe 1458 drivers/mfd/stmpe.c stmpe->variant->name); stmpe 1461 drivers/mfd/stmpe.c stmpe->variant = stmpe_noirq_variant_info[stmpe->partnum]; stmpe 1463 drivers/mfd/stmpe.c pdata->irq_trigger = irq_get_trigger_type(stmpe->irq); stmpe 1466 drivers/mfd/stmpe.c ret = stmpe_chip_init(stmpe); stmpe 1470 drivers/mfd/stmpe.c if (stmpe->irq >= 0) { stmpe 1471 drivers/mfd/stmpe.c ret = stmpe_irq_init(stmpe, np); stmpe 1475 drivers/mfd/stmpe.c ret = devm_request_threaded_irq(ci->dev, stmpe->irq, NULL, stmpe 1477 drivers/mfd/stmpe.c "stmpe", stmpe); stmpe 1479 drivers/mfd/stmpe.c dev_err(stmpe->dev, "failed to request IRQ: %d\n", stmpe 1485 drivers/mfd/stmpe.c ret = stmpe_devices_init(stmpe); stmpe 1489 drivers/mfd/stmpe.c dev_err(stmpe->dev, "failed to add children\n"); stmpe 1490 drivers/mfd/stmpe.c mfd_remove_devices(stmpe->dev); stmpe 1495 drivers/mfd/stmpe.c int stmpe_remove(struct stmpe *stmpe) stmpe 1497 drivers/mfd/stmpe.c if (!IS_ERR(stmpe->vio)) stmpe 1498 drivers/mfd/stmpe.c regulator_disable(stmpe->vio); stmpe 1499 drivers/mfd/stmpe.c if (!IS_ERR(stmpe->vcc)) stmpe 1500 drivers/mfd/stmpe.c regulator_disable(stmpe->vcc); stmpe 1502 drivers/mfd/stmpe.c __stmpe_disable(stmpe, STMPE_BLOCK_ADC); stmpe 1504 drivers/mfd/stmpe.c mfd_remove_devices(stmpe->dev); stmpe 1512 drivers/mfd/stmpe.c struct stmpe *stmpe = dev_get_drvdata(dev); stmpe 1514 drivers/mfd/stmpe.c if (stmpe->irq >= 0 && device_may_wakeup(dev)) stmpe 1515 drivers/mfd/stmpe.c enable_irq_wake(stmpe->irq); stmpe 1522 drivers/mfd/stmpe.c struct stmpe *stmpe = dev_get_drvdata(dev); stmpe 1524 drivers/mfd/stmpe.c if (stmpe->irq >= 0 && device_may_wakeup(dev)) stmpe 1525 drivers/mfd/stmpe.c disable_irq_wake(stmpe->irq); stmpe 73 drivers/mfd/stmpe.h int (*enable)(struct stmpe *stmpe, unsigned int blocks, bool enable); stmpe 74 drivers/mfd/stmpe.h int (*get_altfunc)(struct stmpe *stmpe, enum stmpe_block block); stmpe 75 drivers/mfd/stmpe.h int (*enable_autosleep)(struct stmpe *stmpe, int autosleep_timeout); stmpe 92 drivers/mfd/stmpe.h int (*read_byte)(struct stmpe *stmpe, u8 reg); stmpe 93 drivers/mfd/stmpe.h int (*write_byte)(struct stmpe *stmpe, u8 reg, u8 val); stmpe 94 drivers/mfd/stmpe.h int (*read_block)(struct stmpe *stmpe, u8 reg, u8 len, u8 *values); stmpe 95 drivers/mfd/stmpe.h int (*write_block)(struct stmpe *stmpe, u8 reg, u8 len, stmpe 97 drivers/mfd/stmpe.h void (*init)(struct stmpe *stmpe); stmpe 101 drivers/mfd/stmpe.h int stmpe_remove(struct stmpe *stmpe); stmpe 29 drivers/pwm/pwm-stmpe.c struct stmpe *stmpe; stmpe 45 drivers/pwm/pwm-stmpe.c ret = stmpe_reg_read(stmpe_pwm->stmpe, STMPE24XX_PWMCS); stmpe 54 drivers/pwm/pwm-stmpe.c ret = stmpe_reg_write(stmpe_pwm->stmpe, STMPE24XX_PWMCS, value); stmpe 71 drivers/pwm/pwm-stmpe.c ret = stmpe_reg_read(stmpe_pwm->stmpe, STMPE24XX_PWMCS); stmpe 80 drivers/pwm/pwm-stmpe.c ret = stmpe_reg_write(stmpe_pwm->stmpe, STMPE24XX_PWMCS, value); stmpe 120 drivers/pwm/pwm-stmpe.c if (stmpe_pwm->stmpe->partnum == STMPE2401 || stmpe 121 drivers/pwm/pwm-stmpe.c stmpe_pwm->stmpe->partnum == STMPE2403) stmpe 124 drivers/pwm/pwm-stmpe.c ret = stmpe_set_altfunc(stmpe_pwm->stmpe, BIT(pin), stmpe 156 drivers/pwm/pwm-stmpe.c if (stmpe_pwm->stmpe->partnum == STMPE2401) stmpe 159 drivers/pwm/pwm-stmpe.c if (stmpe_pwm->stmpe->partnum == STMPE2403) stmpe 164 drivers/pwm/pwm-stmpe.c if (stmpe_pwm->stmpe->partnum == STMPE2401) stmpe 167 drivers/pwm/pwm-stmpe.c if (stmpe_pwm->stmpe->partnum == STMPE2403) stmpe 196 drivers/pwm/pwm-stmpe.c } else if (stmpe_pwm->stmpe->partnum == STMPE2403) { stmpe 200 drivers/pwm/pwm-stmpe.c } else if (stmpe_pwm->stmpe->partnum == STMPE2401) { stmpe 233 drivers/pwm/pwm-stmpe.c ret = stmpe_reg_write(stmpe_pwm->stmpe, offset, value); stmpe 242 drivers/pwm/pwm-stmpe.c ret = stmpe_reg_write(stmpe_pwm->stmpe, offset, value); stmpe 271 drivers/pwm/pwm-stmpe.c struct stmpe *stmpe = dev_get_drvdata(pdev->dev.parent); stmpe 279 drivers/pwm/pwm-stmpe.c pwm->stmpe = stmpe; stmpe 283 drivers/pwm/pwm-stmpe.c if (stmpe->partnum == STMPE2401 || stmpe->partnum == STMPE2403) { stmpe 287 drivers/pwm/pwm-stmpe.c if (stmpe->partnum == STMPE1601) stmpe 295 drivers/pwm/pwm-stmpe.c ret = stmpe_enable(stmpe, STMPE_BLOCK_PWM); stmpe 301 drivers/pwm/pwm-stmpe.c stmpe_disable(stmpe, STMPE_BLOCK_PWM); stmpe 148 include/linux/mfd/stmpe.h extern int stmpe_reg_write(struct stmpe *stmpe, u8 reg, u8 data); stmpe 149 include/linux/mfd/stmpe.h extern int stmpe_reg_read(struct stmpe *stmpe, u8 reg); stmpe 150 include/linux/mfd/stmpe.h extern int stmpe_block_read(struct stmpe *stmpe, u8 reg, u8 length, stmpe 152 include/linux/mfd/stmpe.h extern int stmpe_block_write(struct stmpe *stmpe, u8 reg, u8 length, stmpe 154 include/linux/mfd/stmpe.h extern int stmpe_set_bits(struct stmpe *stmpe, u8 reg, u8 mask, u8 val); stmpe 155 include/linux/mfd/stmpe.h extern int stmpe_set_altfunc(struct stmpe *stmpe, u32 pins, stmpe 157 include/linux/mfd/stmpe.h extern int stmpe_enable(struct stmpe *stmpe, unsigned int blocks); stmpe 158 include/linux/mfd/stmpe.h extern int stmpe_disable(struct stmpe *stmpe, unsigned int blocks); stmpe 159 include/linux/mfd/stmpe.h extern int stmpe811_adc_common_init(struct stmpe *stmpe);