From: Peter Ujfalusi Date: Mon, 12 Mar 2018 14:24:23 +0000 (+0200) Subject: ASoC: soc-io: Fix snd_soc_component_update_bits_legacy X-Git-Url: http://git.cdn.openwrt.org/?a=commitdiff_plain;h=dead99e8579b6e2ebdf1e9c819e67d7f4a5cedbb;p=openwrt%2Fstaging%2Fblogic.git ASoC: soc-io: Fix snd_soc_component_update_bits_legacy After the codec to component conversion codecs with custom read/write function will no longer able to use update_bits as their io callbacks are registered at component->driver level and not in component level. To not complicate the code further, lets just use the snd_soc_component_read/snd_soc_component_write function and let them sort out the correct io function to call. Fixes: d0ff8ba57d965 ("ASoC: add Component level .read/.write") Signed-off-by: Peter Ujfalusi Signed-off-by: Mark Brown --- diff --git a/sound/soc/soc-io.c b/sound/soc/soc-io.c index 2bc1c4c17896..d36a192fbece 100644 --- a/sound/soc/soc-io.c +++ b/sound/soc/soc-io.c @@ -88,19 +88,16 @@ static int snd_soc_component_update_bits_legacy( unsigned int old, new; int ret; - if (!component->read || !component->write) - return -EIO; - mutex_lock(&component->io_mutex); - ret = component->read(component, reg, &old); + ret = snd_soc_component_read(component, reg, &old); if (ret < 0) goto out_unlock; new = (old & ~mask) | (val & mask); *change = old != new; if (*change) - ret = component->write(component, reg, new); + ret = snd_soc_component_write(component, reg, new); out_unlock: mutex_unlock(&component->io_mutex);