static int pmic_bus_read(const u8 addr, u8 *data) { #ifdef CONFIG_MACH_SUN6I return p2wi_read(addr, data); #else return rsb_read(AXP223_RUNTIME_ADDR, addr, data); #endif }
DWORD WINAPI ReaderThread(LPVOID dummy) { while (keep_running) { int result = rsb_read(&buffer); if (result >= 0) printf("%c", result); Sleep(500); } }
static int axp_clrsetbits(uint8_t reg, uint8_t clr_mask, uint8_t set_mask) { uint8_t regval; int ret; ret = rsb_read(AXP803_RT_ADDR, reg); if (ret < 0) return ret; regval = (ret & ~clr_mask) | set_mask; return rsb_write(AXP803_RT_ADDR, reg, regval); }
int pmic_bus_read(u8 reg, u8 *data) { #ifdef CONFIG_AXP152_POWER return i2c_read(AXP152_I2C_ADDR, reg, 1, data, 1); #elif defined CONFIG_AXP209_POWER return i2c_read(AXP209_I2C_ADDR, reg, 1, data, 1); #elif defined CONFIG_AXP221_POWER || defined CONFIG_AXP809_POWER || defined CONFIG_AXP818_POWER # ifdef CONFIG_MACH_SUN6I return p2wi_read(reg, data); # else return rsb_read(AXP223_RUNTIME_ADDR, reg, data); # endif #endif }