Comment 522 for bug 1958019

Revision history for this message
In , pig.priv (pig.priv-linux-kernel-bugs) wrote :

(In reply to Cameron Berkenpas from comment #508)
> I did try replacing all instances of CLSA0100 with CLSA0101 in the
> patch, but that doesn't seem to work.
>
> In my limited testing, find_comp_by_dev_name() in patch_realtek.c isn't
> able to find any amp chips, which suggests to me that they're not being
> detected before we even get to the realtek code. It seems all the values
> in "spec->comps[i].name" are empty strings (and certainly don't match
> anything like "i2c-CLSA010*:00-cs35l41-hda.*"
>
> I'm not really sure how Linux detects devices via ACPI (or in general).
> I do know there's some differences in regards to i2c on Intel Vs. AMD
> (something like one has 2 i2c controllers where as the other has just
> 1), but I strongly suspect the kernel abstracts much of that away.
>

I have a NULL pointer dereference at alc287_legion_16achg6_playback_hook+0xec/0x1c0 after adding CLSA0101 to where CLSA0100 is, I don't know if you are having the same issue.
As far as I can tell that up until component_match_add() everything seems fine.

Node names with CLSA* or cs35l41
Before patches:
/sys/bus/acpi/devices/CLSA0101:00
/sys/bus/i2c/devices/i2c-CLSA0101:00
/sys/devices/LNXSYSTM:00/LNXSYBUS:00/PNP0A08:00/device:84/CLSA0101:00
/sys/devices/pci0000:00/0000:00:15.2/i2c_designware.2/i2c-3/i2c-CLSA0101:00

After patches:
/sys/bus/acpi/devices/CLSA0101:00
/sys/bus/i2c/drivers/cs35l41
/sys/bus/i2c/drivers/cs35l41-hda
/sys/bus/platform/devices/CLSA0101:00
/sys/bus/spi/drivers/cs35l41
/sys/devices/LNXSYSTM:00/LNXSYBUS:00/PNP0A08:00/device:84/CLSA0101:00
/sys/devices/pci0000:00/0000:00:15.2/CLSA0101:00
/sys/kernel/btf/snd_hda_codec_cs35l41_i2c
/sys/kernel/btf/snd_soc_cs35l41_i2c
/sys/kernel/btf/snd_soc_cs35l41_spi
/sys/module/snd_hda_codec_cs35l41_i2c
/sys/module/snd_hda_codec_cs35l41_i2c/drivers/i2c:cs35l41-hda
/sys/module/snd_pcm/holders/snd_soc_cs35l41_i2c
/sys/module/snd_pcm/holders/snd_soc_cs35l41_spi
/sys/module/snd_soc_core/holders/snd_soc_cs35l41_i2c
/sys/module/snd_soc_core/holders/snd_soc_cs35l41_spi
/sys/module/snd_soc_cs35l41_i2c
/sys/module/snd_soc_cs35l41_i2c/drivers/i2c:cs35l41
/sys/module/snd_soc_cs35l41_spi
/sys/module/snd_soc_cs35l41_spi/drivers/spi:cs35l41
/sys/module/snd_soc_wm_adsp/holders/snd_soc_cs35l41_i2c
/sys/module/snd_soc_wm_adsp/holders/snd_soc_cs35l41_spi