# Removing WM8944 driver, adding WM8974

**URL:** <https://mangoh.discourse.group/t/removing-wm8944-driver-adding-wm8974/2153>\
**Category:** Uncategorized\
**Created:** [November 23, 2018, 10:32am UTC](https://mangoh.discourse.group/t/removing-wm8944-driver-adding-wm8974/2153 "2018-11-23T10:32:25Z")\
**Posts on this page:** 4\
**Page:** 1

<div class="post-metadata">

**Author:** ![AE\_1](https://avatars.discourse-cdn.com/v4/letter/a/a88e57/32.png) [@AE\_1](https://mangoh.discourse.group/u/AE_1)\
**Post date:** [November 23, 2018, 10:32am UTC](https://mangoh.discourse.group/t/removing-wm8944-driver-adding-wm8974/2153/1 "2018-11-23T10:32:25Z")

</div>

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?

---

<div class="post-metadata">

**Author:** ![dfrey](https://sea2.discourse-cdn.com/flex016/user_avatar/mangoh.discourse.group/dfrey/32/303_2.png) [@dfrey](https://mangoh.discourse.group/u/dfrey)\
**Post date:** [November 23, 2018, 6:30pm UTC](https://mangoh.discourse.group/t/removing-wm8944-driver-adding-wm8974/2153/2 "2018-11-23T18:30:44Z")

</div>

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.

---

<div class="post-metadata">

**Author:** ![AE\_1](https://avatars.discourse-cdn.com/v4/letter/a/a88e57/32.png) [@AE\_1](https://mangoh.discourse.group/u/AE_1)\
**Post date:** [November 26, 2018, 9:56am UTC](https://mangoh.discourse.group/t/removing-wm8944-driver-adding-wm8974/2153/3 "2018-11-26T09:56:36Z")

</div>

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’

---

<div class="post-metadata">

**Author:** ![dfrey](https://sea2.discourse-cdn.com/flex016/user_avatar/mangoh.discourse.group/dfrey/32/303_2.png) [@dfrey](https://mangoh.discourse.group/u/dfrey)\
**Post date:** [November 26, 2018, 6:47pm UTC](https://mangoh.discourse.group/t/removing-wm8944-driver-adding-wm8974/2153/4 "2018-11-26T18:47:06Z")

</div>

> [@AE\_1](#):
>
> 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.
