stmpe_pwm
struct stmpe_pwm *stmpe_pwm = to_stmpe_pwm(chip);
if (stmpe_pwm->stmpe->partnum == STMPE2401 ||
stmpe_pwm->stmpe->partnum == STMPE2403)
ret = stmpe_set_altfunc(stmpe_pwm->stmpe, BIT(pin),
if (stmpe_pwm->stmpe->partnum == STMPE2401)
if (stmpe_pwm->stmpe->partnum == STMPE2403)
stmpe_pwm->last_duty = 0x00;
if (stmpe_pwm->stmpe->partnum == STMPE2401)
if (stmpe_pwm->stmpe->partnum == STMPE2403)
stmpe_pwm->last_duty = 0xff;
u8 value, last = stmpe_pwm->last_duty;
} else if (stmpe_pwm->stmpe->partnum == STMPE2403) {
} else if (stmpe_pwm->stmpe->partnum == STMPE2401) {
stmpe_pwm->last_duty = value;
ret = stmpe_reg_write(stmpe_pwm->stmpe, offset, value);
ret = stmpe_reg_write(stmpe_pwm->stmpe, offset, value);
struct stmpe_pwm *stmpe_pwm;
chip = devm_pwmchip_alloc(&pdev->dev, 3, sizeof(*stmpe_pwm));
stmpe_pwm = to_stmpe_pwm(chip);
stmpe_pwm->stmpe = stmpe;
static inline struct stmpe_pwm *to_stmpe_pwm(struct pwm_chip *chip)
struct stmpe_pwm *stmpe_pwm = to_stmpe_pwm(chip);
ret = stmpe_reg_read(stmpe_pwm->stmpe, STMPE24XX_PWMCS);
ret = stmpe_reg_write(stmpe_pwm->stmpe, STMPE24XX_PWMCS, value);
struct stmpe_pwm *stmpe_pwm = to_stmpe_pwm(chip);
ret = stmpe_reg_read(stmpe_pwm->stmpe, STMPE24XX_PWMCS);
ret = stmpe_reg_write(stmpe_pwm->stmpe, STMPE24XX_PWMCS, value);