static int __devinit lm3533_bl_setup(struct lm3533_bl *bl, struct lm3533_bl_platform_data *pdata) { int ret; u8 mask; u8 val; ret = lm3533_ctrlbank_set_max_current(&bl->cb, pdata->max_current); if (ret) return ret; mask = 1 << (2 * lm3533_bl_get_ctrlbank_id(bl) + 1); if (pdata->linear) val = mask; else val = 0; ret = lm3533_update(bl->lm3533, LM3533_REG_CTRLBANK_AB_BCONF, val, mask); if (ret) return ret; return lm3533_ctrlbank_set_pwm(&bl->cb, pdata->pwm); }
static int lm3533_bl_setup(struct lm3533_bl *bl, struct lm3533_bl_platform_data *pdata) { int ret; ret = lm3533_ctrlbank_set_max_current(&bl->cb, pdata->max_current); if (ret) return ret; return lm3533_ctrlbank_set_pwm(&bl->cb, pdata->pwm); }
static ssize_t store_pwm(struct device *dev, struct device_attribute *attr, const char *buf, size_t len) { struct lm3533_bl *bl = dev_get_drvdata(dev); u8 val; int ret; if (kstrtou8(buf, 0, &val)) return -EINVAL; ret = lm3533_ctrlbank_set_pwm(&bl->cb, val); if (ret) return ret; return len; }