kernel_optimize_test/sound
Kuninori Morimoto 9b6ea25066
ASoC: rsnd: remove NULL check from rsnd_mod_name()/rsnd_mod_id()
Current rsnd driver has rsnd_mod_id() which returns mod ID,
and it returns -1 if mod was NULL.
In the same time, this driver has rsnd_mod_name() which returns mod
name, and it returns "unknown" if mod or mod->ops was NULL.

Basically these "mod" never be NULL, but the reason why rsnd driver
has such behavior is that DMA path finder is assuming memory as
"mod == NULL".
Thus, current DMA path debug code prints like below.
Here "unknown[-1]" means it was memory.

	...
	rcar_sound ec500000.sound:   unknown[-1] from
	rcar_sound ec500000.sound:   src[0] to
	rcar_sound ec500000.sound:   ctu[2]
	rcar_sound ec500000.sound:   mix[0]
	rcar_sound ec500000.sound:   dvc[0]
	rcar_sound ec500000.sound:   ssi[0]
	rcar_sound ec500000.sound: audmac[0] unknown[-1] -> src[0]
	...

1st issue is that it is confusable for user.
2nd issue is rsnd driver has something like below code.

	mask |= 1 << rsnd_mod_id(mod);

Because of this kind of code, some statically code checker will
reports "Shifting by a negative value is undefined behaviour".

But this "mod" never be NULL, thus negative shift never happen.
To avoid these issues, this patch adds new dummy "mem" to
indicate memory, and use it to indicate debug information,
and, remove unneeded "NULL mod" behavior from rsnd_mod_id() and
rsnd_mod_name().

The debug information will be like below by this patch
	...
	rcar_sound ec500000.sound:   mem[0] from
	rcar_sound ec500000.sound:   src[0] to
	rcar_sound ec500000.sound:   ctu[2]
	rcar_sound ec500000.sound:   mix[0]
	rcar_sound ec500000.sound:   dvc[0]
	rcar_sound ec500000.sound:   ssi[0]
	rcar_sound ec500000.sound: audmac[0] mem[0] -> src[0]
	...

Reported-by: Hiroyuki Yokoyama <hiroyuki.yokoyama.vx@renesas.com>
Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
2017-11-01 09:53:19 +00:00
..
aoa
arm
atmel ALSA: ac97c: Fix an error handling path in 'atmel_ac97c_probe()' 2017-08-31 11:52:29 +01:00
core ALSA: core: Fix unexpected error at replacing user TLV 2017-08-22 15:43:40 +02:00
drivers ALSA: opl4: Move inline before return type 2017-07-06 09:24:17 +02:00
firewire ALSA: firewire-motu: destroy stream data surely at failure of card initialization 2017-08-20 09:40:45 +02:00
hda ALSA: hda: Fix potential race at unregistration and unsol events 2017-06-20 07:53:57 +02:00
i2c
isa sound fixes for 4.13-rc1 2017-07-14 12:44:00 -07:00
mips
oss
parisc
pci ALSA: hda - Add stereo mic quirk for Lenovo G50-70 (17aa:3978) 2017-08-23 09:30:17 +02:00
pcmcia
ppc
sh
soc ASoC: rsnd: remove NULL check from rsnd_mod_name()/rsnd_mod_id() 2017-11-01 09:53:19 +00:00
sparc
spi
synth ALSA: Fix forgotten dependency fix for tristate OSS sequencer kconfig 2017-06-28 08:45:07 +02:00
usb ALSA: usb-audio: Add delay quirk for H650e/Jabra 550a USB headsets 2017-08-22 11:15:15 +02:00
x86 main drm pull for v4.13 2017-07-09 18:48:37 -07:00
ac97_bus.c
Kconfig
last.c
Makefile
sound_core.c