Removing WM8944 driver, adding WM8974

Hello,
we removed the WM8944 driver and added the WM8974 driver using the menuconfig .
But the rebuilding the image failed. We got the error:
yocto/kernel/sound/soc/msm/mdm9607.c:2774: undefined reference to `wm8944_get_intf_type’
It seems that although the driver is removed, the source mdm9607.c still asked for the driver.
What is the best way remove wm8944 driver and to add the driver for wm8974?

Are you building a custom board that includes a WM8974 instead of the WM8944? Or are you putting the WM8974 on an IoT card or other type of expansion? I believe the file sound/soc/msm/mdm9607.c makes some assumptions that their is a WM8944 present on the board and is referencing symbols provided by that board. I suspect that in order to get the WM8974 working properly, you will have to adapt that code to provide corresponding setup steps for the WM8974.

Hello dfrey,
yes, we developed own pcb includes a WM8974.
Now we would like remove the WM8944 driver, and to add the WM8974 driver.
When we do that, bulding of the image failed with the error:
yocto/kernel/sound/soc/msm/mdm9607.c:2774: undefined reference to `wm8944_get_intf_type’

It seems that there is a dependency from mdm9607 to the wm8944 driver code. I think this is probably an accident. I would say for now the easiest thing to do would be to continue building the wm8944 driver and build the wm8974 driver as well.

I think you will have to create a device tree for your board. One thing that you will need to change is in arch/arm/boot/dts/qcom/mdm9607-wp76xx.dtsi. This file includes a section sound-wm8944 which I think you will need to disable. I think you will also need to define a similar section for the wm8974.