int mhl_pf_modify_reg(u8 page, u8 offset, u8 mask, u8 value) { int reg_value; int write_status; reg_value = mhl_pf_read_reg(page, offset); if (reg_value < 0) return reg_value; reg_value &= ~mask; reg_value |= mask & value; write_status = mhl_pf_write_reg(page, offset, reg_value); if (write_status < 0) return write_status; else return reg_value; }
int mhl_pf_modify_reg(u16 address, u8 mask, u8 value) { int reg_value; int write_status; reg_value = mhl_pf_read_reg(address); if (reg_value < 0) return reg_value; reg_value &= ~mask; reg_value |= mask & value; write_status = mhl_pf_write_reg(address, reg_value); if (write_status < 0) return write_status; else return reg_value; }