void lp855x_on(u8 cfg) { int r; if ((r = select_bus(2, 100)) != 0) { printf("select_bus failed: %d\n", r); goto out; } i2c_init(100, LP8556_I2C_ADDR); lp855x_i2c_write(BRIGHTNESS_CTRL, 0); lp855x_i2c_write(DEVICE_CTRL, 1 | (2 << 1)); lp855x_i2c_write(CFG5_REG, cfg); out: return r; }
void lp855x_set_brightness(u8 brightness) { int r; if ((r = select_bus(2, 100)) != 0) { printf("select_bus failed: %d\n", r); } i2c_init(100, LP8556_I2C_ADDR); lp855x_i2c_write(BRIGHTNESS_CTRL, brightness); }
static inline int lp855x_write_byte(struct lp855x *lp, u8 reg, u8 data) { u8 written = data; return lp855x_i2c_write(lp, reg, &written, 1); }