/* @priv: Private driver data @reg: Register number to update @bic: Mask of bits to clear @set: Mask of bits to set  */
static int rt5677_bic_or(struct rt5677_priv *priv, uint reg, uint bic, uint set)
/* @priv: Private driver data @reg: Register number to update @bic: Mask of bits to clear @set: Mask of bits to set  */
static int rt5677_bic_or(struct rt5677_priv *priv, uint reg, uint bic, uint set)
{
	uint old, new_value;
	int ret;
	old = rt5677_i2c_read(priv, reg);
	if (old < 0)
		return old;
	new_value = (old & ~bic) | (set & bic);
	if (old != new_value) {
		ret = rt5677_i2c_write(priv, reg, new_value);
		if (ret)
			return ret;
	}
	return 0;
}