• Kuninori Morimoto's avatar
    ASoC: soc-component: merge snd_soc_component_read() and snd_soc_component_read32() · cf6e26c7
    Kuninori Morimoto authored
    We had read/write function for Codec, Platform, etc,
    but these has been merged into snd_soc_component_read/write().
    
    Internally, it is using regmap or driver function.
    In read case, each styles are like below
    
    regmap
    	ret = regmap_read(..., reg, &val);
    
    driver function
    	val = xxx->read(..., reg);
    
    Because of this kind of different style, to keep same read style,
    when we merged each read function into snd_soc_component_read(),
    we created snd_soc_component_read32(), like below.
    commit 738b49ef ("ASoC: add snd_soc_component_read32")
    
    (1)	val = snd_soc_component_read32(component, reg);
    
    (2)	ret = snd_soc_component_read(component, reg, &val);
    
    Many drivers are using snd_soc_component_read32(), and
    some drivers are using snd_soc_component_read() today.
    
    In generally, we don't check read function successes,
    because, we will have many other issues at initial timing
    if read function didn't work.
    
    Now we can use soc_component_err() when error case.
    This means, it is easy to notice if error occurred.
    
    This patch aggressively merge snd_soc_component_read() and _read32(),
    and makes snd_soc_component_read/write() as generally style.
    
    This patch do
    	1) merge snd_soc_component_read() and snd_soc_component_read32()
    	2) it uses soc_component_err() when error case (easy to notice)
    	3) keeps read32 for now by #define
    	4) update snd_soc_component_read() for all drivers
    
    Because _read() user drivers are not too many, this patch changes
    all user drivers.
    Signed-off-by: default avatarKuninori Morimoto <kuninori.morimoto.gx@renesas.com>
    Reviewed-by: default avatarKai Vehmanen <kai.vehmanen@linux.intel.com>
    Link: https://lore.kernel.org/r/87sgev4mfl.wl-kuninori.morimoto.gx@renesas.comSigned-off-by: default avatarMark Brown <broonie@kernel.org>
    cf6e26c7
soc-component.h 16.9 KB