Merge "dsp: ion: Remove smmu initialization"
diff --git a/asoc/codecs/aqt1000/aqt1000-api.h b/asoc/codecs/aqt1000/aqt1000-api.h
index fc5d23a..bf90fad 100644
--- a/asoc/codecs/aqt1000/aqt1000-api.h
+++ b/asoc/codecs/aqt1000/aqt1000-api.h
@@ -1,4 +1,4 @@
-/* SPDX-License-Identifier: GPL-2.0 */
+/* SPDX-License-Identifier: GPL-2.0-only */
/* Copyright (c) 2018, The Linux Foundation. All rights reserved.
*/
diff --git a/asoc/codecs/aqt1000/aqt1000-clsh.c b/asoc/codecs/aqt1000/aqt1000-clsh.c
index 218425b..ef70cc9 100644
--- a/asoc/codecs/aqt1000/aqt1000-clsh.c
+++ b/asoc/codecs/aqt1000/aqt1000-clsh.c
@@ -1,4 +1,4 @@
-// SPDX-License-Identifier: GPL-2.0
+// SPDX-License-Identifier: GPL-2.0-only
/* Copyright (c) 2015-2018, The Linux Foundation. All rights reserved.
*/
diff --git a/asoc/codecs/aqt1000/aqt1000-clsh.h b/asoc/codecs/aqt1000/aqt1000-clsh.h
index 7079450..5a0b427 100644
--- a/asoc/codecs/aqt1000/aqt1000-clsh.h
+++ b/asoc/codecs/aqt1000/aqt1000-clsh.h
@@ -1,4 +1,4 @@
-/* SPDX-License-Identifier: GPL-2.0 */
+/* SPDX-License-Identifier: GPL-2.0-only */
/* Copyright (c) 2015-2018, The Linux Foundation. All rights reserved.
*/
diff --git a/asoc/codecs/aqt1000/aqt1000-core.c b/asoc/codecs/aqt1000/aqt1000-core.c
index e643b6a..e5562a4 100644
--- a/asoc/codecs/aqt1000/aqt1000-core.c
+++ b/asoc/codecs/aqt1000/aqt1000-core.c
@@ -1,4 +1,4 @@
-// SPDX-License-Identifier: GPL-2.0
+// SPDX-License-Identifier: GPL-2.0-only
/* Copyright (c) 2011-2018, The Linux Foundation. All rights reserved.
*/
diff --git a/asoc/codecs/aqt1000/aqt1000-internal.h b/asoc/codecs/aqt1000/aqt1000-internal.h
index abfae1b..0ae6670 100644
--- a/asoc/codecs/aqt1000/aqt1000-internal.h
+++ b/asoc/codecs/aqt1000/aqt1000-internal.h
@@ -1,4 +1,4 @@
-/* SPDX-License-Identifier: GPL-2.0 */
+/* SPDX-License-Identifier: GPL-2.0-only */
/* Copyright (c) 2018, The Linux Foundation. All rights reserved.
*/
diff --git a/asoc/codecs/aqt1000/aqt1000-irq.c b/asoc/codecs/aqt1000/aqt1000-irq.c
index 5f71573..34d647a 100644
--- a/asoc/codecs/aqt1000/aqt1000-irq.c
+++ b/asoc/codecs/aqt1000/aqt1000-irq.c
@@ -1,4 +1,4 @@
-// SPDX-License-Identifier: GPL-2.0
+// SPDX-License-Identifier: GPL-2.0-only
/* Copyright (c) 2018, The Linux Foundation. All rights reserved.
*/
diff --git a/asoc/codecs/aqt1000/aqt1000-irq.h b/asoc/codecs/aqt1000/aqt1000-irq.h
index cd1a95f..6fb29b1 100644
--- a/asoc/codecs/aqt1000/aqt1000-irq.h
+++ b/asoc/codecs/aqt1000/aqt1000-irq.h
@@ -1,4 +1,4 @@
-/* SPDX-License-Identifier: GPL-2.0 */
+/* SPDX-License-Identifier: GPL-2.0-only */
/* Copyright (c) 2018, The Linux Foundation. All rights reserved.
*/
diff --git a/asoc/codecs/aqt1000/aqt1000-mbhc.c b/asoc/codecs/aqt1000/aqt1000-mbhc.c
index 4146c6b..66449b2 100644
--- a/asoc/codecs/aqt1000/aqt1000-mbhc.c
+++ b/asoc/codecs/aqt1000/aqt1000-mbhc.c
@@ -1,4 +1,4 @@
-// SPDX-License-Identifier: GPL-2.0
+// SPDX-License-Identifier: GPL-2.0-only
/* Copyright (c) 2015-2018, The Linux Foundation. All rights reserved.
*/
#include <linux/module.h>
diff --git a/asoc/codecs/aqt1000/aqt1000-mbhc.h b/asoc/codecs/aqt1000/aqt1000-mbhc.h
index aea788c..b6ce875 100644
--- a/asoc/codecs/aqt1000/aqt1000-mbhc.h
+++ b/asoc/codecs/aqt1000/aqt1000-mbhc.h
@@ -1,4 +1,4 @@
-/* SPDX-License-Identifier: GPL-2.0 */
+/* SPDX-License-Identifier: GPL-2.0-only */
/* Copyright (c) 2015-2018, The Linux Foundation. All rights reserved.
*/
#ifndef __AQT1000_MBHC_H__
diff --git a/asoc/codecs/aqt1000/aqt1000-reg-defaults.h b/asoc/codecs/aqt1000/aqt1000-reg-defaults.h
index edcfe07..760289b 100644
--- a/asoc/codecs/aqt1000/aqt1000-reg-defaults.h
+++ b/asoc/codecs/aqt1000/aqt1000-reg-defaults.h
@@ -1,4 +1,4 @@
-/* SPDX-License-Identifier: GPL-2.0 */
+/* SPDX-License-Identifier: GPL-2.0-only */
/* Copyright (c) 2018, The Linux Foundation. All rights reserved.
*/
diff --git a/asoc/codecs/aqt1000/aqt1000-registers.h b/asoc/codecs/aqt1000/aqt1000-registers.h
index e2b6770..1ba3882 100644
--- a/asoc/codecs/aqt1000/aqt1000-registers.h
+++ b/asoc/codecs/aqt1000/aqt1000-registers.h
@@ -1,4 +1,4 @@
-/* SPDX-License-Identifier: GPL-2.0 */
+/* SPDX-License-Identifier: GPL-2.0-only */
/* Copyright (c) 2018, The Linux Foundation. All rights reserved.
*/
diff --git a/asoc/codecs/aqt1000/aqt1000-regmap.c b/asoc/codecs/aqt1000/aqt1000-regmap.c
index 67bcd26..31002fa 100644
--- a/asoc/codecs/aqt1000/aqt1000-regmap.c
+++ b/asoc/codecs/aqt1000/aqt1000-regmap.c
@@ -1,4 +1,4 @@
-// SPDX-License-Identifier: GPL-2.0
+// SPDX-License-Identifier: GPL-2.0-only
/* Copyright (c) 2016-2018, The Linux Foundation. All rights reserved.
*/
diff --git a/asoc/codecs/aqt1000/aqt1000-routing.h b/asoc/codecs/aqt1000/aqt1000-routing.h
index 6a3d895..876f622 100644
--- a/asoc/codecs/aqt1000/aqt1000-routing.h
+++ b/asoc/codecs/aqt1000/aqt1000-routing.h
@@ -1,4 +1,4 @@
-/* SPDX-License-Identifier: GPL-2.0 */
+/* SPDX-License-Identifier: GPL-2.0-only */
/* Copyright (c) 2018, The Linux Foundation. All rights reserved.
*/
#ifndef AQT1000_ROUTING_H
diff --git a/asoc/codecs/aqt1000/aqt1000-utils.c b/asoc/codecs/aqt1000/aqt1000-utils.c
index a788b5d..078be0b 100644
--- a/asoc/codecs/aqt1000/aqt1000-utils.c
+++ b/asoc/codecs/aqt1000/aqt1000-utils.c
@@ -1,4 +1,4 @@
-// SPDX-License-Identifier: GPL-2.0
+// SPDX-License-Identifier: GPL-2.0-only
/* Copyright (c) 2016-2018, The Linux Foundation. All rights reserved.
*/
diff --git a/asoc/codecs/aqt1000/aqt1000-utils.h b/asoc/codecs/aqt1000/aqt1000-utils.h
index c2c7aeb..72c8fcf 100644
--- a/asoc/codecs/aqt1000/aqt1000-utils.h
+++ b/asoc/codecs/aqt1000/aqt1000-utils.h
@@ -1,4 +1,4 @@
-/* SPDX-License-Identifier: GPL-2.0 */
+/* SPDX-License-Identifier: GPL-2.0-only */
/* Copyright (c) 2016-2018, The Linux Foundation. All rights reserved.
*/
diff --git a/asoc/codecs/aqt1000/aqt1000.c b/asoc/codecs/aqt1000/aqt1000.c
index ef0c265..1ba5605 100644
--- a/asoc/codecs/aqt1000/aqt1000.c
+++ b/asoc/codecs/aqt1000/aqt1000.c
@@ -1,4 +1,4 @@
-// SPDX-License-Identifier: GPL-2.0
+// SPDX-License-Identifier: GPL-2.0-only
/* Copyright (c) 2018, The Linux Foundation. All rights reserved.
*/
#include <linux/kernel.h>
diff --git a/asoc/codecs/aqt1000/aqt1000.h b/asoc/codecs/aqt1000/aqt1000.h
index 6148213..ebc6460 100644
--- a/asoc/codecs/aqt1000/aqt1000.h
+++ b/asoc/codecs/aqt1000/aqt1000.h
@@ -1,4 +1,4 @@
-/* SPDX-License-Identifier: GPL-2.0 */
+/* SPDX-License-Identifier: GPL-2.0-only */
/* Copyright (c) 2015-2018, The Linux Foundation. All rights reserved.
*/
diff --git a/asoc/codecs/aqt1000/pdata.h b/asoc/codecs/aqt1000/pdata.h
index 89fcb3c..c490b56 100644
--- a/asoc/codecs/aqt1000/pdata.h
+++ b/asoc/codecs/aqt1000/pdata.h
@@ -1,4 +1,4 @@
-/* SPDX-License-Identifier: GPL-2.0 */
+/* SPDX-License-Identifier: GPL-2.0-only */
/*
* Copyright (c) 2015-2018, The Linux Foundation. All rights reserved.
*/
diff --git a/asoc/codecs/audio-ext-clk-up.c b/asoc/codecs/audio-ext-clk-up.c
index 74ab9e2..0d95ff1 100644
--- a/asoc/codecs/audio-ext-clk-up.c
+++ b/asoc/codecs/audio-ext-clk-up.c
@@ -1,4 +1,4 @@
-// SPDX-License-Identifier: GPL-2.0
+// SPDX-License-Identifier: GPL-2.0-only
/* Copyright (c) 2015-2018, The Linux Foundation. All rights reserved.
*/
diff --git a/asoc/codecs/audio-ext-clk-up.h b/asoc/codecs/audio-ext-clk-up.h
index 6551897..e7c1954 100644
--- a/asoc/codecs/audio-ext-clk-up.h
+++ b/asoc/codecs/audio-ext-clk-up.h
@@ -1,4 +1,4 @@
-/* SPDX-License-Identifier: GPL-2.0 */
+/* SPDX-License-Identifier: GPL-2.0-only */
/*
* Copyright (c) 2017, The Linux Foundation. All rights reserved.
*/
diff --git a/asoc/codecs/audio-ext-clk.c b/asoc/codecs/audio-ext-clk.c
index c06c9c5..07556ee 100644
--- a/asoc/codecs/audio-ext-clk.c
+++ b/asoc/codecs/audio-ext-clk.c
@@ -1,4 +1,4 @@
-// SPDX-License-Identifier: GPL-2.0
+// SPDX-License-Identifier: GPL-2.0-only
/* Copyright (c) 2015-2017, The Linux Foundation. All rights reserved.
*/
diff --git a/asoc/codecs/bolero/bolero-cdc-registers.h b/asoc/codecs/bolero/bolero-cdc-registers.h
index 5f88c85..99890cc 100644
--- a/asoc/codecs/bolero/bolero-cdc-registers.h
+++ b/asoc/codecs/bolero/bolero-cdc-registers.h
@@ -1,4 +1,4 @@
-/* SPDX-License-Identifier: GPL-2.0 */
+/* SPDX-License-Identifier: GPL-2.0-only */
/* Copyright (c) 2018, The Linux Foundation. All rights reserved.
*/
diff --git a/asoc/codecs/bolero/bolero-cdc-regmap.c b/asoc/codecs/bolero/bolero-cdc-regmap.c
index 8f55ff2..a0ecd83 100644
--- a/asoc/codecs/bolero/bolero-cdc-regmap.c
+++ b/asoc/codecs/bolero/bolero-cdc-regmap.c
@@ -1,4 +1,4 @@
-// SPDX-License-Identifier: GPL-2.0
+// SPDX-License-Identifier: GPL-2.0-only
/* Copyright (c) 2018, The Linux Foundation. All rights reserved.
*/
diff --git a/asoc/codecs/bolero/bolero-cdc-tables.c b/asoc/codecs/bolero/bolero-cdc-tables.c
index e92508f..5298763 100644
--- a/asoc/codecs/bolero/bolero-cdc-tables.c
+++ b/asoc/codecs/bolero/bolero-cdc-tables.c
@@ -1,4 +1,4 @@
-// SPDX-License-Identifier: GPL-2.0
+// SPDX-License-Identifier: GPL-2.0-only
/*
* Copyright (c) 2018 The Linux Foundation. All rights reserved.
*/
diff --git a/asoc/codecs/bolero/bolero-cdc-utils.c b/asoc/codecs/bolero/bolero-cdc-utils.c
index 6acf69e..b2fd153 100644
--- a/asoc/codecs/bolero/bolero-cdc-utils.c
+++ b/asoc/codecs/bolero/bolero-cdc-utils.c
@@ -1,4 +1,4 @@
-// SPDX-License-Identifier: GPL-2.0
+// SPDX-License-Identifier: GPL-2.0-only
/* Copyright (c) 2018, The Linux Foundation. All rights reserved.
*/
diff --git a/asoc/codecs/bolero/bolero-cdc.c b/asoc/codecs/bolero/bolero-cdc.c
index 2d63c43..aec455a 100644
--- a/asoc/codecs/bolero/bolero-cdc.c
+++ b/asoc/codecs/bolero/bolero-cdc.c
@@ -1,4 +1,4 @@
-// SPDX-License-Identifier: GPL-2.0
+// SPDX-License-Identifier: GPL-2.0-only
/* Copyright (c) 2018, The Linux Foundation. All rights reserved.
*/
diff --git a/asoc/codecs/bolero/bolero-cdc.h b/asoc/codecs/bolero/bolero-cdc.h
index 386fa62..488ccf7 100644
--- a/asoc/codecs/bolero/bolero-cdc.h
+++ b/asoc/codecs/bolero/bolero-cdc.h
@@ -1,4 +1,4 @@
-/* SPDX-License-Identifier: GPL-2.0 */
+/* SPDX-License-Identifier: GPL-2.0-only */
/* Copyright (c) 2018, The Linux Foundation. All rights reserved.
*/
diff --git a/asoc/codecs/bolero/internal.h b/asoc/codecs/bolero/internal.h
index be00482..9093334 100644
--- a/asoc/codecs/bolero/internal.h
+++ b/asoc/codecs/bolero/internal.h
@@ -1,4 +1,4 @@
-/* SPDX-License-Identifier: GPL-2.0 */
+/* SPDX-License-Identifier: GPL-2.0-only */
/* Copyright (c) 2018, The Linux Foundation. All rights reserved.
*/
diff --git a/asoc/codecs/bolero/rx-macro.c b/asoc/codecs/bolero/rx-macro.c
index 75a3a0a..6e0916e 100644
--- a/asoc/codecs/bolero/rx-macro.c
+++ b/asoc/codecs/bolero/rx-macro.c
@@ -1,4 +1,4 @@
-// SPDX-License-Identifier: GPL-2.0
+// SPDX-License-Identifier: GPL-2.0-only
/* Copyright (c) 2018, The Linux Foundation. All rights reserved.
*/
diff --git a/asoc/codecs/bolero/tx-macro.c b/asoc/codecs/bolero/tx-macro.c
index 96182d3..c33a857 100644
--- a/asoc/codecs/bolero/tx-macro.c
+++ b/asoc/codecs/bolero/tx-macro.c
@@ -1,4 +1,4 @@
-// SPDX-License-Identifier: GPL-2.0
+// SPDX-License-Identifier: GPL-2.0-only
/* Copyright (c) 2018, The Linux Foundation. All rights reserved.
*/
diff --git a/asoc/codecs/bolero/va-macro.c b/asoc/codecs/bolero/va-macro.c
index 985424a..da68da8 100644
--- a/asoc/codecs/bolero/va-macro.c
+++ b/asoc/codecs/bolero/va-macro.c
@@ -1,4 +1,4 @@
-// SPDX-License-Identifier: GPL-2.0
+// SPDX-License-Identifier: GPL-2.0-only
/* Copyright (c) 2018, The Linux Foundation. All rights reserved.
*/
diff --git a/asoc/codecs/bolero/wsa-macro.c b/asoc/codecs/bolero/wsa-macro.c
index 9586770..d761d94 100644
--- a/asoc/codecs/bolero/wsa-macro.c
+++ b/asoc/codecs/bolero/wsa-macro.c
@@ -1,4 +1,4 @@
-// SPDX-License-Identifier: GPL-2.0
+// SPDX-License-Identifier: GPL-2.0-only
/* Copyright (c) 2018, The Linux Foundation. All rights reserved.
*/
diff --git a/asoc/codecs/bolero/wsa-macro.h b/asoc/codecs/bolero/wsa-macro.h
index f2553c0..a4dc77f 100644
--- a/asoc/codecs/bolero/wsa-macro.h
+++ b/asoc/codecs/bolero/wsa-macro.h
@@ -1,4 +1,4 @@
-/* SPDX-License-Identifier: GPL-2.0 */
+/* SPDX-License-Identifier: GPL-2.0-only */
/* Copyright (c) 2018, The Linux Foundation. All rights reserved.
*/
#ifndef WSA_MACRO_H
diff --git a/asoc/codecs/core.h b/asoc/codecs/core.h
index ab0f0c7..8acfa26 100644
--- a/asoc/codecs/core.h
+++ b/asoc/codecs/core.h
@@ -1,4 +1,4 @@
-/* SPDX-License-Identifier: GPL-2.0 */
+/* SPDX-License-Identifier: GPL-2.0-only */
/* Copyright (c) 2011-2018, The Linux Foundation. All rights reserved.
*/
diff --git a/asoc/codecs/cpe_cmi.h b/asoc/codecs/cpe_cmi.h
index 21df2ae..cd94c71 100644
--- a/asoc/codecs/cpe_cmi.h
+++ b/asoc/codecs/cpe_cmi.h
@@ -1,4 +1,4 @@
-/* SPDX-License-Identifier: GPL-2.0 */
+/* SPDX-License-Identifier: GPL-2.0-only */
/*
* Copyright (c) 2014-2016, The Linux Foundation. All rights reserved.
*/
diff --git a/asoc/codecs/cpe_core.h b/asoc/codecs/cpe_core.h
index 7cfbd43..86f1c57 100644
--- a/asoc/codecs/cpe_core.h
+++ b/asoc/codecs/cpe_core.h
@@ -1,4 +1,4 @@
-/* SPDX-License-Identifier: GPL-2.0 */
+/* SPDX-License-Identifier: GPL-2.0-only */
/*
* Copyright (c) 2013-2018, The Linux Foundation. All rights reserved.
*/
diff --git a/asoc/codecs/cpe_err.h b/asoc/codecs/cpe_err.h
index 5a2dea1..29ea922 100644
--- a/asoc/codecs/cpe_err.h
+++ b/asoc/codecs/cpe_err.h
@@ -1,4 +1,4 @@
-/* SPDX-License-Identifier: GPL-2.0 */
+/* SPDX-License-Identifier: GPL-2.0-only */
/*
* Copyright (c) 2015, 2017, The Linux Foundation. All rights reserved.
*/
diff --git a/asoc/codecs/csra66x0/csra66x0.c b/asoc/codecs/csra66x0/csra66x0.c
index 33e5334..595e7ca 100644
--- a/asoc/codecs/csra66x0/csra66x0.c
+++ b/asoc/codecs/csra66x0/csra66x0.c
@@ -1,4 +1,4 @@
-// SPDX-License-Identifier: GPL-2.0
+// SPDX-License-Identifier: GPL-2.0-only
/*
* Copyright (c) 2018, The Linux Foundation. All rights reserved.
*/
diff --git a/asoc/codecs/csra66x0/csra66x0.h b/asoc/codecs/csra66x0/csra66x0.h
index c449d67..2ff651c 100644
--- a/asoc/codecs/csra66x0/csra66x0.h
+++ b/asoc/codecs/csra66x0/csra66x0.h
@@ -1,4 +1,4 @@
-/* SPDX-License-Identifier: GPL-2.0 */
+/* SPDX-License-Identifier: GPL-2.0-only */
/*
* Copyright (c) 2018, The Linux Foundation. All rights reserved.
*/
diff --git a/asoc/codecs/ep92/ep92.c b/asoc/codecs/ep92/ep92.c
index 81ff656..c2cce8e 100644
--- a/asoc/codecs/ep92/ep92.c
+++ b/asoc/codecs/ep92/ep92.c
@@ -1,4 +1,4 @@
-// SPDX-License-Identifier: GPL-2.0
+// SPDX-License-Identifier: GPL-2.0-only
/*
* Copyright (c) 2018, The Linux Foundation. All rights reserved.
*/
diff --git a/asoc/codecs/ep92/ep92.h b/asoc/codecs/ep92/ep92.h
index 7aafab2..bfc8d80 100644
--- a/asoc/codecs/ep92/ep92.h
+++ b/asoc/codecs/ep92/ep92.h
@@ -1,4 +1,4 @@
-/* SPDX-License-Identifier: GPL-2.0 */
+/* SPDX-License-Identifier: GPL-2.0-only */
/*
* Copyright (c) 2018, The Linux Foundation. All rights reserved.
*/
diff --git a/asoc/codecs/msm-cdc-pinctrl.c b/asoc/codecs/msm-cdc-pinctrl.c
index 901864a..142e73d 100644
--- a/asoc/codecs/msm-cdc-pinctrl.c
+++ b/asoc/codecs/msm-cdc-pinctrl.c
@@ -1,4 +1,4 @@
-// SPDX-License-Identifier: GPL-2.0
+// SPDX-License-Identifier: GPL-2.0-only
/* Copyright (c) 2016-2017, The Linux Foundation. All rights reserved.
*/
diff --git a/asoc/codecs/msm-cdc-pinctrl.h b/asoc/codecs/msm-cdc-pinctrl.h
index 3bd3443..4024d90 100644
--- a/asoc/codecs/msm-cdc-pinctrl.h
+++ b/asoc/codecs/msm-cdc-pinctrl.h
@@ -1,4 +1,4 @@
-/* SPDX-License-Identifier: GPL-2.0 */
+/* SPDX-License-Identifier: GPL-2.0-only */
/* Copyright (c) 2016-2018, The Linux Foundation. All rights reserved.
*/
diff --git a/asoc/codecs/msm-cdc-supply.c b/asoc/codecs/msm-cdc-supply.c
index 751d81e..16dfebb 100644
--- a/asoc/codecs/msm-cdc-supply.c
+++ b/asoc/codecs/msm-cdc-supply.c
@@ -1,4 +1,4 @@
-// SPDX-License-Identifier: GPL-2.0
+// SPDX-License-Identifier: GPL-2.0-only
/*
* Copyright (c) 2016-2018, The Linux Foundation. All rights reserved.
*/
diff --git a/asoc/codecs/msm-cdc-supply.h b/asoc/codecs/msm-cdc-supply.h
index 6d7b41a..9801115 100644
--- a/asoc/codecs/msm-cdc-supply.h
+++ b/asoc/codecs/msm-cdc-supply.h
@@ -1,4 +1,4 @@
-/* SPDX-License-Identifier: GPL-2.0 */
+/* SPDX-License-Identifier: GPL-2.0-only */
/* Copyright (c) 2016, 2018 The Linux Foundation. All rights reserved.
*/
diff --git a/asoc/codecs/msm_hdmi_codec_rx.c b/asoc/codecs/msm_hdmi_codec_rx.c
index 95bb26d..0c142f1 100644
--- a/asoc/codecs/msm_hdmi_codec_rx.c
+++ b/asoc/codecs/msm_hdmi_codec_rx.c
@@ -1,4 +1,4 @@
-// SPDX-License-Identifier: GPL-2.0
+// SPDX-License-Identifier: GPL-2.0-only
/* Copyright (c) 2012-2018, The Linux Foundation. All rights reserved.
*/
#include <linux/platform_device.h>
diff --git a/asoc/codecs/msm_stub.c b/asoc/codecs/msm_stub.c
index a27111a..a754c49 100644
--- a/asoc/codecs/msm_stub.c
+++ b/asoc/codecs/msm_stub.c
@@ -1,6 +1,5 @@
-// SPDX-License-Identifier: GPL-2.0
+// SPDX-License-Identifier: GPL-2.0-only
/* Copyright (c) 2011-2014, 2017-2018 The Linux Foundation. All rights reserved.
-
*/
#include <linux/platform_device.h>
#include <linux/slab.h>
diff --git a/asoc/codecs/pdata.h b/asoc/codecs/pdata.h
index c19c118..1182ef7 100644
--- a/asoc/codecs/pdata.h
+++ b/asoc/codecs/pdata.h
@@ -1,4 +1,4 @@
-/* SPDX-License-Identifier: GPL-2.0 */
+/* SPDX-License-Identifier: GPL-2.0-only */
/* Copyright (c) 2011-2018, The Linux Foundation. All rights reserved.
*/
diff --git a/asoc/codecs/wcd-clsh.c b/asoc/codecs/wcd-clsh.c
index 7aec959..834454a 100644
--- a/asoc/codecs/wcd-clsh.c
+++ b/asoc/codecs/wcd-clsh.c
@@ -1,4 +1,4 @@
-// SPDX-License-Identifier: GPL-2.0
+// SPDX-License-Identifier: GPL-2.0-only
/*
* Copyright (c) 2015-2018, The Linux Foundation. All rights reserved.
*/
diff --git a/asoc/codecs/wcd-clsh.h b/asoc/codecs/wcd-clsh.h
index 1a7759e..64250e1 100644
--- a/asoc/codecs/wcd-clsh.h
+++ b/asoc/codecs/wcd-clsh.h
@@ -1,4 +1,4 @@
-/* SPDX-License-Identifier: GPL-2.0 */
+/* SPDX-License-Identifier: GPL-2.0-only */
/*
* Copyright (c) 2015-2018, The Linux Foundation. All rights reserved.
*/
diff --git a/asoc/codecs/wcd-dsp-mgr.c b/asoc/codecs/wcd-dsp-mgr.c
index 612161f..e0070e6 100644
--- a/asoc/codecs/wcd-dsp-mgr.c
+++ b/asoc/codecs/wcd-dsp-mgr.c
@@ -1,4 +1,4 @@
-// SPDX-License-Identifier: GPL-2.0
+// SPDX-License-Identifier: GPL-2.0-only
/*
* Copyright (c) 2016-2018, The Linux Foundation. All rights reserved.
*/
diff --git a/asoc/codecs/wcd-dsp-utils.c b/asoc/codecs/wcd-dsp-utils.c
index 2e24de9..c157ab1 100644
--- a/asoc/codecs/wcd-dsp-utils.c
+++ b/asoc/codecs/wcd-dsp-utils.c
@@ -1,4 +1,4 @@
-// SPDX-License-Identifier: GPL-2.0
+// SPDX-License-Identifier: GPL-2.0-only
/*
* Copyright (c) 2016-2018, The Linux Foundation. All rights reserved.
*/
diff --git a/asoc/codecs/wcd-dsp-utils.h b/asoc/codecs/wcd-dsp-utils.h
index 1016fc0..3fb42e4 100644
--- a/asoc/codecs/wcd-dsp-utils.h
+++ b/asoc/codecs/wcd-dsp-utils.h
@@ -1,4 +1,4 @@
-/* SPDX-License-Identifier: GPL-2.0 */
+/* SPDX-License-Identifier: GPL-2.0-only */
/*
* Copyright (c) 2016-2017, The Linux Foundation. All rights reserved.
*/
diff --git a/asoc/codecs/wcd-irq.c b/asoc/codecs/wcd-irq.c
index d294d40..3c8e777 100644
--- a/asoc/codecs/wcd-irq.c
+++ b/asoc/codecs/wcd-irq.c
@@ -1,4 +1,4 @@
-// SPDX-License-Identifier: GPL-2.0
+// SPDX-License-Identifier: GPL-2.0-only
/* Copyright (c) 2018, The Linux Foundation. All rights reserved.
*/
diff --git a/asoc/codecs/wcd-mbhc-adc.c b/asoc/codecs/wcd-mbhc-adc.c
index c7882d6..2b596c3 100644
--- a/asoc/codecs/wcd-mbhc-adc.c
+++ b/asoc/codecs/wcd-mbhc-adc.c
@@ -1,4 +1,4 @@
-// SPDX-License-Identifier: GPL-2.0
+// SPDX-License-Identifier: GPL-2.0-only
/* Copyright (c) 2017-2018, The Linux Foundation. All rights reserved.
*/
#include <linux/module.h>
diff --git a/asoc/codecs/wcd-mbhc-adc.h b/asoc/codecs/wcd-mbhc-adc.h
index 9383d1a..95e0ff2 100644
--- a/asoc/codecs/wcd-mbhc-adc.h
+++ b/asoc/codecs/wcd-mbhc-adc.h
@@ -1,4 +1,4 @@
-/* SPDX-License-Identifier: GPL-2.0 */
+/* SPDX-License-Identifier: GPL-2.0-only */
/* Copyright (c) 2017, The Linux Foundation. All rights reserved.
*/
#ifndef __WCD_MBHC_ADC_H__
diff --git a/asoc/codecs/wcd-mbhc-legacy.c b/asoc/codecs/wcd-mbhc-legacy.c
index 4b8917d..94c4560 100644
--- a/asoc/codecs/wcd-mbhc-legacy.c
+++ b/asoc/codecs/wcd-mbhc-legacy.c
@@ -1,4 +1,4 @@
-// SPDX-License-Identifier: GPL-2.0
+// SPDX-License-Identifier: GPL-2.0-only
/* Copyright (c) 2015-2018, The Linux Foundation. All rights reserved.
*/
#include <linux/module.h>
diff --git a/asoc/codecs/wcd-mbhc-legacy.h b/asoc/codecs/wcd-mbhc-legacy.h
index a79b673..c7835c5 100644
--- a/asoc/codecs/wcd-mbhc-legacy.h
+++ b/asoc/codecs/wcd-mbhc-legacy.h
@@ -1,4 +1,4 @@
-/* SPDX-License-Identifier: GPL-2.0 */
+/* SPDX-License-Identifier: GPL-2.0-only */
/* Copyright (c) 2014-2017, The Linux Foundation. All rights reserved.
*/
#ifndef __WCD_MBHC_LEGACY_H__
diff --git a/asoc/codecs/wcd-mbhc-v2-api.h b/asoc/codecs/wcd-mbhc-v2-api.h
index fc00e14..ef5efc6 100644
--- a/asoc/codecs/wcd-mbhc-v2-api.h
+++ b/asoc/codecs/wcd-mbhc-v2-api.h
@@ -1,4 +1,4 @@
-/* SPDX-License-Identifier: GPL-2.0 */
+/* SPDX-License-Identifier: GPL-2.0-only */
/* Copyright (c) 2014-2018, The Linux Foundation. All rights reserved.
*/
#ifndef __WCD_MBHC_V2_API_H__
diff --git a/asoc/codecs/wcd-mbhc-v2.c b/asoc/codecs/wcd-mbhc-v2.c
index 971cf51..162ccde 100644
--- a/asoc/codecs/wcd-mbhc-v2.c
+++ b/asoc/codecs/wcd-mbhc-v2.c
@@ -1,4 +1,4 @@
-// SPDX-License-Identifier: GPL-2.0
+// SPDX-License-Identifier: GPL-2.0-only
/* Copyright (c) 2015-2018, The Linux Foundation. All rights reserved.
*/
#include <linux/module.h>
diff --git a/asoc/codecs/wcd-mbhc-v2.h b/asoc/codecs/wcd-mbhc-v2.h
index 451ca91..c98cdda 100644
--- a/asoc/codecs/wcd-mbhc-v2.h
+++ b/asoc/codecs/wcd-mbhc-v2.h
@@ -1,4 +1,4 @@
-/* SPDX-License-Identifier: GPL-2.0 */
+/* SPDX-License-Identifier: GPL-2.0-only */
/* Copyright (c) 2014-2018, The Linux Foundation. All rights reserved.
*/
#ifndef __WCD_MBHC_V2_H__
diff --git a/asoc/codecs/wcd-spi-registers.h b/asoc/codecs/wcd-spi-registers.h
index df48cd0..e0d9612 100644
--- a/asoc/codecs/wcd-spi-registers.h
+++ b/asoc/codecs/wcd-spi-registers.h
@@ -1,4 +1,4 @@
-/* SPDX-License-Identifier: GPL-2.0 */
+/* SPDX-License-Identifier: GPL-2.0-only */
/*
* Copyright (c) 2016, The Linux Foundation. All rights reserved.
*/
diff --git a/asoc/codecs/wcd-spi.c b/asoc/codecs/wcd-spi.c
index 9acf24a..35b0d93 100644
--- a/asoc/codecs/wcd-spi.c
+++ b/asoc/codecs/wcd-spi.c
@@ -1,4 +1,4 @@
-// SPDX-License-Identifier: GPL-2.0
+// SPDX-License-Identifier: GPL-2.0-only
/*
* Copyright (c) 2016-2018, The Linux Foundation. All rights reserved.
*/
diff --git a/asoc/codecs/wcd9335-regmap.c b/asoc/codecs/wcd9335-regmap.c
index 9d1ccb8..0a83fd5 100644
--- a/asoc/codecs/wcd9335-regmap.c
+++ b/asoc/codecs/wcd9335-regmap.c
@@ -1,4 +1,4 @@
-// SPDX-License-Identifier: GPL-2.0
+// SPDX-License-Identifier: GPL-2.0-only
/*
* Copyright (c) 2015-2018, The Linux Foundation. All rights reserved.
*/
diff --git a/asoc/codecs/wcd9335-tables.c b/asoc/codecs/wcd9335-tables.c
index cd223c9..991b2bc 100644
--- a/asoc/codecs/wcd9335-tables.c
+++ b/asoc/codecs/wcd9335-tables.c
@@ -1,4 +1,4 @@
-// SPDX-License-Identifier: GPL-2.0
+// SPDX-License-Identifier: GPL-2.0-only
/*
* Copyright (c) 2015, 2017 The Linux Foundation. All rights reserved.
*/
diff --git a/asoc/codecs/wcd9335.c b/asoc/codecs/wcd9335.c
index 740f232..2372e20 100644
--- a/asoc/codecs/wcd9335.c
+++ b/asoc/codecs/wcd9335.c
@@ -1,4 +1,4 @@
-// SPDX-License-Identifier: GPL-2.0
+// SPDX-License-Identifier: GPL-2.0-only
/*
* Copyright (c) 2015-2018, The Linux Foundation. All rights reserved.
*/
diff --git a/asoc/codecs/wcd9335.h b/asoc/codecs/wcd9335.h
index 203c6de..261ea40 100644
--- a/asoc/codecs/wcd9335.h
+++ b/asoc/codecs/wcd9335.h
@@ -1,4 +1,4 @@
-/* SPDX-License-Identifier: GPL-2.0 */
+/* SPDX-License-Identifier: GPL-2.0-only */
/*
* Copyright (c) 2015-2018, The Linux Foundation. All rights reserved.
*/
diff --git a/asoc/codecs/wcd9335_irq.h b/asoc/codecs/wcd9335_irq.h
index ae81a1a..39a223d 100644
--- a/asoc/codecs/wcd9335_irq.h
+++ b/asoc/codecs/wcd9335_irq.h
@@ -1,4 +1,4 @@
-/* SPDX-License-Identifier: GPL-2.0 */
+/* SPDX-License-Identifier: GPL-2.0-only */
/*
* Copyright (c) 2017, The Linux Foundation. All rights reserved.
*/
diff --git a/asoc/codecs/wcd9335_registers.h b/asoc/codecs/wcd9335_registers.h
index 4af4e1b..19a942c 100644
--- a/asoc/codecs/wcd9335_registers.h
+++ b/asoc/codecs/wcd9335_registers.h
@@ -1,4 +1,4 @@
-/* SPDX-License-Identifier: GPL-2.0 */
+/* SPDX-License-Identifier: GPL-2.0-only */
/*
* Copyright (c) 2015, The Linux Foundation. All rights reserved.
*/
diff --git a/asoc/codecs/wcd934x/wcd934x-dsd.c b/asoc/codecs/wcd934x/wcd934x-dsd.c
index 0a9c556..98f1264 100644
--- a/asoc/codecs/wcd934x/wcd934x-dsd.c
+++ b/asoc/codecs/wcd934x/wcd934x-dsd.c
@@ -1,4 +1,4 @@
-// SPDX-License-Identifier: GPL-2.0
+// SPDX-License-Identifier: GPL-2.0-only
/* Copyright (c) 2016-2018, The Linux Foundation. All rights reserved.
*/
diff --git a/asoc/codecs/wcd934x/wcd934x-dsd.h b/asoc/codecs/wcd934x/wcd934x-dsd.h
index e078c07..0dc4516 100644
--- a/asoc/codecs/wcd934x/wcd934x-dsd.h
+++ b/asoc/codecs/wcd934x/wcd934x-dsd.h
@@ -1,4 +1,4 @@
-/* SPDX-License-Identifier: GPL-2.0 */
+/* SPDX-License-Identifier: GPL-2.0-only */
/* Copyright (c) 2016-2018, The Linux Foundation. All rights reserved.
*/
diff --git a/asoc/codecs/wcd934x/wcd934x-dsp-cntl.c b/asoc/codecs/wcd934x/wcd934x-dsp-cntl.c
index e64b158..0c6c6f0 100644
--- a/asoc/codecs/wcd934x/wcd934x-dsp-cntl.c
+++ b/asoc/codecs/wcd934x/wcd934x-dsp-cntl.c
@@ -1,4 +1,4 @@
-// SPDX-License-Identifier: GPL-2.0
+// SPDX-License-Identifier: GPL-2.0-only
/*
* Copyright (c) 2016-2018, The Linux Foundation. All rights reserved.
*/
diff --git a/asoc/codecs/wcd934x/wcd934x-dsp-cntl.h b/asoc/codecs/wcd934x/wcd934x-dsp-cntl.h
index a4b18a3..2bb55f9 100644
--- a/asoc/codecs/wcd934x/wcd934x-dsp-cntl.h
+++ b/asoc/codecs/wcd934x/wcd934x-dsp-cntl.h
@@ -1,4 +1,4 @@
-/* SPDX-License-Identifier: GPL-2.0 */
+/* SPDX-License-Identifier: GPL-2.0-only */
/*
* Copyright (c) 2016-2018, The Linux Foundation. All rights reserved.
*/
diff --git a/asoc/codecs/wcd934x/wcd934x-mbhc.c b/asoc/codecs/wcd934x/wcd934x-mbhc.c
index 7a91bf3..5801f31 100644
--- a/asoc/codecs/wcd934x/wcd934x-mbhc.c
+++ b/asoc/codecs/wcd934x/wcd934x-mbhc.c
@@ -1,4 +1,4 @@
-// SPDX-License-Identifier: GPL-2.0
+// SPDX-License-Identifier: GPL-2.0-only
/*
* Copyright (c) 2015-2018, The Linux Foundation. All rights reserved.
*/
diff --git a/asoc/codecs/wcd934x/wcd934x-mbhc.h b/asoc/codecs/wcd934x/wcd934x-mbhc.h
index 69cd460..a0bd05a 100644
--- a/asoc/codecs/wcd934x/wcd934x-mbhc.h
+++ b/asoc/codecs/wcd934x/wcd934x-mbhc.h
@@ -1,4 +1,4 @@
-/* SPDX-License-Identifier: GPL-2.0 */
+/* SPDX-License-Identifier: GPL-2.0-only */
/*
* Copyright (c) 2015-2018, The Linux Foundation. All rights reserved.
*/
diff --git a/asoc/codecs/wcd934x/wcd934x-regmap.c b/asoc/codecs/wcd934x/wcd934x-regmap.c
index 051586f..2a2187f 100644
--- a/asoc/codecs/wcd934x/wcd934x-regmap.c
+++ b/asoc/codecs/wcd934x/wcd934x-regmap.c
@@ -1,4 +1,4 @@
-// SPDX-License-Identifier: GPL-2.0
+// SPDX-License-Identifier: GPL-2.0-only
/*
* Copyright (c) 2016-2018, The Linux Foundation. All rights reserved.
*/
diff --git a/asoc/codecs/wcd934x/wcd934x-routing.h b/asoc/codecs/wcd934x/wcd934x-routing.h
index 51a3618..771f91f 100644
--- a/asoc/codecs/wcd934x/wcd934x-routing.h
+++ b/asoc/codecs/wcd934x/wcd934x-routing.h
@@ -1,4 +1,4 @@
-/* SPDX-License-Identifier: GPL-2.0 */
+/* SPDX-License-Identifier: GPL-2.0-only */
/*
* Copyright (c) 2015-2018, The Linux Foundation. All rights reserved.
*/
diff --git a/asoc/codecs/wcd934x/wcd934x-tables.c b/asoc/codecs/wcd934x/wcd934x-tables.c
index afe7939..a74004f 100644
--- a/asoc/codecs/wcd934x/wcd934x-tables.c
+++ b/asoc/codecs/wcd934x/wcd934x-tables.c
@@ -1,4 +1,4 @@
-// SPDX-License-Identifier: GPL-2.0
+// SPDX-License-Identifier: GPL-2.0-only
/*
* Copyright (c) 2016, The Linux Foundation. All rights reserved.
*/
diff --git a/asoc/codecs/wcd934x/wcd934x.c b/asoc/codecs/wcd934x/wcd934x.c
index d930ec8..250a483 100644
--- a/asoc/codecs/wcd934x/wcd934x.c
+++ b/asoc/codecs/wcd934x/wcd934x.c
@@ -1,4 +1,4 @@
-// SPDX-License-Identifier: GPL-2.0
+// SPDX-License-Identifier: GPL-2.0-only
/* Copyright (c) 2015-2018, The Linux Foundation. All rights reserved.
*/
#include <linux/module.h>
diff --git a/asoc/codecs/wcd934x/wcd934x.h b/asoc/codecs/wcd934x/wcd934x.h
index a14e6eb..8d5aec5 100644
--- a/asoc/codecs/wcd934x/wcd934x.h
+++ b/asoc/codecs/wcd934x/wcd934x.h
@@ -1,4 +1,4 @@
-/* SPDX-License-Identifier: GPL-2.0 */
+/* SPDX-License-Identifier: GPL-2.0-only */
/*
* Copyright (c) 2015-2018, The Linux Foundation. All rights reserved.
*/
diff --git a/asoc/codecs/wcd934x/wcd934x_irq.h b/asoc/codecs/wcd934x/wcd934x_irq.h
index 7c054ea..b880e97 100644
--- a/asoc/codecs/wcd934x/wcd934x_irq.h
+++ b/asoc/codecs/wcd934x/wcd934x_irq.h
@@ -1,4 +1,4 @@
-/* SPDX-License-Identifier: GPL-2.0 */
+/* SPDX-License-Identifier: GPL-2.0-only */
/*
* Copyright (c) 2017, The Linux Foundation. All rights reserved.
*/
diff --git a/asoc/codecs/wcd937x/internal.h b/asoc/codecs/wcd937x/internal.h
index b416511..8e6928a 100644
--- a/asoc/codecs/wcd937x/internal.h
+++ b/asoc/codecs/wcd937x/internal.h
@@ -1,4 +1,4 @@
-/* SPDX-License-Identifier: GPL-2.0 */
+/* SPDX-License-Identifier: GPL-2.0-only */
/* Copyright (c) 2018, The Linux Foundation. All rights reserved.
*/
diff --git a/asoc/codecs/wcd937x/wcd937x-mbhc.c b/asoc/codecs/wcd937x/wcd937x-mbhc.c
index 5438976..7ffa117 100644
--- a/asoc/codecs/wcd937x/wcd937x-mbhc.c
+++ b/asoc/codecs/wcd937x/wcd937x-mbhc.c
@@ -1,4 +1,4 @@
-// SPDX-License-Identifier: GPL-2.0
+// SPDX-License-Identifier: GPL-2.0-only
/* Copyright (c) 2018, The Linux Foundation. All rights reserved.
*/
#include <linux/module.h>
diff --git a/asoc/codecs/wcd937x/wcd937x-mbhc.h b/asoc/codecs/wcd937x/wcd937x-mbhc.h
index d7bfb16..3ac42ef 100644
--- a/asoc/codecs/wcd937x/wcd937x-mbhc.h
+++ b/asoc/codecs/wcd937x/wcd937x-mbhc.h
@@ -1,4 +1,4 @@
-/* SPDX-License-Identifier: GPL-2.0 */
+/* SPDX-License-Identifier: GPL-2.0-only */
/* Copyright (c) 2018, The Linux Foundation. All rights reserved.
*/
#ifndef __WCD937X_MBHC_H__
diff --git a/asoc/codecs/wcd937x/wcd937x-registers.h b/asoc/codecs/wcd937x/wcd937x-registers.h
index c7ee8e6..be818c2 100644
--- a/asoc/codecs/wcd937x/wcd937x-registers.h
+++ b/asoc/codecs/wcd937x/wcd937x-registers.h
@@ -1,4 +1,4 @@
-/* SPDX-License-Identifier: GPL-2.0 */
+/* SPDX-License-Identifier: GPL-2.0-only */
/*
* Copyright (c) 2018, The Linux Foundation. All rights reserved.
*/
diff --git a/asoc/codecs/wcd937x/wcd937x-regmap.c b/asoc/codecs/wcd937x/wcd937x-regmap.c
index 205dfe4..2bb70ca 100644
--- a/asoc/codecs/wcd937x/wcd937x-regmap.c
+++ b/asoc/codecs/wcd937x/wcd937x-regmap.c
@@ -1,4 +1,4 @@
-// SPDX-License-Identifier: GPL-2.0
+// SPDX-License-Identifier: GPL-2.0-only
/*
* Copyright (c) 2018, The Linux Foundation. All rights reserved.
*/
diff --git a/asoc/codecs/wcd937x/wcd937x-tables.c b/asoc/codecs/wcd937x/wcd937x-tables.c
index a1f6d10..0a58c87 100644
--- a/asoc/codecs/wcd937x/wcd937x-tables.c
+++ b/asoc/codecs/wcd937x/wcd937x-tables.c
@@ -1,4 +1,4 @@
-// SPDX-License-Identifier: GPL-2.0
+// SPDX-License-Identifier: GPL-2.0-only
/*
* Copyright (c) 2018 , The Linux Foundation. All rights reserved.
*/
diff --git a/asoc/codecs/wcd937x/wcd937x.c b/asoc/codecs/wcd937x/wcd937x.c
index fbd553a..8810fec 100644
--- a/asoc/codecs/wcd937x/wcd937x.c
+++ b/asoc/codecs/wcd937x/wcd937x.c
@@ -1,4 +1,4 @@
-// SPDX-License-Identifier: GPL-2.0
+// SPDX-License-Identifier: GPL-2.0-only
/*
* Copyright (c) 2018, The Linux Foundation. All rights reserved.
*/
diff --git a/asoc/codecs/wcd937x/wcd937x.h b/asoc/codecs/wcd937x/wcd937x.h
index a40554e..27d7c6e 100644
--- a/asoc/codecs/wcd937x/wcd937x.h
+++ b/asoc/codecs/wcd937x/wcd937x.h
@@ -1,4 +1,4 @@
-/* SPDX-License-Identifier: GPL-2.0 */
+/* SPDX-License-Identifier: GPL-2.0-only */
/* Copyright (c) 2018, The Linux Foundation. All rights reserved.
*/
diff --git a/asoc/codecs/wcd937x/wcd937x_slave.c b/asoc/codecs/wcd937x/wcd937x_slave.c
index 61b6a0c..761e5fe 100644
--- a/asoc/codecs/wcd937x/wcd937x_slave.c
+++ b/asoc/codecs/wcd937x/wcd937x_slave.c
@@ -1,4 +1,4 @@
-// SPDX-License-Identifier: GPL-2.0
+// SPDX-License-Identifier: GPL-2.0-only
/*
* Copyright (c) 2018, The Linux Foundation. All rights reserved.
*/
diff --git a/asoc/codecs/wcd9xxx-common-v2.c b/asoc/codecs/wcd9xxx-common-v2.c
index d45a071..56a3fa5 100644
--- a/asoc/codecs/wcd9xxx-common-v2.c
+++ b/asoc/codecs/wcd9xxx-common-v2.c
@@ -1,4 +1,4 @@
-// SPDX-License-Identifier: GPL-2.0
+// SPDX-License-Identifier: GPL-2.0-only
/*
* Copyright (c) 2015-2018, The Linux Foundation. All rights reserved.
*/
diff --git a/asoc/codecs/wcd9xxx-common-v2.h b/asoc/codecs/wcd9xxx-common-v2.h
index 21eadd7..1334b71 100644
--- a/asoc/codecs/wcd9xxx-common-v2.h
+++ b/asoc/codecs/wcd9xxx-common-v2.h
@@ -1,4 +1,4 @@
-/* SPDX-License-Identifier: GPL-2.0 */
+/* SPDX-License-Identifier: GPL-2.0-only */
/*
* Copyright (c) 2015-2018, The Linux Foundation. All rights reserved.
*/
diff --git a/asoc/codecs/wcd9xxx-core-init.c b/asoc/codecs/wcd9xxx-core-init.c
index ee1ba51..bb865a9 100644
--- a/asoc/codecs/wcd9xxx-core-init.c
+++ b/asoc/codecs/wcd9xxx-core-init.c
@@ -1,4 +1,4 @@
-// SPDX-License-Identifier: GPL-2.0
+// SPDX-License-Identifier: GPL-2.0-only
/* Copyright (c) 2017, The Linux Foundation. All rights reserved.
*/
diff --git a/asoc/codecs/wcd9xxx-core.c b/asoc/codecs/wcd9xxx-core.c
index 28b0708..5794ef2 100644
--- a/asoc/codecs/wcd9xxx-core.c
+++ b/asoc/codecs/wcd9xxx-core.c
@@ -1,4 +1,4 @@
-// SPDX-License-Identifier: GPL-2.0
+// SPDX-License-Identifier: GPL-2.0-only
/* Copyright (c) 2011-2018, The Linux Foundation. All rights reserved.
*/
diff --git a/asoc/codecs/wcd9xxx-irq.c b/asoc/codecs/wcd9xxx-irq.c
index 5b685fb..06dbf75 100644
--- a/asoc/codecs/wcd9xxx-irq.c
+++ b/asoc/codecs/wcd9xxx-irq.c
@@ -1,4 +1,4 @@
-// SPDX-License-Identifier: GPL-2.0
+// SPDX-License-Identifier: GPL-2.0-only
/* Copyright (c) 2011-2018, The Linux Foundation. All rights reserved.
*/
#include <linux/bitops.h>
diff --git a/asoc/codecs/wcd9xxx-irq.h b/asoc/codecs/wcd9xxx-irq.h
index 83f86b3..2c7e7ec 100644
--- a/asoc/codecs/wcd9xxx-irq.h
+++ b/asoc/codecs/wcd9xxx-irq.h
@@ -1,4 +1,4 @@
-/* SPDX-License-Identifier: GPL-2.0 */
+/* SPDX-License-Identifier: GPL-2.0-only */
/* Copyright (c) 2016-2017, The Linux Foundation. All rights reserved.
*/
diff --git a/asoc/codecs/wcd9xxx-regmap.h b/asoc/codecs/wcd9xxx-regmap.h
index 2c7af0d..19b9de3 100644
--- a/asoc/codecs/wcd9xxx-regmap.h
+++ b/asoc/codecs/wcd9xxx-regmap.h
@@ -1,4 +1,4 @@
-/* SPDX-License-Identifier: GPL-2.0 */
+/* SPDX-License-Identifier: GPL-2.0-only */
/*
* Copyright (c) 2015-2018, The Linux Foundation. All rights reserved.
*/
diff --git a/asoc/codecs/wcd9xxx-resmgr-v2.c b/asoc/codecs/wcd9xxx-resmgr-v2.c
index 4636f43..f280fcc 100644
--- a/asoc/codecs/wcd9xxx-resmgr-v2.c
+++ b/asoc/codecs/wcd9xxx-resmgr-v2.c
@@ -1,4 +1,4 @@
-// SPDX-License-Identifier: GPL-2.0
+// SPDX-License-Identifier: GPL-2.0-only
/*
* Copyright (c) 2015-2018, The Linux Foundation. All rights reserved.
*/
diff --git a/asoc/codecs/wcd9xxx-resmgr-v2.h b/asoc/codecs/wcd9xxx-resmgr-v2.h
index 8eceb83..a4b919f 100644
--- a/asoc/codecs/wcd9xxx-resmgr-v2.h
+++ b/asoc/codecs/wcd9xxx-resmgr-v2.h
@@ -1,4 +1,4 @@
-/* SPDX-License-Identifier: GPL-2.0 */
+/* SPDX-License-Identifier: GPL-2.0-only */
/*
* Copyright (c) 2015-2018, The Linux Foundation. All rights reserved.
*/
diff --git a/asoc/codecs/wcd9xxx-rst.c b/asoc/codecs/wcd9xxx-rst.c
index 84225de..4a729a0 100644
--- a/asoc/codecs/wcd9xxx-rst.c
+++ b/asoc/codecs/wcd9xxx-rst.c
@@ -1,4 +1,4 @@
-// SPDX-License-Identifier: GPL-2.0
+// SPDX-License-Identifier: GPL-2.0-only
/* Copyright (c) 2017-2018, The Linux Foundation. All rights reserved.
*/
diff --git a/asoc/codecs/wcd9xxx-slimslave.c b/asoc/codecs/wcd9xxx-slimslave.c
index 3636bb5..a4f07ef 100644
--- a/asoc/codecs/wcd9xxx-slimslave.c
+++ b/asoc/codecs/wcd9xxx-slimslave.c
@@ -1,4 +1,4 @@
-// SPDX-License-Identifier: GPL-2.0
+// SPDX-License-Identifier: GPL-2.0-only
/* Copyright (c) 2012-2017, The Linux Foundation. All rights reserved.
*/
#include <linux/slab.h>
diff --git a/asoc/codecs/wcd9xxx-slimslave.h b/asoc/codecs/wcd9xxx-slimslave.h
index 9ab7404..70b9a4c 100644
--- a/asoc/codecs/wcd9xxx-slimslave.h
+++ b/asoc/codecs/wcd9xxx-slimslave.h
@@ -1,4 +1,4 @@
-/* SPDX-License-Identifier: GPL-2.0 */
+/* SPDX-License-Identifier: GPL-2.0-only */
/* Copyright (c) 2012-2015, The Linux Foundation. All rights reserved.
*/
diff --git a/asoc/codecs/wcd9xxx-soc-init.c b/asoc/codecs/wcd9xxx-soc-init.c
index 4e2d837..06a991c 100644
--- a/asoc/codecs/wcd9xxx-soc-init.c
+++ b/asoc/codecs/wcd9xxx-soc-init.c
@@ -1,4 +1,4 @@
-// SPDX-License-Identifier: GPL-2.0
+// SPDX-License-Identifier: GPL-2.0-only
/*
* Copyright (c) 2017, The Linux Foundation. All rights reserved.
*/
diff --git a/asoc/codecs/wcd9xxx-utils.c b/asoc/codecs/wcd9xxx-utils.c
index 0e238fc..bcc909b 100644
--- a/asoc/codecs/wcd9xxx-utils.c
+++ b/asoc/codecs/wcd9xxx-utils.c
@@ -1,4 +1,4 @@
-// SPDX-License-Identifier: GPL-2.0
+// SPDX-License-Identifier: GPL-2.0-only
/* Copyright (c) 2016-2018, The Linux Foundation. All rights reserved.
*/
diff --git a/asoc/codecs/wcd9xxx-utils.h b/asoc/codecs/wcd9xxx-utils.h
index 17bb9fd..1e063ab 100644
--- a/asoc/codecs/wcd9xxx-utils.h
+++ b/asoc/codecs/wcd9xxx-utils.h
@@ -1,4 +1,4 @@
-/* SPDX-License-Identifier: GPL-2.0 */
+/* SPDX-License-Identifier: GPL-2.0-only */
/* Copyright (c) 2016-2018, The Linux Foundation. All rights reserved.
*/
diff --git a/asoc/codecs/wcd_cmi_api.h b/asoc/codecs/wcd_cmi_api.h
index bc7bd86..b02c665 100644
--- a/asoc/codecs/wcd_cmi_api.h
+++ b/asoc/codecs/wcd_cmi_api.h
@@ -1,4 +1,4 @@
-/* SPDX-License-Identifier: GPL-2.0 */
+/* SPDX-License-Identifier: GPL-2.0-only */
/* Copyright (c) 2014, The Linux Foundation. All rights reserved.
*/
diff --git a/asoc/codecs/wcd_cpe_core.c b/asoc/codecs/wcd_cpe_core.c
index 00a3843..629b803 100644
--- a/asoc/codecs/wcd_cpe_core.c
+++ b/asoc/codecs/wcd_cpe_core.c
@@ -1,4 +1,4 @@
-// SPDX-License-Identifier: GPL-2.0
+// SPDX-License-Identifier: GPL-2.0-only
/* Copyright (c) 2014-2018, The Linux Foundation. All rights reserved.
*/
diff --git a/asoc/codecs/wcd_cpe_core.h b/asoc/codecs/wcd_cpe_core.h
index 105ece0..b16503d 100644
--- a/asoc/codecs/wcd_cpe_core.h
+++ b/asoc/codecs/wcd_cpe_core.h
@@ -1,4 +1,4 @@
-/* SPDX-License-Identifier: GPL-2.0 */
+/* SPDX-License-Identifier: GPL-2.0-only */
/* Copyright (c) 2013-2018, The Linux Foundation. All rights reserved.
*/
diff --git a/asoc/codecs/wcd_cpe_services.c b/asoc/codecs/wcd_cpe_services.c
index a443963..fd8e809 100644
--- a/asoc/codecs/wcd_cpe_services.c
+++ b/asoc/codecs/wcd_cpe_services.c
@@ -1,4 +1,4 @@
-// SPDX-License-Identifier: GPL-2.0
+// SPDX-License-Identifier: GPL-2.0-only
/* Copyright (c) 2014-2018, The Linux Foundation. All rights reserved.
*/
diff --git a/asoc/codecs/wcd_cpe_services.h b/asoc/codecs/wcd_cpe_services.h
index 1627cd8..caf645b 100644
--- a/asoc/codecs/wcd_cpe_services.h
+++ b/asoc/codecs/wcd_cpe_services.h
@@ -1,4 +1,4 @@
-/* SPDX-License-Identifier: GPL-2.0 */
+/* SPDX-License-Identifier: GPL-2.0-only */
/* Copyright (c) 2014-2015, The Linux Foundation. All rights reserved.
*/
diff --git a/asoc/codecs/wcdcal-hwdep.c b/asoc/codecs/wcdcal-hwdep.c
index 162c407..e826eae 100644
--- a/asoc/codecs/wcdcal-hwdep.c
+++ b/asoc/codecs/wcdcal-hwdep.c
@@ -1,4 +1,4 @@
-// SPDX-License-Identifier: GPL-2.0
+// SPDX-License-Identifier: GPL-2.0-only
/*
* Copyright (c) 2015, 2017-2018 The Linux Foundation. All rights reserved.
*
diff --git a/asoc/codecs/wcdcal-hwdep.h b/asoc/codecs/wcdcal-hwdep.h
index 9606cd5..ddd5856 100644
--- a/asoc/codecs/wcdcal-hwdep.h
+++ b/asoc/codecs/wcdcal-hwdep.h
@@ -1,4 +1,4 @@
-/* SPDX-License-Identifier: GPL-2.0 */
+/* SPDX-License-Identifier: GPL-2.0-only */
/*
* Copyright (c) 2014, 2018, The Linux Foundation. All rights reserved.
*/
diff --git a/asoc/codecs/wsa881x-registers.h b/asoc/codecs/wsa881x-registers.h
index c39edef..6e19b32 100644
--- a/asoc/codecs/wsa881x-registers.h
+++ b/asoc/codecs/wsa881x-registers.h
@@ -1,4 +1,4 @@
-/* SPDX-License-Identifier: GPL-2.0 */
+/* SPDX-License-Identifier: GPL-2.0-only */
/* Copyright (c) 2015, The Linux Foundation. All rights reserved.
*/
diff --git a/asoc/codecs/wsa881x-regmap.c b/asoc/codecs/wsa881x-regmap.c
index 8663db9..27e45a1 100644
--- a/asoc/codecs/wsa881x-regmap.c
+++ b/asoc/codecs/wsa881x-regmap.c
@@ -1,4 +1,4 @@
-// SPDX-License-Identifier: GPL-2.0
+// SPDX-License-Identifier: GPL-2.0-only
/*
* Copyright (c) 2015-2016, The Linux Foundation. All rights reserved.
*/
diff --git a/asoc/codecs/wsa881x-tables.c b/asoc/codecs/wsa881x-tables.c
index e531832..40d2fa2 100644
--- a/asoc/codecs/wsa881x-tables.c
+++ b/asoc/codecs/wsa881x-tables.c
@@ -1,4 +1,4 @@
-// SPDX-License-Identifier: GPL-2.0
+// SPDX-License-Identifier: GPL-2.0-only
/*
* Copyright (c) 2015, The Linux Foundation. All rights reserved.
*/
diff --git a/asoc/codecs/wsa881x-temp-sensor.c b/asoc/codecs/wsa881x-temp-sensor.c
index 598449c..97f4d46 100644
--- a/asoc/codecs/wsa881x-temp-sensor.c
+++ b/asoc/codecs/wsa881x-temp-sensor.c
@@ -1,4 +1,4 @@
-// SPDX-License-Identifier: GPL-2.0
+// SPDX-License-Identifier: GPL-2.0-only
/* Copyright (c) 2015, 2017-2018 The Linux Foundation. All rights reserved.
*/
diff --git a/asoc/codecs/wsa881x-temp-sensor.h b/asoc/codecs/wsa881x-temp-sensor.h
index 7c90526..fbb5941 100644
--- a/asoc/codecs/wsa881x-temp-sensor.h
+++ b/asoc/codecs/wsa881x-temp-sensor.h
@@ -1,4 +1,4 @@
-/* SPDX-License-Identifier: GPL-2.0 */
+/* SPDX-License-Identifier: GPL-2.0-only */
/* Copyright (c) 2015, 2018 The Linux Foundation. All rights reserved.
*/
#ifndef WSA881X_TEMP_SENSOR_H
diff --git a/asoc/codecs/wsa881x.c b/asoc/codecs/wsa881x.c
index da33494..4dceb04 100644
--- a/asoc/codecs/wsa881x.c
+++ b/asoc/codecs/wsa881x.c
@@ -1,4 +1,4 @@
-// SPDX-License-Identifier: GPL-2.0
+// SPDX-License-Identifier: GPL-2.0-only
/*
* Copyright (c) 2015-2018, The Linux Foundation. All rights reserved.
*/
diff --git a/asoc/codecs/wsa881x.h b/asoc/codecs/wsa881x.h
index 3922fc8..0486a0f 100644
--- a/asoc/codecs/wsa881x.h
+++ b/asoc/codecs/wsa881x.h
@@ -1,4 +1,4 @@
-/* SPDX-License-Identifier: GPL-2.0 */
+/* SPDX-License-Identifier: GPL-2.0-only */
/* Copyright (c) 2015-2018, The Linux Foundation. All rights reserved.
*/
diff --git a/asoc/device_event.h b/asoc/device_event.h
index e63656e..5327f0e 100644
--- a/asoc/device_event.h
+++ b/asoc/device_event.h
@@ -1,4 +1,4 @@
-/* SPDX-License-Identifier: GPL-2.0 */
+/* SPDX-License-Identifier: GPL-2.0-only */
/* Copyright (c) 2014, The Linux Foundation. All rights reserved.
*/
diff --git a/asoc/machine_815x_init.c b/asoc/machine_815x_init.c
index ff01a90..cf8fbed 100644
--- a/asoc/machine_815x_init.c
+++ b/asoc/machine_815x_init.c
@@ -1,4 +1,4 @@
-// SPDX-License-Identifier: GPL-2.0
+// SPDX-License-Identifier: GPL-2.0-only
/*
* Copyright (c) 2017-2018, The Linux Foundation. All rights reserved.
*/
diff --git a/asoc/machine_815x_init.h b/asoc/machine_815x_init.h
index d096d97..8ff4610 100644
--- a/asoc/machine_815x_init.h
+++ b/asoc/machine_815x_init.h
@@ -1,4 +1,4 @@
-/* SPDX-License-Identifier: GPL-2.0 */
+/* SPDX-License-Identifier: GPL-2.0-only */
/*
Copyright (c) 2017-2018, The Linux Foundation. All rights reserved.
*/
diff --git a/asoc/msm-audio-effects-q6-v2.c b/asoc/msm-audio-effects-q6-v2.c
index dcc7474..7ab6db4 100644
--- a/asoc/msm-audio-effects-q6-v2.c
+++ b/asoc/msm-audio-effects-q6-v2.c
@@ -1,4 +1,4 @@
-// SPDX-License-Identifier: GPL-2.0
+// SPDX-License-Identifier: GPL-2.0-only
/* Copyright (c) 2013-2018, The Linux Foundation. All rights reserved.
*/
diff --git a/asoc/msm-compress-q6-v2.c b/asoc/msm-compress-q6-v2.c
index bf22f87..dd166cf 100644
--- a/asoc/msm-compress-q6-v2.c
+++ b/asoc/msm-compress-q6-v2.c
@@ -1,4 +1,4 @@
-// SPDX-License-Identifier: GPL-2.0
+// SPDX-License-Identifier: GPL-2.0-only
/* Copyright (c) 2012-2018, The Linux Foundation. All rights reserved.
*/
diff --git a/asoc/msm-cpe-lsm.c b/asoc/msm-cpe-lsm.c
index 19f57a1..b1a6fe3 100644
--- a/asoc/msm-cpe-lsm.c
+++ b/asoc/msm-cpe-lsm.c
@@ -1,4 +1,4 @@
-// SPDX-License-Identifier: GPL-2.0
+// SPDX-License-Identifier: GPL-2.0-only
/*
* Copyright (c) 2013-2018, The Linux Foundation. All rights reserved.
*/
diff --git a/asoc/msm-dai-fe.c b/asoc/msm-dai-fe.c
index 36fa5dd..c4976a4 100644
--- a/asoc/msm-dai-fe.c
+++ b/asoc/msm-dai-fe.c
@@ -1,4 +1,4 @@
-// SPDX-License-Identifier: GPL-2.0
+// SPDX-License-Identifier: GPL-2.0-only
/* Copyright (c) 2012-2018, The Linux Foundation. All rights reserved.
*/
diff --git a/asoc/msm-dai-q6-hdmi-v2.c b/asoc/msm-dai-q6-hdmi-v2.c
index 69332fc..32add91 100644
--- a/asoc/msm-dai-q6-hdmi-v2.c
+++ b/asoc/msm-dai-q6-hdmi-v2.c
@@ -1,4 +1,4 @@
-// SPDX-License-Identifier: GPL-2.0
+// SPDX-License-Identifier: GPL-2.0-only
/* Copyright (c) 2012-2018, The Linux Foundation. All rights reserved.
*/
diff --git a/asoc/msm-dai-q6-v2.c b/asoc/msm-dai-q6-v2.c
index b77c08f..962a1bd 100644
--- a/asoc/msm-dai-q6-v2.c
+++ b/asoc/msm-dai-q6-v2.c
@@ -1,4 +1,4 @@
-// SPDX-License-Identifier: GPL-2.0
+// SPDX-License-Identifier: GPL-2.0-only
/* Copyright (c) 2012-2018, The Linux Foundation. All rights reserved.
*/
diff --git a/asoc/msm-dai-q6-v2.h b/asoc/msm-dai-q6-v2.h
index 91737c9..950ecd2 100644
--- a/asoc/msm-dai-q6-v2.h
+++ b/asoc/msm-dai-q6-v2.h
@@ -1,4 +1,4 @@
-/* SPDX-License-Identifier: GPL-2.0 */
+/* SPDX-License-Identifier: GPL-2.0-only */
/* Copyright (c) 2012-2017, The Linux Foundation. All rights reserved.
*/
diff --git a/asoc/msm-dai-slim.c b/asoc/msm-dai-slim.c
index db8f3dd..545590f 100644
--- a/asoc/msm-dai-slim.c
+++ b/asoc/msm-dai-slim.c
@@ -1,4 +1,4 @@
-// SPDX-License-Identifier: GPL-2.0
+// SPDX-License-Identifier: GPL-2.0-only
/*
* Copyright (c) 2014-2017, The Linux Foundation. All rights reserved.
*/
diff --git a/asoc/msm-dai-stub-v2.c b/asoc/msm-dai-stub-v2.c
index 76ea52c..7e7d4e4 100644
--- a/asoc/msm-dai-stub-v2.c
+++ b/asoc/msm-dai-stub-v2.c
@@ -1,4 +1,4 @@
-// SPDX-License-Identifier: GPL-2.0
+// SPDX-License-Identifier: GPL-2.0-only
/* Copyright (c) 2013-2014, 2017 The Linux Foundation. All rights reserved.
*/
#include <linux/init.h>
diff --git a/asoc/msm-dolby-common.h b/asoc/msm-dolby-common.h
index c56e115..46a2957 100644
--- a/asoc/msm-dolby-common.h
+++ b/asoc/msm-dolby-common.h
@@ -1,4 +1,4 @@
-/* SPDX-License-Identifier: GPL-2.0 */
+/* SPDX-License-Identifier: GPL-2.0-only */
/*
* Copyright (c) 2013-2014, 2016, The Linux Foundation. All rights reserved.
*/
diff --git a/asoc/msm-dolby-dap-config.h b/asoc/msm-dolby-dap-config.h
index f7e21d6..75d6e07 100644
--- a/asoc/msm-dolby-dap-config.h
+++ b/asoc/msm-dolby-dap-config.h
@@ -1,4 +1,4 @@
-/* SPDX-License-Identifier: GPL-2.0 */
+/* SPDX-License-Identifier: GPL-2.0-only */
/*
* Copyright (c) 2013-2014, 2017-2018, The Linux Foundation. All rights reserved.
*/
diff --git a/asoc/msm-ds2-dap-config.c b/asoc/msm-ds2-dap-config.c
index 4971907..f40b74b 100644
--- a/asoc/msm-ds2-dap-config.c
+++ b/asoc/msm-ds2-dap-config.c
@@ -1,4 +1,4 @@
-// SPDX-License-Identifier: GPL-2.0
+// SPDX-License-Identifier: GPL-2.0-only
/*
* Copyright (c) 2013-2018, The Linux Foundation. All rights reserved.
*/
diff --git a/asoc/msm-ds2-dap-config.h b/asoc/msm-ds2-dap-config.h
index d734790..165dbe1 100644
--- a/asoc/msm-ds2-dap-config.h
+++ b/asoc/msm-ds2-dap-config.h
@@ -1,4 +1,4 @@
-/* SPDX-License-Identifier: GPL-2.0 */
+/* SPDX-License-Identifier: GPL-2.0-only */
/*
* Copyright (c) 2013-2014, 2017 The Linux Foundation. All rights reserved.
*/
diff --git a/asoc/msm-lsm-client.c b/asoc/msm-lsm-client.c
index 74263e3..6bf44c4 100644
--- a/asoc/msm-lsm-client.c
+++ b/asoc/msm-lsm-client.c
@@ -1,4 +1,4 @@
-// SPDX-License-Identifier: GPL-2.0
+// SPDX-License-Identifier: GPL-2.0-only
/*
* Copyright (c) 2013-2018, The Linux Foundation. All rights reserved.
*/
diff --git a/asoc/msm-pcm-afe-v2.c b/asoc/msm-pcm-afe-v2.c
index a34514b..e296122 100644
--- a/asoc/msm-pcm-afe-v2.c
+++ b/asoc/msm-pcm-afe-v2.c
@@ -1,4 +1,4 @@
-// SPDX-License-Identifier: GPL-2.0
+// SPDX-License-Identifier: GPL-2.0-only
/* Copyright (c) 2012-2018, The Linux Foundation. All rights reserved.
*/
diff --git a/asoc/msm-pcm-afe-v2.h b/asoc/msm-pcm-afe-v2.h
index ca9dfcc..3c0d520 100644
--- a/asoc/msm-pcm-afe-v2.h
+++ b/asoc/msm-pcm-afe-v2.h
@@ -1,4 +1,4 @@
-/* SPDX-License-Identifier: GPL-2.0 */
+/* SPDX-License-Identifier: GPL-2.0-only */
/* Copyright (c) 2012,2015-2016 The Linux Foundation. All rights reserved.
*/
#ifndef _MSM_PCM_AFE_H
diff --git a/asoc/msm-pcm-dtmf-v2.c b/asoc/msm-pcm-dtmf-v2.c
index e8eb468..58ae5fa 100644
--- a/asoc/msm-pcm-dtmf-v2.c
+++ b/asoc/msm-pcm-dtmf-v2.c
@@ -1,4 +1,4 @@
-// SPDX-License-Identifier: GPL-2.0
+// SPDX-License-Identifier: GPL-2.0-only
/* Copyright (c) 2013-2014, 2017-2018 The Linux Foundation. All rights reserved.
*/
diff --git a/asoc/msm-pcm-host-voice-v2.c b/asoc/msm-pcm-host-voice-v2.c
index 9fc7c88..49e9591 100644
--- a/asoc/msm-pcm-host-voice-v2.c
+++ b/asoc/msm-pcm-host-voice-v2.c
@@ -1,4 +1,4 @@
-// SPDX-License-Identifier: GPL-2.0
+// SPDX-License-Identifier: GPL-2.0-only
/* Copyright (c) 2013-2018, The Linux Foundation. All rights reserved.
*/
diff --git a/asoc/msm-pcm-hostless.c b/asoc/msm-pcm-hostless.c
index 9a0c52b..3109b72 100644
--- a/asoc/msm-pcm-hostless.c
+++ b/asoc/msm-pcm-hostless.c
@@ -1,4 +1,4 @@
-// SPDX-License-Identifier: GPL-2.0
+// SPDX-License-Identifier: GPL-2.0-only
/* Copyright (c) 2011-2014, 2017-2018, The Linux Foundation. All rights reserved.
*/
diff --git a/asoc/msm-pcm-loopback-v2.c b/asoc/msm-pcm-loopback-v2.c
index 9b90935..b516634 100644
--- a/asoc/msm-pcm-loopback-v2.c
+++ b/asoc/msm-pcm-loopback-v2.c
@@ -1,4 +1,4 @@
-// SPDX-License-Identifier: GPL-2.0
+// SPDX-License-Identifier: GPL-2.0-only
/* Copyright (c) 2013-2018, The Linux Foundation. All rights reserved.
*/
diff --git a/asoc/msm-pcm-q6-noirq.c b/asoc/msm-pcm-q6-noirq.c
index aac3fe0..a317142 100644
--- a/asoc/msm-pcm-q6-noirq.c
+++ b/asoc/msm-pcm-q6-noirq.c
@@ -1,4 +1,4 @@
-// SPDX-License-Identifier: GPL-2.0
+// SPDX-License-Identifier: GPL-2.0-only
/* Copyright (c) 2016-2018, The Linux Foundation. All rights reserved.
*/
diff --git a/asoc/msm-pcm-q6-v2.c b/asoc/msm-pcm-q6-v2.c
index 1ad10db..50186da 100644
--- a/asoc/msm-pcm-q6-v2.c
+++ b/asoc/msm-pcm-q6-v2.c
@@ -1,4 +1,4 @@
-// SPDX-License-Identifier: GPL-2.0
+// SPDX-License-Identifier: GPL-2.0-only
/* Copyright (c) 2012-2018, The Linux Foundation. All rights reserved.
*/
diff --git a/asoc/msm-pcm-q6-v2.h b/asoc/msm-pcm-q6-v2.h
index ca18a85..8699a48 100644
--- a/asoc/msm-pcm-q6-v2.h
+++ b/asoc/msm-pcm-q6-v2.h
@@ -1,4 +1,4 @@
-/* SPDX-License-Identifier: GPL-2.0 */
+/* SPDX-License-Identifier: GPL-2.0-only */
/*
* Copyright (C) 2008 Google, Inc.
* Copyright (C) 2008 HTC Corporation
diff --git a/asoc/msm-pcm-routing-devdep.c b/asoc/msm-pcm-routing-devdep.c
index 6d26c54..cddc2a1 100644
--- a/asoc/msm-pcm-routing-devdep.c
+++ b/asoc/msm-pcm-routing-devdep.c
@@ -1,4 +1,4 @@
-// SPDX-License-Identifier: GPL-2.0
+// SPDX-License-Identifier: GPL-2.0-only
/* Copyright (c) 2014, 2016-2017 The Linux Foundation. All rights reserved.
*/
diff --git a/asoc/msm-pcm-routing-devdep.h b/asoc/msm-pcm-routing-devdep.h
index 651edd9..ac3594a 100644
--- a/asoc/msm-pcm-routing-devdep.h
+++ b/asoc/msm-pcm-routing-devdep.h
@@ -1,4 +1,4 @@
-/* SPDX-License-Identifier: GPL-2.0 */
+/* SPDX-License-Identifier: GPL-2.0-only */
/*
* Copyright (c) 2014-2015, 2017 The Linux Foundation. All rights reserved.
*/
diff --git a/asoc/msm-pcm-routing-v2.c b/asoc/msm-pcm-routing-v2.c
index db5713b..936f97f 100644
--- a/asoc/msm-pcm-routing-v2.c
+++ b/asoc/msm-pcm-routing-v2.c
@@ -1,4 +1,4 @@
-// SPDX-License-Identifier: GPL-2.0
+// SPDX-License-Identifier: GPL-2.0-only
/* Copyright (c) 2012-2018, The Linux Foundation. All rights reserved.
*/
diff --git a/asoc/msm-pcm-routing-v2.h b/asoc/msm-pcm-routing-v2.h
index 92fd3c2..02d1f54 100644
--- a/asoc/msm-pcm-routing-v2.h
+++ b/asoc/msm-pcm-routing-v2.h
@@ -1,4 +1,4 @@
-/* SPDX-License-Identifier: GPL-2.0 */
+/* SPDX-License-Identifier: GPL-2.0-only */
/* Copyright (c) 2012-2018, The Linux Foundation. All rights reserved.
*/
#ifndef _MSM_PCM_ROUTING_H
diff --git a/asoc/msm-pcm-voice-v2.c b/asoc/msm-pcm-voice-v2.c
index 3fd8339..e4d34d1 100644
--- a/asoc/msm-pcm-voice-v2.c
+++ b/asoc/msm-pcm-voice-v2.c
@@ -1,4 +1,4 @@
-// SPDX-License-Identifier: GPL-2.0
+// SPDX-License-Identifier: GPL-2.0-only
/* Copyright (c) 2012-2018, The Linux Foundation. All rights reserved.
*/
diff --git a/asoc/msm-pcm-voice-v2.h b/asoc/msm-pcm-voice-v2.h
index 671c1aa..d300abf 100644
--- a/asoc/msm-pcm-voice-v2.h
+++ b/asoc/msm-pcm-voice-v2.h
@@ -1,4 +1,4 @@
-/* SPDX-License-Identifier: GPL-2.0 */
+/* SPDX-License-Identifier: GPL-2.0-only */
/* Copyright (c) 2012-2015, The Linux Foundation. All rights reserved.
*/
#ifndef _MSM_PCM_VOICE_H
diff --git a/asoc/msm-pcm-voip-v2.c b/asoc/msm-pcm-voip-v2.c
index ac12b90..3bfa4d6 100644
--- a/asoc/msm-pcm-voip-v2.c
+++ b/asoc/msm-pcm-voip-v2.c
@@ -1,4 +1,4 @@
-// SPDX-License-Identifier: GPL-2.0
+// SPDX-License-Identifier: GPL-2.0-only
/* Copyright (c) 2012-2018, The Linux Foundation. All rights reserved.
*/
diff --git a/asoc/msm-qti-pp-config.c b/asoc/msm-qti-pp-config.c
index e5d1ba2..222a3a9 100644
--- a/asoc/msm-qti-pp-config.c
+++ b/asoc/msm-qti-pp-config.c
@@ -1,4 +1,4 @@
-// SPDX-License-Identifier: GPL-2.0
+// SPDX-License-Identifier: GPL-2.0-only
/* Copyright (c) 2012-2018, The Linux Foundation. All rights reserved.
*/
diff --git a/asoc/msm-qti-pp-config.h b/asoc/msm-qti-pp-config.h
index 8d10337..7fddb9f 100644
--- a/asoc/msm-qti-pp-config.h
+++ b/asoc/msm-qti-pp-config.h
@@ -1,4 +1,4 @@
-/* SPDX-License-Identifier: GPL-2.0 */
+/* SPDX-License-Identifier: GPL-2.0-only */
/*
* Copyright (c) 2012-2018, The Linux Foundation. All rights reserved.
*/
diff --git a/asoc/msm-slim-dma.h b/asoc/msm-slim-dma.h
index f179a2e..911ce1f 100644
--- a/asoc/msm-slim-dma.h
+++ b/asoc/msm-slim-dma.h
@@ -1,4 +1,4 @@
-/* SPDX-License-Identifier: GPL-2.0 */
+/* SPDX-License-Identifier: GPL-2.0-only */
/*
* Copyright (c) 2014, 2017 The Linux Foundation. All rights reserved.
*
diff --git a/asoc/msm-transcode-loopback-q6-v2.c b/asoc/msm-transcode-loopback-q6-v2.c
index 12863a2..277ad3c 100644
--- a/asoc/msm-transcode-loopback-q6-v2.c
+++ b/asoc/msm-transcode-loopback-q6-v2.c
@@ -1,4 +1,4 @@
-// SPDX-License-Identifier: GPL-2.0
+// SPDX-License-Identifier: GPL-2.0-only
/* Copyright (c) 2017-2018, The Linux Foundation. All rights reserved.
*/
diff --git a/asoc/platform_init.c b/asoc/platform_init.c
index 3b72ebe..e9ff68f 100644
--- a/asoc/platform_init.c
+++ b/asoc/platform_init.c
@@ -1,4 +1,4 @@
-// SPDX-License-Identifier: GPL-2.0
+// SPDX-License-Identifier: GPL-2.0-only
/*
* Copyright (c) 2017 The Linux Foundation. All rights reserved.
*/
diff --git a/asoc/platform_init.h b/asoc/platform_init.h
index ff5eafb..17f0784 100644
--- a/asoc/platform_init.h
+++ b/asoc/platform_init.h
@@ -1,4 +1,4 @@
-/* SPDX-License-Identifier: GPL-2.0 */
+/* SPDX-License-Identifier: GPL-2.0-only */
/*
* Copyright (c) 2017, The Linux Foundation. All rights reserved.
*/
diff --git a/asoc/qcs405.c b/asoc/qcs405.c
index 4d1de74..835032e 100644
--- a/asoc/qcs405.c
+++ b/asoc/qcs405.c
@@ -1,4 +1,4 @@
-// SPDX-License-Identifier: GPL-2.0
+// SPDX-License-Identifier: GPL-2.0-only
/* Copyright (c) 2018, The Linux Foundation. All rights reserved.
*/
#include <linux/clk.h>
@@ -191,7 +191,7 @@
};
struct msm_asoc_wcd93xx_codec {
- void* (*get_afe_config_fn)(struct snd_soc_codec *codec,
+ void* (*get_afe_config_fn)(struct snd_soc_component *component,
enum afe_config_type config_type);
};
@@ -610,7 +610,7 @@
static struct snd_soc_codec_conf *msm_codec_conf;
static struct msm_asoc_wcd93xx_codec msm_codec_fn;
-static int msm_snd_enable_codec_ext_clk(struct snd_soc_codec *codec,
+static int msm_snd_enable_codec_ext_clk(struct snd_soc_component *component,
int enable, bool dapm);
static int msm_wsa881x_init(struct snd_soc_component *component);
static int msm_snd_vad_cfg_put(struct snd_kcontrol *kcontrol,
@@ -3773,30 +3773,30 @@
msm_spdif_tx_format_get, msm_spdif_tx_format_put),
};
-static int msm_snd_enable_codec_ext_clk(struct snd_soc_codec *codec,
+static int msm_snd_enable_codec_ext_clk(struct snd_soc_component *component,
int enable, bool dapm)
{
int ret = 0;
- if (!strcmp(dev_name(codec->dev), "tasha_codec")) {
- ret = tasha_cdc_mclk_enable(codec, enable, dapm);
+ if (!strcmp(component.name, "tasha_codec")) {
+ ret = tasha_cdc_mclk_enable(component, enable, dapm);
} else {
- dev_err(codec->dev, "%s: unknown codec to enable ext clk\n",
+ dev_err(component->dev, "%s: unknown codec to enable ext clk\n",
__func__);
ret = -EINVAL;
}
return ret;
}
-static int msm_snd_enable_codec_ext_tx_clk(struct snd_soc_codec *codec,
+static int msm_snd_enable_codec_ext_tx_clk(struct snd_soc_component *component,
int enable, bool dapm)
{
int ret = 0;
- if (!strcmp(dev_name(codec->dev), "tasha_codec")) {
- ret = tasha_cdc_mclk_tx_enable(codec, enable, dapm);
+ if (!strcmp(component.name, "tasha_codec")) {
+ ret = tasha_cdc_mclk_tx_enable(component, enable, dapm);
} else {
- dev_err(codec->dev, "%s: unknown codec to enable TX ext clk\n",
+ dev_err(component->dev, "%s: unknown codec to enable TX ext clk\n",
__func__);
ret = -EINVAL;
}
@@ -3807,15 +3807,16 @@
static int msm_mclk_tx_event(struct snd_soc_dapm_widget *w,
struct snd_kcontrol *kcontrol, int event)
{
- struct snd_soc_codec *codec = snd_soc_dapm_to_codec(w->dapm);
+ struct snd_soc_component *component =
+ snd_soc_dapm_to_component(w->dapm);
pr_debug("%s: event = %d\n", __func__, event);
switch (event) {
case SND_SOC_DAPM_PRE_PMU:
- return msm_snd_enable_codec_ext_tx_clk(codec, 1, true);
+ return msm_snd_enable_codec_ext_tx_clk(component, 1, true);
case SND_SOC_DAPM_POST_PMD:
- return msm_snd_enable_codec_ext_tx_clk(codec, 0, true);
+ return msm_snd_enable_codec_ext_tx_clk(component, 0, true);
}
return 0;
}
@@ -3823,15 +3824,16 @@
static int msm_mclk_event(struct snd_soc_dapm_widget *w,
struct snd_kcontrol *kcontrol, int event)
{
- struct snd_soc_codec *codec = snd_soc_dapm_to_codec(w->dapm);
+ struct snd_soc_component *component =
+ snd_soc_dapm_to_component(w->dapm);
pr_debug("%s: event = %d\n", __func__, event);
switch (event) {
case SND_SOC_DAPM_PRE_PMU:
- return msm_snd_enable_codec_ext_clk(codec, 1, true);
+ return msm_snd_enable_codec_ext_clk(component, 1, true);
case SND_SOC_DAPM_POST_PMD:
- return msm_snd_enable_codec_ext_clk(codec, 0, true);
+ return msm_snd_enable_codec_ext_clk(component, 0, true);
}
return 0;
}
@@ -3854,7 +3856,8 @@
struct snd_kcontrol *kcontrol, int event)
{
struct msm_asoc_mach_data *pdata = NULL;
- struct snd_soc_codec *codec = snd_soc_dapm_to_codec(w->dapm);
+ struct snd_soc_component *component =
+ snd_soc_dapm_to_component(w->dapm);
int ret = 0;
uint32_t dmic_idx;
int *dmic_gpio_cnt;
@@ -3863,18 +3866,18 @@
wname = strpbrk(w->name, "01234567");
if (!wname) {
- dev_err(codec->dev, "%s: widget not found\n", __func__);
+ dev_err(component->dev, "%s: widget not found\n", __func__);
return -EINVAL;
}
ret = kstrtouint(wname, 10, &dmic_idx);
if (ret < 0) {
- dev_err(codec->dev, "%s: Invalid DMIC line on the codec\n",
+ dev_err(component->dev, "%s: Invalid DMIC line on the codec\n",
__func__);
return -EINVAL;
}
- pdata = snd_soc_card_get_drvdata(codec->component.card);
+ pdata = snd_soc_card_get_drvdata(component->card);
switch (dmic_idx) {
case 0:
@@ -3898,12 +3901,12 @@
dmic_gpio = pdata->dmic_67_gpio_p;
break;
default:
- dev_err(codec->dev, "%s: Invalid DMIC Selection\n",
+ dev_err(component->dev, "%s: Invalid DMIC Selection\n",
__func__);
return -EINVAL;
}
- dev_dbg(codec->dev, "%s: event %d DMIC%d dmic_gpio_cnt %d\n",
+ dev_dbg(component->dev, "%s: event %d DMIC%d dmic_gpio_cnt %d\n",
__func__, event, dmic_idx, *dmic_gpio_cnt);
switch (event) {
@@ -3913,7 +3916,7 @@
ret = msm_cdc_pinctrl_select_active_state(
dmic_gpio);
if (ret < 0) {
- dev_err(codec->dev, "%s: gpio set cannot be activated %sd\n",
+ dev_err(component->dev, "%s: gpio set cannot be activated %sd\n",
__func__, "dmic_gpio");
return ret;
}
@@ -3925,14 +3928,14 @@
ret = msm_cdc_pinctrl_select_sleep_state(
dmic_gpio);
if (ret < 0) {
- dev_err(codec->dev, "%s: gpio set cannot be de-activated %sd\n",
+ dev_err(component->dev, "%s: gpio set cannot be de-activated %sd\n",
__func__, "dmic_gpio");
return ret;
}
}
break;
default:
- dev_err(codec->dev, "%s: invalid DAPM event %d\n",
+ dev_err(component->dev, "%s: invalid DAPM event %d\n",
__func__, event);
return -EINVAL;
}
@@ -4087,7 +4090,7 @@
int rc = 0;
int idx;
void *config = NULL;
- struct snd_soc_codec *codec = NULL;
+ struct snd_soc_component *component = NULL;
pr_debug("%s: format = %d, rate = %d\n",
__func__, params_format(params), params_rate(params));
@@ -4137,11 +4140,16 @@
break;
case MSM_BACKEND_DAI_SLIMBUS_5_TX:
- codec = rtd->codec;
+ component = snd_soc_rtdcom_lookup(rtd, "tasha_codec");
+ if (!component) {
+ pr_err("%s: component is NULL\n", __func__);
+ return -EINVAL;
+ }
+
rate->min = rate->max = SAMPLING_RATE_16KHZ;
channels->min = channels->max = 1;
- config = msm_codec_fn.get_afe_config_fn(codec,
+ config = msm_codec_fn.get_afe_config_fn(component,
AFE_SLIMBUS_SLAVE_PORT_CONFIG);
if (config) {
rc = afe_set_config(AFE_SLIMBUS_SLAVE_PORT_CONFIG,
@@ -4553,46 +4561,46 @@
return rc;
}
-static int msm_afe_set_config(struct snd_soc_codec *codec)
+static int msm_afe_set_config(struct snd_soc_component *component)
{
int ret = 0;
void *config_data = NULL;
if (!msm_codec_fn.get_afe_config_fn) {
- dev_err(codec->dev, "%s: codec get afe config not init'ed\n",
+ dev_err(component->dev, "%s: codec get afe config not init'ed\n",
__func__);
return -EINVAL;
}
- config_data = msm_codec_fn.get_afe_config_fn(codec,
+ config_data = msm_codec_fn.get_afe_config_fn(component,
AFE_CDC_REGISTERS_CONFIG);
if (config_data) {
ret = afe_set_config(AFE_CDC_REGISTERS_CONFIG, config_data, 0);
if (ret) {
- dev_err(codec->dev,
+ dev_err(component->dev,
"%s: Failed to set codec registers config %d\n",
__func__, ret);
return ret;
}
}
- config_data = msm_codec_fn.get_afe_config_fn(codec,
+ config_data = msm_codec_fn.get_afe_config_fn(component,
AFE_CDC_REGISTER_PAGE_CONFIG);
if (config_data) {
ret = afe_set_config(AFE_CDC_REGISTER_PAGE_CONFIG, config_data,
0);
if (ret)
- dev_err(codec->dev,
+ dev_err(component->dev,
"%s: Failed to set cdc register page config\n",
__func__);
}
- config_data = msm_codec_fn.get_afe_config_fn(codec,
+ config_data = msm_codec_fn.get_afe_config_fn(component,
AFE_SLIMBUS_SLAVE_CONFIG);
if (config_data) {
ret = afe_set_config(AFE_SLIMBUS_SLAVE_CONFIG, config_data, 0);
if (ret) {
- dev_err(codec->dev,
+ dev_err(component->dev,
"%s: Failed to set slimbus slave config %d\n",
__func__, ret);
return ret;
@@ -4608,7 +4616,7 @@
afe_clear_config(AFE_SLIMBUS_SLAVE_CONFIG);
}
-static int msm_adsp_power_up_config(struct snd_soc_codec *codec,
+static int msm_adsp_power_up_config(struct snd_soc_component *component,
struct snd_card *card)
{
int ret = 0;
@@ -4650,7 +4658,7 @@
goto err;
}
- ret = msm_afe_set_config(codec);
+ ret = msm_afe_set_config(component);
if (ret)
pr_err("%s: Failed to set AFE config. err %d\n",
__func__, ret);
@@ -4668,7 +4676,8 @@
struct snd_soc_card *card = NULL;
const char *be_dl_name = LPASS_BE_SLIMBUS_0_RX;
struct snd_soc_pcm_runtime *rtd;
- struct snd_soc_codec *codec;
+ struct snd_soc_dai *codec_dai;
+ struct snd_soc_component *component;
pr_debug("%s: Service opcode 0x%lx\n", __func__, opcode);
@@ -4701,9 +4710,11 @@
ret = -EINVAL;
goto err;
}
- codec = rtd->codec;
+ codec_dai = rtd->codec_dai;
+ if (!strcmp(dev_name(codec_dai->dev), "tasha_codec"))
+ component = snd_soc_rtdcom_lookup(rtd, "tasha_codec");
- ret = msm_adsp_power_up_config(codec, card->snd_card);
+ ret = msm_adsp_power_up_config(component, card->snd_card);
if (ret < 0) {
dev_err(card->dev,
"%s: msm_adsp_power_up_config failed ret = %d!\n",
@@ -4727,8 +4738,8 @@
{
int ret = 0;
void *config_data;
- struct snd_soc_codec *codec = rtd->codec;
- struct snd_soc_dapm_context *dapm = snd_soc_codec_get_dapm(codec);
+ struct snd_soc_component *component;
+ struct snd_soc_dapm_context *dapm;
struct snd_soc_dai *cpu_dai = rtd->cpu_dai;
struct snd_soc_dai *codec_dai = rtd->codec_dai;
struct snd_card *card;
@@ -4751,7 +4762,12 @@
rtd->pmdown_time = 0;
- ret = snd_soc_add_codec_controls(codec, msm_snd_sb_controls,
+ if (!strcmp(dev_name(codec_dai->dev), "tasha_codec")) {
+ component = snd_soc_rtdcom_lookup(rtd, "tasha_codec");
+ dapm = snd_soc_component_get_dapm(component);
+ }
+
+ ret = snd_soc_add_component_controls(component, msm_snd_sb_controls,
ARRAY_SIZE(msm_snd_sb_controls));
if (ret < 0) {
pr_err("%s: add_codec_controls failed, err %d\n",
@@ -4777,19 +4793,19 @@
msm_codec_fn.get_afe_config_fn = tasha_get_afe_config;
- ret = msm_adsp_power_up_config(codec, rtd->card->snd_card);
+ ret = msm_adsp_power_up_config(component, rtd->card->snd_card);
if (ret) {
- dev_err(codec->dev, "%s: Failed to set AFE config %d\n",
+ dev_err(component->dev, "%s: Failed to set AFE config %d\n",
__func__, ret);
goto err;
}
- config_data = msm_codec_fn.get_afe_config_fn(codec,
+ config_data = msm_codec_fn.get_afe_config_fn(component,
AFE_AANC_VERSION);
if (config_data) {
ret = afe_set_config(AFE_AANC_VERSION, config_data, 0);
if (ret) {
- dev_err(codec->dev, "%s: Failed to set aanc version %d\n",
+ dev_err(component->dev, "%s: Failed to set aanc version %d\n",
__func__, ret);
goto err;
}
@@ -4805,7 +4821,7 @@
ret = 0;
goto err;
}
- tasha_codec_info_create_codec_entry(pdata->codec_root, codec);
+ tasha_codec_info_create_codec_entry(pdata->codec_root, component);
codec_reg_done = true;
return 0;
@@ -4817,16 +4833,25 @@
static int msm_va_cdc_dma_init(struct snd_soc_pcm_runtime *rtd)
{
int ret = 0;
- struct snd_soc_codec *codec = rtd->codec;
- struct snd_soc_dapm_context *dapm = snd_soc_codec_get_dapm(codec);
+ struct snd_soc_component *component;
+ struct snd_soc_dapm_context *dapm;
struct snd_card *card;
struct msm_asoc_mach_data *pdata =
snd_soc_card_get_drvdata(rtd->card);
+ struct snd_soc_dai *codec_dai = rtd->codec_dai;
- ret = snd_soc_add_codec_controls(codec, msm_snd_va_controls,
+ component = snd_soc_rtdcom_lookup(rtd, "bolero_codec");
+ if (!component) {
+ pr_err("%s: component is NULL\n", __func__);
+ return -EINVAL;
+ }
+
+ dapm = snd_soc_component_get_dapm(component);
+
+ ret = snd_soc_add_component_controls(component, msm_snd_va_controls,
ARRAY_SIZE(msm_snd_va_controls));
if (ret < 0) {
- dev_err(codec->dev, "%s: add_codec_controls for va failed, err %d\n",
+ dev_err(component->dev, "%s: add_component_controls for va failed, err %d\n",
__func__, ret);
return ret;
}
@@ -4855,7 +4880,7 @@
ret = 0;
goto done;
}
- bolero_info_create_codec_entry(pdata->codec_root, codec);
+ bolero_info_create_codec_entry(pdata->codec_root, component);
done:
return ret;
}
@@ -4863,17 +4888,24 @@
static int msm_wsa_cdc_dma_init(struct snd_soc_pcm_runtime *rtd)
{
int ret = 0;
- struct snd_soc_codec *codec = rtd->codec;
- struct snd_soc_dapm_context *dapm = snd_soc_codec_get_dapm(codec);
- struct snd_soc_component *aux_comp;
- struct snd_card *card;
+ struct snd_soc_component *component = NULL;
+ struct snd_soc_dapm_context *dapm = NULL;
+ struct snd_soc_component *aux_comp = NULL;
+ struct snd_card *card = NULL;
struct msm_asoc_mach_data *pdata =
snd_soc_card_get_drvdata(rtd->card);
- ret = snd_soc_add_codec_controls(codec, msm_snd_wsa_controls,
+ component = snd_soc_rtdcom_lookup(rtd, "bolero_codec");
+ if (!component) {
+ pr_err("%s: component is NULL\n", __func__);
+ return -EINVAL;
+ }
+ dapm = snd_soc_component_get_dapm(component);
+
+ ret = snd_soc_add_component_controls(component, msm_snd_wsa_controls,
ARRAY_SIZE(msm_snd_wsa_controls));
if (ret < 0) {
- dev_err(codec->dev, "%s: add_codec_controls for wsa failed, err %d\n",
+ dev_err(component->dev, "%s: add_codec_controls for wsa failed, err %d\n",
__func__, ret);
return ret;
}
@@ -4891,7 +4923,7 @@
* Send speaker configuration only for WSA8810.
* Default configuration is for WSA8815.
*/
- dev_dbg(codec->dev, "%s: Number of aux devices: %d\n",
+ dev_dbg(component->dev, "%s: Number of aux devices: %d\n",
__func__, rtd->card->num_aux_devs);
if (rtd->card->num_aux_devs &&
!list_empty(&rtd->card->component_dev_list)) {
@@ -4901,9 +4933,9 @@
card_aux_list);
if (!strcmp(aux_comp->name, WSA8810_NAME_1) ||
!strcmp(aux_comp->name, WSA8810_NAME_2)) {
- wsa_macro_set_spkr_mode(rtd->codec,
+ wsa_macro_set_spkr_mode(component,
WSA_MACRO_SPKR_MODE_1);
- wsa_macro_set_spkr_gain_offset(rtd->codec,
+ wsa_macro_set_spkr_gain_offset(component,
WSA_MACRO_GAIN_OFFSET_M1P5_DB);
}
}
@@ -4912,12 +4944,12 @@
pdata->codec_root = snd_info_create_subdir(card->module,
"codecs", card->proc_root);
if (!pdata->codec_root) {
- dev_dbg(codec->dev, "%s: Cannot create codecs module entry\n",
+ dev_dbg(component->dev, "%s: Cannot create codecs module entry\n",
__func__);
ret = 0;
goto done;
}
- bolero_info_create_codec_entry(pdata->codec_root, codec);
+ bolero_info_create_codec_entry(pdata->codec_root, component);
done:
return ret;
}
@@ -7884,22 +7916,20 @@
SPKR_R_BOOST, SPKR_R_VI};
unsigned int ch_rate[WSA881X_MAX_SWR_PORTS] = {2400, 600, 300, 1200};
unsigned int ch_mask[WSA881X_MAX_SWR_PORTS] = {0x1, 0xF, 0x3, 0x3};
- struct snd_soc_codec *codec = snd_soc_component_to_codec(component);
struct msm_asoc_mach_data *pdata;
struct snd_soc_dapm_context *dapm;
int ret = 0;
- if (!codec) {
- pr_err("%s codec is NULL\n", __func__);
+ if (!component) {
+ pr_err("%s component is NULL\n", __func__);
return -EINVAL;
}
-
- dapm = snd_soc_codec_get_dapm(codec);
+ dapm = snd_soc_component_get_dapm(component);
if (!strcmp(component->name_prefix, "SpkrLeft")) {
- dev_dbg(codec->dev, "%s: setting left ch map to codec %s\n",
- __func__, codec->component.name);
- wsa881x_set_channel_map(codec, &spkleft_ports[0],
+ dev_dbg(component->dev, "%s: setting left ch map to codec %s\n",
+ __func__, component->name);
+ wsa881x_set_channel_map(component, &spkleft_ports[0],
WSA881X_MAX_SWR_PORTS, &ch_mask[0],
&ch_rate[0], &spkleft_port_types[0]);
if (dapm->component) {
@@ -7907,9 +7937,9 @@
snd_soc_dapm_ignore_suspend(dapm, "SpkrLeft SPKR");
}
} else if (!strcmp(component->name_prefix, "SpkrRight")) {
- dev_dbg(codec->dev, "%s: setting right ch map to codec %s\n",
- __func__, codec->component.name);
- wsa881x_set_channel_map(codec, &spkright_ports[0],
+ dev_dbg(component->dev, "%s: setting right ch map to codec %s\n",
+ __func__, component->name);
+ wsa881x_set_channel_map(component, &spkright_ports[0],
WSA881X_MAX_SWR_PORTS, &ch_mask[0],
&ch_rate[0], &spkright_port_types[0]);
if (dapm->component) {
@@ -7917,15 +7947,15 @@
snd_soc_dapm_ignore_suspend(dapm, "SpkrRight SPKR");
}
} else {
- dev_err(codec->dev, "%s: wrong codec name %s\n", __func__,
- codec->component.name);
+ dev_err(component->dev, "%s: wrong codec name %s\n", __func__,
+ component->name);
ret = -EINVAL;
goto err;
}
pdata = snd_soc_card_get_drvdata(component->card);
if (pdata && pdata->codec_root)
wsa881x_codec_info_create_codec_entry(pdata->codec_root,
- codec);
+ component);
err:
return ret;
@@ -8120,10 +8150,8 @@
static int msm_csra66x0_init(struct snd_soc_component *component)
{
- struct snd_soc_codec *codec = snd_soc_component_to_codec(component);
-
- if (!codec) {
- pr_err("%s codec is NULL\n", __func__);
+ if (!component) {
+ pr_err("%s component is NULL\n", __func__);
return -EINVAL;
}
return 0;
diff --git a/asoc/sa8155.c b/asoc/sa8155.c
index 8791195..f5aa549 100644
--- a/asoc/sa8155.c
+++ b/asoc/sa8155.c
@@ -1,4 +1,4 @@
-// SPDX-License-Identifier: GPL-2.0
+// SPDX-License-Identifier: GPL-2.0-only
/* Copyright (c) 2014-2018, The Linux Foundation. All rights reserved.
*/
/*
diff --git a/asoc/sm6150.c b/asoc/sm6150.c
index a2abeb6..9727dff 100644
--- a/asoc/sm6150.c
+++ b/asoc/sm6150.c
@@ -1,4 +1,4 @@
-// SPDX-License-Identifier: GPL-2.0
+// SPDX-License-Identifier: GPL-2.0-only
/*
* Copyright (c) 2018, The Linux Foundation. All rights reserved.
*/
@@ -203,7 +203,7 @@
};
struct msm_asoc_wcd93xx_codec {
- void* (*get_afe_config_fn)(struct snd_soc_codec *codec,
+ void* (*get_afe_config_fn)(struct snd_soc_component *component,
enum afe_config_type config_type);
};
@@ -645,7 +645,7 @@
static int dmic_2_3_gpio_cnt;
static void *def_wcd_mbhc_cal(void);
-static int msm_snd_enable_codec_ext_clk(struct snd_soc_codec *codec,
+static int msm_snd_enable_codec_ext_clk(struct snd_soc_component *component,
int enable, bool dapm);
static int msm_wsa881x_init(struct snd_soc_component *component);
static int msm_aux_codec_init(struct snd_soc_component *component);
@@ -3394,18 +3394,20 @@
return 0;
}
-static int msm_hifi_ctrl(struct snd_soc_codec *codec)
+static int msm_hifi_ctrl(struct snd_soc_component *component)
{
- struct snd_soc_dapm_context *dapm = snd_soc_codec_get_dapm(codec);
- struct snd_soc_card *card = codec->component.card;
+ struct snd_soc_dapm_context *dapm =
+ snd_soc_component_get_dapm(component);
+ struct snd_soc_card *card = component->card;
struct msm_asoc_mach_data *pdata =
snd_soc_card_get_drvdata(card);
- dev_dbg(codec->dev, "%s: msm_hifi_control = %d\n", __func__,
+ dev_dbg(component->dev, "%s: msm_hifi_control = %d\n", __func__,
msm_hifi_control);
if (!pdata || !pdata->hph_en1_gpio_p) {
- dev_err(codec->dev, "%s: hph_en1_gpio is invalid\n", __func__);
+ dev_err(component->dev, "%s: hph_en1_gpio is invalid\n",
+ __func__);
return -EINVAL;
}
if (msm_hifi_control == MSM_HIFI_ON) {
@@ -3433,13 +3435,14 @@
static int msm_hifi_put(struct snd_kcontrol *kcontrol,
struct snd_ctl_elem_value *ucontrol)
{
- struct snd_soc_codec *codec = snd_soc_kcontrol_codec(kcontrol);
+ struct snd_soc_component *component =
+ snd_soc_kcontrol_component(kcontrol);
- dev_dbg(codec->dev, "%s: ucontrol->value.integer.value[0] = %ld\n",
+ dev_dbg(component->dev, "%s: ucontrol->value.integer.value[0] = %ld\n",
__func__, ucontrol->value.integer.value[0]);
msm_hifi_control = ucontrol->value.integer.value[0];
- msm_hifi_ctrl(codec);
+ msm_hifi_ctrl(component);
return 0;
}
@@ -3831,30 +3834,30 @@
msm_vi_feed_tx_ch_get, msm_vi_feed_tx_ch_put),
};
-static int msm_snd_enable_codec_ext_clk(struct snd_soc_codec *codec,
+static int msm_snd_enable_codec_ext_clk(struct snd_soc_component *component,
int enable, bool dapm)
{
int ret = 0;
- if (!strcmp(dev_name(codec->dev), "tavil_codec")) {
- ret = tavil_cdc_mclk_enable(codec, enable);
+ if (!strcmp(component->name, "tavil_codec")) {
+ ret = tavil_cdc_mclk_enable(component, enable);
} else {
- dev_err(codec->dev, "%s: unknown codec to enable ext clk\n",
+ dev_err(component->dev, "%s: unknown codec to enable ext clk\n",
__func__);
ret = -EINVAL;
}
return ret;
}
-static int msm_snd_enable_codec_ext_tx_clk(struct snd_soc_codec *codec,
+static int msm_snd_enable_codec_ext_tx_clk(struct snd_soc_component *component,
int enable, bool dapm)
{
int ret = 0;
- if (!strcmp(dev_name(codec->dev), "tavil_codec")) {
- ret = tavil_cdc_mclk_tx_enable(codec, enable);
+ if (!strcmp(component->name, "tavil_codec")) {
+ ret = tavil_cdc_mclk_tx_enable(component, enable);
} else {
- dev_err(codec->dev, "%s: unknown codec to enable TX ext clk\n",
+ dev_err(component->dev, "%s: unknown codec to enable TX ext clk\n",
__func__);
ret = -EINVAL;
}
@@ -3865,15 +3868,16 @@
static int msm_mclk_tx_event(struct snd_soc_dapm_widget *w,
struct snd_kcontrol *kcontrol, int event)
{
- struct snd_soc_codec *codec = snd_soc_dapm_to_codec(w->dapm);
+ struct snd_soc_component *component =
+ snd_soc_dapm_to_component(w->dapm);
pr_debug("%s: event = %d\n", __func__, event);
switch (event) {
case SND_SOC_DAPM_PRE_PMU:
- return msm_snd_enable_codec_ext_tx_clk(codec, 1, true);
+ return msm_snd_enable_codec_ext_tx_clk(component, 1, true);
case SND_SOC_DAPM_POST_PMD:
- return msm_snd_enable_codec_ext_tx_clk(codec, 0, true);
+ return msm_snd_enable_codec_ext_tx_clk(component, 0, true);
}
return 0;
}
@@ -3881,15 +3885,16 @@
static int msm_mclk_event(struct snd_soc_dapm_widget *w,
struct snd_kcontrol *kcontrol, int event)
{
- struct snd_soc_codec *codec = snd_soc_dapm_to_codec(w->dapm);
+ struct snd_soc_component *component =
+ snd_soc_dapm_to_component(w->dapm);
pr_debug("%s: event = %d\n", __func__, event);
switch (event) {
case SND_SOC_DAPM_PRE_PMU:
- return msm_snd_enable_codec_ext_clk(codec, 1, true);
+ return msm_snd_enable_codec_ext_clk(component, 1, true);
case SND_SOC_DAPM_POST_PMD:
- return msm_snd_enable_codec_ext_clk(codec, 0, true);
+ return msm_snd_enable_codec_ext_clk(component, 0, true);
}
return 0;
}
@@ -3897,21 +3902,23 @@
static int msm_hifi_ctrl_event(struct snd_soc_dapm_widget *w,
struct snd_kcontrol *k, int event)
{
- struct snd_soc_codec *codec = snd_soc_dapm_to_codec(w->dapm);
- struct snd_soc_card *card = codec->component.card;
+ struct snd_soc_component *component =
+ snd_soc_dapm_to_component(w->dapm);
+ struct snd_soc_card *card = component->card;
struct msm_asoc_mach_data *pdata =
snd_soc_card_get_drvdata(card);
- dev_dbg(codec->dev, "%s: msm_hifi_control = %d\n",
+ dev_dbg(component->dev, "%s: msm_hifi_control = %d\n",
__func__, msm_hifi_control);
if (!pdata || !pdata->hph_en0_gpio_p) {
- dev_err(codec->dev, "%s: hph_en0_gpio is invalid\n", __func__);
+ dev_err(component->dev, "%s: hph_en0_gpio is invalid\n",
+ __func__);
return -EINVAL;
}
if (msm_hifi_control != MSM_HIFI_ON) {
- dev_dbg(codec->dev, "%s: HiFi mixer control is not set\n",
+ dev_dbg(component->dev, "%s: HiFi mixer control is not set\n",
__func__);
return 0;
}
@@ -3958,7 +3965,8 @@
struct snd_kcontrol *kcontrol, int event)
{
struct msm_asoc_mach_data *pdata = NULL;
- struct snd_soc_codec *codec = snd_soc_dapm_to_codec(w->dapm);
+ struct snd_soc_component *component =
+ snd_soc_dapm_to_component(w->dapm);
int ret = 0;
u32 dmic_idx;
int *dmic_gpio_cnt;
@@ -3967,18 +3975,18 @@
wname = strpbrk(w->name, "0123");
if (!wname) {
- dev_err(codec->dev, "%s: widget not found\n", __func__);
+ dev_err(component->dev, "%s: widget not found\n", __func__);
return -EINVAL;
}
ret = kstrtouint(wname, 10, &dmic_idx);
if (ret < 0) {
- dev_err(codec->dev, "%s: Invalid DMIC line on the codec\n",
+ dev_err(component->dev, "%s: Invalid DMIC line on the codec\n",
__func__);
return -EINVAL;
}
- pdata = snd_soc_card_get_drvdata(codec->component.card);
+ pdata = snd_soc_card_get_drvdata(component->card);
switch (dmic_idx) {
case 0:
@@ -3992,12 +4000,12 @@
dmic_gpio = pdata->dmic23_gpio_p;
break;
default:
- dev_err(codec->dev, "%s: Invalid DMIC Selection\n",
+ dev_err(component->dev, "%s: Invalid DMIC Selection\n",
__func__);
return -EINVAL;
}
- dev_dbg(codec->dev, "%s: event %d DMIC%d dmic_gpio_cnt %d\n",
+ dev_dbg(component->dev, "%s: event %d DMIC%d dmic_gpio_cnt %d\n",
__func__, event, dmic_idx, *dmic_gpio_cnt);
switch (event) {
@@ -4184,10 +4192,12 @@
SNDRV_PCM_HW_PARAM_RATE);
struct snd_interval *channels = hw_param_interval(params,
SNDRV_PCM_HW_PARAM_CHANNELS);
+ struct snd_soc_dai *codec_dai = rtd->codec_dai;
+
int rc = 0;
int idx;
void *config = NULL;
- struct snd_soc_codec *codec = NULL;
+ struct snd_soc_component *component = NULL;
pr_debug("%s: format = %d, rate = %d\n",
__func__, params_format(params), params_rate(params));
@@ -4237,11 +4247,17 @@
break;
case MSM_BACKEND_DAI_SLIMBUS_5_TX:
- codec = rtd->codec;
+ component = snd_soc_rtdcom_lookup(rtd, "tavil_codec");
+ if (!component) {
+ pr_err("%s: component is NULL\n", __func__);
+ rc = -EINVAL;
+ goto done;
+ }
+
rate->min = rate->max = SAMPLING_RATE_16KHZ;
channels->min = channels->max = 1;
- config = msm_codec_fn.get_afe_config_fn(codec,
+ config = msm_codec_fn.get_afe_config_fn(component,
AFE_SLIMBUS_SLAVE_PORT_CONFIG);
if (config) {
rc = afe_set_config(AFE_SLIMBUS_SLAVE_PORT_CONFIG,
@@ -4597,9 +4613,10 @@
return rc;
}
-static bool msm_usbc_swap_gnd_mic(struct snd_soc_codec *codec, bool active)
+static bool msm_usbc_swap_gnd_mic(struct snd_soc_component *component,
+ bool active)
{
- struct snd_soc_card *card = codec->component.card;
+ struct snd_soc_card *card = component->card;
struct msm_asoc_mach_data *pdata =
snd_soc_card_get_drvdata(card);
@@ -4609,25 +4626,25 @@
return fsa4480_switch_event(pdata->fsa_handle, FSA_MIC_GND_SWAP);
}
-static bool msm_swap_gnd_mic(struct snd_soc_codec *codec, bool active)
+static bool msm_swap_gnd_mic(struct snd_soc_component *component, bool active)
{
int value = 0;
bool ret = false;
struct snd_soc_card *card;
struct msm_asoc_mach_data *pdata;
- if (!codec) {
- pr_err("%s codec is NULL\n", __func__);
+ if (!component) {
+ pr_err("%s component is NULL\n", __func__);
return false;
}
- card = codec->component.card;
+ card = component->card;
pdata = snd_soc_card_get_drvdata(card);
if (!pdata)
return false;
if (wcd_mbhc_cfg.enable_usbc_analog)
- return msm_usbc_swap_gnd_mic(codec, active);
+ return msm_usbc_swap_gnd_mic(component, active);
/* if usbc is not defined, swap using us_euro_gpio_p */
if (pdata->us_euro_gpio_p) {
@@ -4639,53 +4656,53 @@
else
msm_cdc_pinctrl_select_active_state(
pdata->us_euro_gpio_p);
- dev_dbg(codec->dev, "%s: swap select switch %d to %d\n",
+ dev_dbg(component->dev, "%s: swap select switch %d to %d\n",
__func__, value, !value);
ret = true;
}
return ret;
}
-static int msm_afe_set_config(struct snd_soc_codec *codec)
+static int msm_afe_set_config(struct snd_soc_component *component)
{
int ret = 0;
void *config_data = NULL;
if (!msm_codec_fn.get_afe_config_fn) {
- dev_err(codec->dev, "%s: codec get afe config not init'ed\n",
+ dev_err(component->dev, "%s: codec get afe config not init'ed\n",
__func__);
return -EINVAL;
}
- config_data = msm_codec_fn.get_afe_config_fn(codec,
+ config_data = msm_codec_fn.get_afe_config_fn(component,
AFE_CDC_REGISTERS_CONFIG);
if (config_data) {
ret = afe_set_config(AFE_CDC_REGISTERS_CONFIG, config_data, 0);
if (ret) {
- dev_err(codec->dev,
+ dev_err(component->dev,
"%s: Failed to set codec registers config %d\n",
__func__, ret);
return ret;
}
}
- config_data = msm_codec_fn.get_afe_config_fn(codec,
+ config_data = msm_codec_fn.get_afe_config_fn(component,
AFE_CDC_REGISTER_PAGE_CONFIG);
if (config_data) {
ret = afe_set_config(AFE_CDC_REGISTER_PAGE_CONFIG, config_data,
0);
if (ret)
- dev_err(codec->dev,
+ dev_err(component->dev,
"%s: Failed to set cdc register page config\n",
__func__);
}
- config_data = msm_codec_fn.get_afe_config_fn(codec,
+ config_data = msm_codec_fn.get_afe_config_fn(component,
AFE_SLIMBUS_SLAVE_CONFIG);
if (config_data) {
ret = afe_set_config(AFE_SLIMBUS_SLAVE_CONFIG, config_data, 0);
if (ret) {
- dev_err(codec->dev,
+ dev_err(component->dev,
"%s: Failed to set slimbus slave config %d\n",
__func__, ret);
return ret;
@@ -4705,12 +4722,12 @@
{
int ret = 0;
void *config_data;
- struct snd_soc_codec *codec = rtd->codec;
- struct snd_soc_dapm_context *dapm = snd_soc_codec_get_dapm(codec);
+ struct snd_soc_component *component = NULL;
+ struct snd_soc_dapm_context *dapm;
struct snd_soc_dai *cpu_dai = rtd->cpu_dai;
struct snd_soc_dai *codec_dai = rtd->codec_dai;
struct snd_soc_component *aux_comp;
- struct snd_card *card;
+ struct snd_card *card = rtd->card->snd_card;
struct snd_info_entry *entry;
struct msm_asoc_mach_data *pdata =
snd_soc_card_get_drvdata(rtd->card);
@@ -4731,7 +4748,14 @@
rtd->pmdown_time = 0;
- ret = snd_soc_add_codec_controls(codec, msm_tavil_snd_controls,
+ component = snd_soc_rtdcom_lookup(rtd, "tavil_codec");
+ if (!component) {
+ pr_err("%s: component is NULL\n", __func__);
+ return -EINVAL;
+ }
+ dapm = snd_soc_component_get_dapm(component);
+
+ ret = snd_soc_add_component_controls(component, msm_tavil_snd_controls,
ARRAY_SIZE(msm_tavil_snd_controls));
if (ret < 0) {
pr_err("%s: add_codec_controls failed, err %d\n",
@@ -4739,7 +4763,7 @@
return ret;
}
- ret = snd_soc_add_codec_controls(codec, msm_common_snd_controls,
+ ret = snd_soc_add_component_controls(component, msm_common_snd_controls,
ARRAY_SIZE(msm_common_snd_controls));
if (ret < 0) {
pr_err("%s: add_codec_controls failed, err %d\n",
@@ -4788,14 +4812,14 @@
msm_codec_fn.get_afe_config_fn = tavil_get_afe_config;
- ret = msm_afe_set_config(codec);
+ ret = msm_afe_set_config(component);
if (ret) {
pr_err("%s: Failed to set AFE config %d\n", __func__, ret);
goto err;
}
pdata->is_afe_config_done = true;
- config_data = msm_codec_fn.get_afe_config_fn(codec,
+ config_data = msm_codec_fn.get_afe_config_fn(component,
AFE_AANC_VERSION);
if (config_data) {
ret = afe_set_config(AFE_AANC_VERSION, config_data, 0);
@@ -4818,8 +4842,8 @@
struct snd_soc_component, card_aux_list);
if (!strcmp(aux_comp->name, WSA8810_NAME_1) ||
!strcmp(aux_comp->name, WSA8810_NAME_2)) {
- tavil_set_spkr_mode(rtd->codec, WCD934X_SPKR_MODE_1);
- tavil_set_spkr_gain_offset(rtd->codec,
+ tavil_set_spkr_mode(component, WCD934X_SPKR_MODE_1);
+ tavil_set_spkr_gain_offset(component,
WCD934X_RX_GAIN_OFFSET_M1P5_DB);
}
}
@@ -4834,7 +4858,7 @@
goto err;
}
pdata->codec_root = entry;
- tavil_codec_info_create_codec_entry(pdata->codec_root, codec);
+ tavil_codec_info_create_codec_entry(pdata->codec_root, component);
codec_reg_done = true;
return 0;
@@ -4845,22 +4869,30 @@
static int msm_int_audrx_init(struct snd_soc_pcm_runtime *rtd)
{
int ret = 0;
- struct snd_soc_codec *codec = rtd->codec;
- struct snd_soc_dapm_context *dapm = snd_soc_codec_get_dapm(codec);
+ struct snd_soc_component *component;
+ struct snd_soc_dapm_context *dapm;
struct snd_card *card;
struct snd_info_entry *entry;
struct snd_soc_component *aux_comp;
struct msm_asoc_mach_data *pdata =
snd_soc_card_get_drvdata(rtd->card);
+ struct snd_soc_dai *codec_dai = rtd->codec_dai;
- ret = snd_soc_add_codec_controls(codec, msm_int_snd_controls,
+ component = snd_soc_rtdcom_lookup(rtd, "bolero_codec");
+ if (!component) {
+ pr_err("%s: component is NULL\n", __func__);
+ return -EINVAL;
+ }
+ dapm = snd_soc_component_get_dapm(component);
+
+ ret = snd_soc_add_component_controls(component, msm_int_snd_controls,
ARRAY_SIZE(msm_int_snd_controls));
if (ret < 0) {
- pr_err("%s: add_codec_controls failed: %d\n",
+ pr_err("%s: add_component_controls failed: %d\n",
__func__, ret);
return ret;
}
- ret = snd_soc_add_codec_controls(codec, msm_common_snd_controls,
+ ret = snd_soc_add_component_controls(component, msm_common_snd_controls,
ARRAY_SIZE(msm_common_snd_controls));
if (ret < 0) {
pr_err("%s: add common snd controls failed: %d\n",
@@ -4892,7 +4924,7 @@
* Send speaker configuration only for WSA8810.
* Default configuration is for WSA8815.
*/
- dev_dbg(codec->dev, "%s: Number of aux devices: %d\n",
+ dev_dbg(component->dev, "%s: Number of aux devices: %d\n",
__func__, rtd->card->num_aux_devs);
if (rtd->card->num_aux_devs &&
!list_empty(&rtd->card->component_dev_list)) {
@@ -4902,9 +4934,9 @@
card_aux_list);
if (!strcmp(aux_comp->name, WSA8810_NAME_1) ||
!strcmp(aux_comp->name, WSA8810_NAME_2)) {
- wsa_macro_set_spkr_mode(rtd->codec,
+ wsa_macro_set_spkr_mode(component,
WSA_MACRO_SPKR_MODE_1);
- wsa_macro_set_spkr_gain_offset(rtd->codec,
+ wsa_macro_set_spkr_gain_offset(component,
WSA_MACRO_GAIN_OFFSET_M1P5_DB);
}
}
@@ -4930,9 +4962,9 @@
*/
if (socinfo_get_id() == SM6150_SOC_MSM_ID &&
socinfo_get_version() == SM6150_SOC_VERSION_1_0)
- bolero_register_wake_irq(codec, true);
+ bolero_register_wake_irq(component, true);
else
- bolero_register_wake_irq(codec, false);
+ bolero_register_wake_irq(component, false);
codec_reg_done = true;
return 0;
@@ -7490,6 +7522,7 @@
{
const char *be_dl_name = LPASS_BE_SLIMBUS_0_RX;
struct snd_soc_pcm_runtime *rtd;
+ struct snd_soc_component *component;
int ret = 0;
void *mbhc_calibration;
@@ -7502,13 +7535,19 @@
goto err_pcm_runtime;
}
+ component = snd_soc_rtdcom_lookup(rtd, "tavil_codec");
+ if (!component) {
+ pr_err("%s: component is NULL\n", __func__);
+ ret = -EINVAL;
+ goto err_pcm_runtime;
+ }
mbhc_calibration = def_wcd_mbhc_cal();
if (!mbhc_calibration) {
ret = -ENOMEM;
goto err_mbhc_cal;
}
wcd_mbhc_cfg.calibration = mbhc_calibration;
- ret = tavil_mbhc_hs_detect(rtd->codec, &wcd_mbhc_cfg);
+ ret = tavil_mbhc_hs_detect(component, &wcd_mbhc_cfg);
if (ret) {
dev_err(card->dev, "%s: mbhc hs detect failed, err:%d\n",
__func__, ret);
@@ -7613,12 +7652,13 @@
static int msm_audrx_stub_init(struct snd_soc_pcm_runtime *rtd)
{
int ret = 0;
- struct snd_soc_codec *codec = rtd->codec;
+ struct snd_soc_component *component =
+ snd_soc_rtdcom_lookup(rtd, "msm-stub-codec");
- ret = snd_soc_add_codec_controls(codec, msm_tavil_snd_controls,
+ ret = snd_soc_add_component_controls(component, msm_tavil_snd_controls,
ARRAY_SIZE(msm_tavil_snd_controls));
if (ret < 0) {
- dev_err(codec->dev,
+ dev_err(component->dev,
"%s: add_codec_controls failed, err = %d\n",
__func__, ret);
return ret;
@@ -7916,24 +7956,23 @@
SPKR_R_BOOST, SPKR_R_VI};
unsigned int ch_rate[WSA881X_MAX_SWR_PORTS] = {2400, 600, 300, 1200};
unsigned int ch_mask[WSA881X_MAX_SWR_PORTS] = {0x1, 0xF, 0x3, 0x3};
- struct snd_soc_codec *codec = snd_soc_component_to_codec(component);
struct msm_asoc_mach_data *pdata;
struct snd_soc_dapm_context *dapm;
struct snd_card *card = component->card->snd_card;
struct snd_info_entry *entry;
int ret = 0;
- if (!codec) {
+ if (!component) {
pr_err("%s codec is NULL\n", __func__);
return -EINVAL;
}
- dapm = snd_soc_codec_get_dapm(codec);
+ dapm = snd_soc_component_get_dapm(component);
if (!strcmp(component->name_prefix, "SpkrLeft")) {
- dev_dbg(codec->dev, "%s: setting left ch map to codec %s\n",
- __func__, codec->component.name);
- wsa881x_set_channel_map(codec, &spkleft_ports[0],
+ dev_dbg(component->dev, "%s: setting left ch map to codec %s\n",
+ __func__, component->name);
+ wsa881x_set_channel_map(component, &spkleft_ports[0],
WSA881X_MAX_SWR_PORTS, &ch_mask[0],
&ch_rate[0], &spkleft_port_types[0]);
if (dapm->component) {
@@ -7941,9 +7980,9 @@
snd_soc_dapm_ignore_suspend(dapm, "SpkrLeft SPKR");
}
} else if (!strcmp(component->name_prefix, "SpkrRight")) {
- dev_dbg(codec->dev, "%s: setting right ch map to codec %s\n",
- __func__, codec->component.name);
- wsa881x_set_channel_map(codec, &spkright_ports[0],
+ dev_dbg(component->dev, "%s: setting right ch map to codec %s\n",
+ __func__, component->name);
+ wsa881x_set_channel_map(component, &spkright_ports[0],
WSA881X_MAX_SWR_PORTS, &ch_mask[0],
&ch_rate[0], &spkright_port_types[0]);
if (dapm->component) {
@@ -7951,8 +7990,8 @@
snd_soc_dapm_ignore_suspend(dapm, "SpkrRight SPKR");
}
} else {
- dev_err(codec->dev, "%s: wrong codec name %s\n", __func__,
- codec->component.name);
+ dev_err(component->dev, "%s: wrong codec name %s\n", __func__,
+ component->name);
ret = -EINVAL;
goto err;
}
@@ -7969,15 +8008,14 @@
pdata->codec_root = entry;
}
wsa881x_codec_info_create_codec_entry(pdata->codec_root,
- codec);
+ component);
err:
return ret;
}
static int msm_aux_codec_init(struct snd_soc_component *component)
{
- struct snd_soc_codec *codec = snd_soc_component_to_codec(component);
- struct snd_soc_dapm_context *dapm = snd_soc_codec_get_dapm(codec);
+ struct snd_soc_dapm_context *dapm = snd_soc_component_get_dapm(component);
int ret = 0;
void *mbhc_calibration;
struct snd_info_entry *entry;
@@ -8006,14 +8044,14 @@
}
pdata->codec_root = entry;
}
- wcd937x_info_create_codec_entry(pdata->codec_root, codec);
+ wcd937x_info_create_codec_entry(pdata->codec_root, component);
codec_root_err:
mbhc_calibration = def_wcd_mbhc_cal();
if (!mbhc_calibration) {
return -ENOMEM;
}
wcd_mbhc_cfg.calibration = mbhc_calibration;
- ret = wcd937x_mbhc_hs_detect(codec, &wcd_mbhc_cfg);
+ ret = wcd937x_mbhc_hs_detect(component, &wcd_mbhc_cfg);
return ret;
}
@@ -8319,7 +8357,8 @@
{
struct platform_device *pdev = to_platform_device(dev);
struct snd_soc_card *card = platform_get_drvdata(pdev);
- struct msm_asoc_mach_data *pdata;
+ struct msm_asoc_mach_data *pdata = NULL;
+ struct snd_soc_component *component = NULL;
int ret = 0;
if (!card) {
@@ -8342,7 +8381,14 @@
ret = -EINVAL;
goto err;
}
- ret = msm_afe_set_config(rtd->codec);
+ component = snd_soc_rtdcom_lookup(rtd, "tavil_codec");
+ if (!component) {
+ dev_err(dev, "%s: component is NULL\n",
+ __func__);
+ ret = -EINVAL;
+ goto err;
+ }
+ ret = msm_afe_set_config(component);
if (ret)
dev_err(dev, "%s: Failed to set AFE config. err %d\n",
__func__, ret);
diff --git a/asoc/sm8150.c b/asoc/sm8150.c
index 7328be3..7f73dae 100644
--- a/asoc/sm8150.c
+++ b/asoc/sm8150.c
@@ -1,4 +1,4 @@
-// SPDX-License-Identifier: GPL-2.0
+// SPDX-License-Identifier: GPL-2.0-only
/* Copyright (c) 2016-2018, The Linux Foundation. All rights reserved.
*/
@@ -28,7 +28,6 @@
#include "codecs/msm-cdc-pinctrl.h"
#include "codecs/wcd934x/wcd934x.h"
#include "codecs/wcd934x/wcd934x-mbhc.h"
-#include "codecs/wcd9360/wcd9360.h"
#include "codecs/wsa881x.h"
#include "codecs/wcd-mbhc-v2.h"
@@ -159,12 +158,12 @@
struct device_node *hph_en1_gpio_p; /* used by pinctrl API */
struct device_node *hph_en0_gpio_p; /* used by pinctrl API */
struct device_node *fsa_handle;
- struct snd_soc_codec *codec;
+ struct snd_soc_component *component;
struct work_struct adsp_power_up_work;
};
struct msm_asoc_wcd93xx_codec {
- void* (*get_afe_config_fn)(struct snd_soc_codec *codec,
+ void* (*get_afe_config_fn)(struct snd_soc_component *component,
enum afe_config_type config_type);
};
@@ -520,7 +519,7 @@
static struct msm_asoc_wcd93xx_codec msm_codec_fn;
static void *def_wcd_mbhc_cal(void);
-static int msm_snd_enable_codec_ext_clk(struct snd_soc_codec *codec,
+static int msm_snd_enable_codec_ext_clk(struct snd_soc_component *component,
int enable, bool dapm);
static int msm_wsa881x_init(struct snd_soc_component *component);
@@ -767,7 +766,7 @@
"SLIM_1_TX", sizeof("SLIM_1_TX"))) {
port_id = SLIM_TX_1;
} else {
- pr_err("%s: unsupported channel: %s",
+ pr_err("%s: unsupported channel: %s\n",
__func__, kcontrol->id.name);
return -EINVAL;
}
@@ -1032,7 +1031,7 @@
ucontrol->value.integer.value[0] = 0;
break;
}
- pr_debug("%s: sample rate = %d", __func__,
+ pr_debug("%s: sample rate = %d\n", __func__,
slim_rx_cfg[SLIM_RX_7].sample_rate);
return 0;
@@ -1101,7 +1100,7 @@
ucontrol->value.integer.value[0] = 0;
break;
}
- pr_debug("%s: sample rate rx = %d", __func__,
+ pr_debug("%s: sample rate rx = %d\n", __func__,
slim_rx_cfg[SLIM_RX_7].sample_rate);
return 0;
@@ -1163,7 +1162,7 @@
ucontrol->value.integer.value[0] = 0;
break;
}
- pr_debug("%s: sample rate tx = %d", __func__,
+ pr_debug("%s: sample rate tx = %d\n", __func__,
slim_tx_cfg[SLIM_TX_7].sample_rate);
return 0;
@@ -1567,7 +1566,7 @@
sizeof("Display Port RX"))) {
idx = DP_RX_IDX;
} else {
- pr_err("%s: unsupported BE: %s",
+ pr_err("%s: unsupported BE: %s\n",
__func__, kcontrol->id.name);
idx = -EINVAL;
}
@@ -1880,7 +1879,7 @@
sizeof(kcontrol->id.name))) {
port->mode = TDM_QUIN;
} else {
- pr_err("%s: unsupported mode in: %s",
+ pr_err("%s: unsupported mode in: %s\n",
__func__, kcontrol->id.name);
return -EINVAL;
}
@@ -1926,12 +1925,13 @@
sizeof(kcontrol->id.name))) {
port->channel = TDM_7;
} else {
- pr_err("%s: unsupported channel in: %s",
+ pr_err("%s: unsupported channel in: %s\n",
__func__, kcontrol->id.name);
return -EINVAL;
}
- } else
+ } else {
return -EINVAL;
+ }
return 0;
}
@@ -1942,7 +1942,7 @@
int ret = tdm_get_port_idx(kcontrol, &port);
if (ret) {
- pr_err("%s: unsupported control: %s",
+ pr_err("%s: unsupported control: %s\n",
__func__, kcontrol->id.name);
} else {
ucontrol->value.enumerated.item[0] = tdm_get_sample_rate_val(
@@ -1962,7 +1962,7 @@
int ret = tdm_get_port_idx(kcontrol, &port);
if (ret) {
- pr_err("%s: unsupported control: %s",
+ pr_err("%s: unsupported control: %s\n",
__func__, kcontrol->id.name);
} else {
tdm_rx_cfg[port.mode][port.channel].sample_rate =
@@ -1982,7 +1982,7 @@
int ret = tdm_get_port_idx(kcontrol, &port);
if (ret) {
- pr_err("%s: unsupported control: %s",
+ pr_err("%s: unsupported control: %s\n",
__func__, kcontrol->id.name);
} else {
ucontrol->value.enumerated.item[0] = tdm_get_sample_rate_val(
@@ -2002,7 +2002,7 @@
int ret = tdm_get_port_idx(kcontrol, &port);
if (ret) {
- pr_err("%s: unsupported control: %s",
+ pr_err("%s: unsupported control: %s\n",
__func__, kcontrol->id.name);
} else {
tdm_tx_cfg[port.mode][port.channel].sample_rate =
@@ -2064,7 +2064,7 @@
int ret = tdm_get_port_idx(kcontrol, &port);
if (ret) {
- pr_err("%s: unsupported control: %s",
+ pr_err("%s: unsupported control: %s\n",
__func__, kcontrol->id.name);
} else {
ucontrol->value.enumerated.item[0] = tdm_get_format_val(
@@ -2084,7 +2084,7 @@
int ret = tdm_get_port_idx(kcontrol, &port);
if (ret) {
- pr_err("%s: unsupported control: %s",
+ pr_err("%s: unsupported control: %s\n",
__func__, kcontrol->id.name);
} else {
tdm_rx_cfg[port.mode][port.channel].bit_format =
@@ -2104,7 +2104,7 @@
int ret = tdm_get_port_idx(kcontrol, &port);
if (ret) {
- pr_err("%s: unsupported control: %s",
+ pr_err("%s: unsupported control: %s\n",
__func__, kcontrol->id.name);
} else {
ucontrol->value.enumerated.item[0] = tdm_get_format_val(
@@ -2124,7 +2124,7 @@
int ret = tdm_get_port_idx(kcontrol, &port);
if (ret) {
- pr_err("%s: unsupported control: %s",
+ pr_err("%s: unsupported control: %s\n",
__func__, kcontrol->id.name);
} else {
tdm_tx_cfg[port.mode][port.channel].bit_format =
@@ -2144,7 +2144,7 @@
int ret = tdm_get_port_idx(kcontrol, &port);
if (ret) {
- pr_err("%s: unsupported control: %s",
+ pr_err("%s: unsupported control: %s\n",
__func__, kcontrol->id.name);
} else {
@@ -2165,7 +2165,7 @@
int ret = tdm_get_port_idx(kcontrol, &port);
if (ret) {
- pr_err("%s: unsupported control: %s",
+ pr_err("%s: unsupported control: %s\n",
__func__, kcontrol->id.name);
} else {
tdm_rx_cfg[port.mode][port.channel].channels =
@@ -2185,7 +2185,7 @@
int ret = tdm_get_port_idx(kcontrol, &port);
if (ret) {
- pr_err("%s: unsupported control: %s",
+ pr_err("%s: unsupported control: %s\n",
__func__, kcontrol->id.name);
} else {
ucontrol->value.enumerated.item[0] =
@@ -2205,7 +2205,7 @@
int ret = tdm_get_port_idx(kcontrol, &port);
if (ret) {
- pr_err("%s: unsupported control: %s",
+ pr_err("%s: unsupported control: %s\n",
__func__, kcontrol->id.name);
} else {
tdm_tx_cfg[port.mode][port.channel].channels =
@@ -2223,22 +2223,22 @@
int idx;
if (strnstr(kcontrol->id.name, "PRIM_AUX_PCM",
- sizeof("PRIM_AUX_PCM")))
+ sizeof("PRIM_AUX_PCM"))) {
idx = PRIM_AUX_PCM;
- else if (strnstr(kcontrol->id.name, "SEC_AUX_PCM",
- sizeof("SEC_AUX_PCM")))
+ } else if (strnstr(kcontrol->id.name, "SEC_AUX_PCM",
+ sizeof("SEC_AUX_PCM"))) {
idx = SEC_AUX_PCM;
- else if (strnstr(kcontrol->id.name, "TERT_AUX_PCM",
- sizeof("TERT_AUX_PCM")))
+ } else if (strnstr(kcontrol->id.name, "TERT_AUX_PCM",
+ sizeof("TERT_AUX_PCM"))) {
idx = TERT_AUX_PCM;
- else if (strnstr(kcontrol->id.name, "QUAT_AUX_PCM",
- sizeof("QUAT_AUX_PCM")))
+ } else if (strnstr(kcontrol->id.name, "QUAT_AUX_PCM",
+ sizeof("QUAT_AUX_PCM"))) {
idx = QUAT_AUX_PCM;
- else if (strnstr(kcontrol->id.name, "QUIN_AUX_PCM",
- sizeof("QUIN_AUX_PCM")))
+ } else if (strnstr(kcontrol->id.name, "QUIN_AUX_PCM",
+ sizeof("QUIN_AUX_PCM"))) {
idx = QUIN_AUX_PCM;
- else {
- pr_err("%s: unsupported port: %s",
+ } else {
+ pr_err("%s: unsupported port: %s\n",
__func__, kcontrol->id.name);
idx = -EINVAL;
}
@@ -2323,37 +2323,37 @@
int idx;
if (strnstr(kcontrol->id.name, "PRIM_MI2S_RX",
- sizeof("PRIM_MI2S_RX")))
+ sizeof("PRIM_MI2S_RX"))) {
idx = PRIM_MI2S;
- else if (strnstr(kcontrol->id.name, "SEC_MI2S_RX",
- sizeof("SEC_MI2S_RX")))
+ } else if (strnstr(kcontrol->id.name, "SEC_MI2S_RX",
+ sizeof("SEC_MI2S_RX"))) {
idx = SEC_MI2S;
- else if (strnstr(kcontrol->id.name, "TERT_MI2S_RX",
- sizeof("TERT_MI2S_RX")))
+ } else if (strnstr(kcontrol->id.name, "TERT_MI2S_RX",
+ sizeof("TERT_MI2S_RX"))) {
idx = TERT_MI2S;
- else if (strnstr(kcontrol->id.name, "QUAT_MI2S_RX",
- sizeof("QUAT_MI2S_RX")))
+ } else if (strnstr(kcontrol->id.name, "QUAT_MI2S_RX",
+ sizeof("QUAT_MI2S_RX"))) {
idx = QUAT_MI2S;
- else if (strnstr(kcontrol->id.name, "QUIN_MI2S_RX",
- sizeof("QUIN_MI2S_RX")))
+ } else if (strnstr(kcontrol->id.name, "QUIN_MI2S_RX",
+ sizeof("QUIN_MI2S_RX"))) {
idx = QUIN_MI2S;
- else if (strnstr(kcontrol->id.name, "PRIM_MI2S_TX",
- sizeof("PRIM_MI2S_TX")))
+ } else if (strnstr(kcontrol->id.name, "PRIM_MI2S_TX",
+ sizeof("PRIM_MI2S_TX"))) {
idx = PRIM_MI2S;
- else if (strnstr(kcontrol->id.name, "SEC_MI2S_TX",
- sizeof("SEC_MI2S_TX")))
+ } else if (strnstr(kcontrol->id.name, "SEC_MI2S_TX",
+ sizeof("SEC_MI2S_TX"))) {
idx = SEC_MI2S;
- else if (strnstr(kcontrol->id.name, "TERT_MI2S_TX",
- sizeof("TERT_MI2S_TX")))
+ } else if (strnstr(kcontrol->id.name, "TERT_MI2S_TX",
+ sizeof("TERT_MI2S_TX"))) {
idx = TERT_MI2S;
- else if (strnstr(kcontrol->id.name, "QUAT_MI2S_TX",
- sizeof("QUAT_MI2S_TX")))
+ } else if (strnstr(kcontrol->id.name, "QUAT_MI2S_TX",
+ sizeof("QUAT_MI2S_TX"))) {
idx = QUAT_MI2S;
- else if (strnstr(kcontrol->id.name, "QUIN_MI2S_TX",
- sizeof("QUIN_MI2S_TX")))
+ } else if (strnstr(kcontrol->id.name, "QUIN_MI2S_TX",
+ sizeof("QUIN_MI2S_TX"))) {
idx = QUIN_MI2S;
- else {
- pr_err("%s: unsupported channel: %s",
+ } else {
+ pr_err("%s: unsupported channel: %s\n",
__func__, kcontrol->id.name);
idx = -EINVAL;
}
@@ -2763,18 +2763,20 @@
return 0;
}
-static int msm_hifi_ctrl(struct snd_soc_codec *codec)
+static int msm_hifi_ctrl(struct snd_soc_component *component)
{
- struct snd_soc_dapm_context *dapm = snd_soc_codec_get_dapm(codec);
- struct snd_soc_card *card = codec->component.card;
+ struct snd_soc_dapm_context *dapm =
+ snd_soc_component_get_dapm(component);
+ struct snd_soc_card *card = component->card;
struct msm_asoc_mach_data *pdata =
snd_soc_card_get_drvdata(card);
- dev_dbg(codec->dev, "%s: msm_hifi_control = %d\n", __func__,
+ dev_dbg(component->dev, "%s: msm_hifi_control = %d\n", __func__,
msm_hifi_control);
if (!pdata || !pdata->hph_en1_gpio_p) {
- dev_err(codec->dev, "%s: hph_en1_gpio is invalid\n", __func__);
+ dev_err(component->dev, "%s: hph_en1_gpio is invalid\n",
+ __func__);
return -EINVAL;
}
if (msm_hifi_control == MSM_HIFI_ON) {
@@ -2802,13 +2804,14 @@
static int msm_hifi_put(struct snd_kcontrol *kcontrol,
struct snd_ctl_elem_value *ucontrol)
{
- struct snd_soc_codec *codec = snd_soc_kcontrol_codec(kcontrol);
+ struct snd_soc_component *component =
+ snd_soc_kcontrol_component(kcontrol);
- dev_dbg(codec->dev, "%s: ucontrol->value.integer.value[0] = %ld\n",
+ dev_dbg(component->dev, "%s: ucontrol->value.integer.value[0] = %ld\n",
__func__, ucontrol->value.integer.value[0]);
msm_hifi_control = ucontrol->value.integer.value[0];
- msm_hifi_ctrl(codec);
+ msm_hifi_ctrl(component);
return 0;
}
@@ -3093,34 +3096,30 @@
};
-static int msm_snd_enable_codec_ext_clk(struct snd_soc_codec *codec,
+static int msm_snd_enable_codec_ext_clk(struct snd_soc_component *component,
int enable, bool dapm)
{
int ret = 0;
- if (!strcmp(dev_name(codec->dev), "pahu_codec")) {
- ret = pahu_cdc_mclk_enable(codec, enable);
- } else if (!strcmp(dev_name(codec->dev), "tavil_codec")) {
- ret = tavil_cdc_mclk_enable(codec, enable);
+ if (!strcmp(component->name, "tavil_codec")) {
+ ret = tavil_cdc_mclk_enable(component, enable);
} else {
- dev_err(codec->dev, "%s: unknown codec to enable ext clk\n",
+ dev_err(component->dev, "%s: unknown codec to enable ext clk\n",
__func__);
ret = -EINVAL;
}
return ret;
}
-static int msm_snd_enable_codec_ext_tx_clk(struct snd_soc_codec *codec,
+static int msm_snd_enable_codec_ext_tx_clk(struct snd_soc_component *component,
int enable, bool dapm)
{
int ret = 0;
- if (!strcmp(dev_name(codec->dev), "pahu_codec")) {
- ret = pahu_cdc_mclk_tx_enable(codec, enable);
- } else if (!strcmp(dev_name(codec->dev), "tavil_codec")) {
- ret = tavil_cdc_mclk_tx_enable(codec, enable);
+ if (!strcmp(component->name, "tavil_codec")) {
+ ret = tavil_cdc_mclk_tx_enable(component, enable);
} else {
- dev_err(codec->dev, "%s: unknown codec to enable TX ext clk\n",
+ dev_err(component->dev, "%s: unknown codec to enable TX ext clk\n",
__func__);
ret = -EINVAL;
}
@@ -3131,15 +3130,16 @@
static int msm_mclk_tx_event(struct snd_soc_dapm_widget *w,
struct snd_kcontrol *kcontrol, int event)
{
- struct snd_soc_codec *codec = snd_soc_dapm_to_codec(w->dapm);
+ struct snd_soc_component *component =
+ snd_soc_dapm_to_component(w->dapm);
pr_debug("%s: event = %d\n", __func__, event);
switch (event) {
case SND_SOC_DAPM_PRE_PMU:
- return msm_snd_enable_codec_ext_tx_clk(codec, 1, true);
+ return msm_snd_enable_codec_ext_tx_clk(component, 1, true);
case SND_SOC_DAPM_POST_PMD:
- return msm_snd_enable_codec_ext_tx_clk(codec, 0, true);
+ return msm_snd_enable_codec_ext_tx_clk(component, 0, true);
}
return 0;
}
@@ -3147,15 +3147,16 @@
static int msm_mclk_event(struct snd_soc_dapm_widget *w,
struct snd_kcontrol *kcontrol, int event)
{
- struct snd_soc_codec *codec = snd_soc_dapm_to_codec(w->dapm);
+ struct snd_soc_component *component =
+ snd_soc_dapm_to_component(w->dapm);
pr_debug("%s: event = %d\n", __func__, event);
switch (event) {
case SND_SOC_DAPM_PRE_PMU:
- return msm_snd_enable_codec_ext_clk(codec, 1, true);
+ return msm_snd_enable_codec_ext_clk(component, 1, true);
case SND_SOC_DAPM_POST_PMD:
- return msm_snd_enable_codec_ext_clk(codec, 0, true);
+ return msm_snd_enable_codec_ext_clk(component, 0, true);
}
return 0;
}
@@ -3163,21 +3164,23 @@
static int msm_hifi_ctrl_event(struct snd_soc_dapm_widget *w,
struct snd_kcontrol *k, int event)
{
- struct snd_soc_codec *codec = snd_soc_dapm_to_codec(w->dapm);
- struct snd_soc_card *card = codec->component.card;
+ struct snd_soc_component *component =
+ snd_soc_dapm_to_component(w->dapm);
+ struct snd_soc_card *card = component->card;
struct msm_asoc_mach_data *pdata =
snd_soc_card_get_drvdata(card);
- dev_dbg(codec->dev, "%s: msm_hifi_control = %d\n",
+ dev_dbg(component->dev, "%s: msm_hifi_control = %d\n",
__func__, msm_hifi_control);
if (!pdata || !pdata->hph_en0_gpio_p) {
- dev_err(codec->dev, "%s: hph_en0_gpio is invalid\n", __func__);
+ dev_err(component->dev, "%s: hph_en0_gpio is invalid\n",
+ __func__);
return -EINVAL;
}
if (msm_hifi_control != MSM_HIFI_ON) {
- dev_dbg(codec->dev, "%s: HiFi mixer control is not set\n",
+ dev_dbg(component->dev, "%s: HiFi mixer control is not set\n",
__func__);
return 0;
}
@@ -3332,10 +3335,12 @@
SNDRV_PCM_HW_PARAM_RATE);
struct snd_interval *channels = hw_param_interval(params,
SNDRV_PCM_HW_PARAM_CHANNELS);
+ struct snd_soc_dai *codec_dai = rtd->codec_dai;
+
int rc = 0;
int idx;
void *config = NULL;
- struct snd_soc_codec *codec = NULL;
+ struct snd_soc_component *component = NULL;
pr_debug("%s: format = %d, rate = %d\n",
__func__, params_format(params), params_rate(params));
@@ -3385,11 +3390,13 @@
break;
case MSM_BACKEND_DAI_SLIMBUS_5_TX:
- codec = rtd->codec;
+ if (!strcmp(dev_name(codec_dai->dev), "tavil_codec"))
+ component = snd_soc_rtdcom_lookup(rtd, "tavil_codec");
+
rate->min = rate->max = SAMPLING_RATE_16KHZ;
channels->min = channels->max = 1;
- config = msm_codec_fn.get_afe_config_fn(codec,
+ config = msm_codec_fn.get_afe_config_fn(component,
AFE_SLIMBUS_SLAVE_PORT_CONFIG);
if (config) {
rc = afe_set_config(AFE_SLIMBUS_SLAVE_PORT_CONFIG,
@@ -3714,9 +3721,10 @@
return rc;
}
-static bool msm_usbc_swap_gnd_mic(struct snd_soc_codec *codec, bool active)
+static bool msm_usbc_swap_gnd_mic(struct snd_soc_component *component,
+ bool active)
{
- struct snd_soc_card *card = codec->component.card;
+ struct snd_soc_card *card = component->card;
struct msm_asoc_mach_data *pdata =
snd_soc_card_get_drvdata(card);
@@ -3726,25 +3734,25 @@
return fsa4480_switch_event(pdata->fsa_handle, FSA_MIC_GND_SWAP);
}
-static bool msm_swap_gnd_mic(struct snd_soc_codec *codec, bool active)
+static bool msm_swap_gnd_mic(struct snd_soc_component *component, bool active)
{
int value = 0;
bool ret = false;
struct snd_soc_card *card;
struct msm_asoc_mach_data *pdata;
- if (!codec) {
- pr_err("%s codec is NULL\n", __func__);
+ if (!component) {
+ pr_err("%s component is NULL\n", __func__);
return false;
}
- card = codec->component.card;
+ card = component->card;
pdata = snd_soc_card_get_drvdata(card);
if (!pdata)
return false;
if (wcd_mbhc_cfg.enable_usbc_analog)
- return msm_usbc_swap_gnd_mic(codec, active);
+ return msm_usbc_swap_gnd_mic(component, active);
/* if usbc is not defined, swap using us_euro_gpio_p */
if (pdata->us_euro_gpio_p) {
@@ -3756,7 +3764,7 @@
else
msm_cdc_pinctrl_select_active_state(
pdata->us_euro_gpio_p);
- dev_dbg(codec->dev, "%s: swap select switch %d to %d\n",
+ dev_dbg(component->dev, "%s: swap select switch %d to %d\n",
__func__, value, !value);
ret = true;
}
@@ -3764,46 +3772,46 @@
return ret;
}
-static int msm_afe_set_config(struct snd_soc_codec *codec)
+static int msm_afe_set_config(struct snd_soc_component *component)
{
int ret = 0;
void *config_data = NULL;
if (!msm_codec_fn.get_afe_config_fn) {
- dev_err(codec->dev, "%s: codec get afe config not init'ed\n",
+ dev_err(component->dev, "%s: codec get afe config not init'ed\n",
__func__);
return -EINVAL;
}
- config_data = msm_codec_fn.get_afe_config_fn(codec,
+ config_data = msm_codec_fn.get_afe_config_fn(component,
AFE_CDC_REGISTERS_CONFIG);
if (config_data) {
ret = afe_set_config(AFE_CDC_REGISTERS_CONFIG, config_data, 0);
if (ret) {
- dev_err(codec->dev,
+ dev_err(component->dev,
"%s: Failed to set codec registers config %d\n",
__func__, ret);
return ret;
}
}
- config_data = msm_codec_fn.get_afe_config_fn(codec,
+ config_data = msm_codec_fn.get_afe_config_fn(component,
AFE_CDC_REGISTER_PAGE_CONFIG);
if (config_data) {
ret = afe_set_config(AFE_CDC_REGISTER_PAGE_CONFIG, config_data,
0);
if (ret)
- dev_err(codec->dev,
+ dev_err(component->dev,
"%s: Failed to set cdc register page config\n",
__func__);
}
- config_data = msm_codec_fn.get_afe_config_fn(codec,
+ config_data = msm_codec_fn.get_afe_config_fn(component,
AFE_SLIMBUS_SLAVE_CONFIG);
if (config_data) {
ret = afe_set_config(AFE_SLIMBUS_SLAVE_CONFIG, config_data, 0);
if (ret) {
- dev_err(codec->dev,
+ dev_err(component->dev,
"%s: Failed to set slimbus slave config %d\n",
__func__, ret);
return ret;
@@ -3819,7 +3827,7 @@
afe_clear_config(AFE_SLIMBUS_SLAVE_CONFIG);
}
-static int msm_adsp_power_up_config(struct snd_soc_codec *codec,
+static int msm_adsp_power_up_config(struct snd_soc_component *component,
struct snd_card *card)
{
int ret = 0;
@@ -3861,7 +3869,7 @@
goto err;
}
- ret = msm_afe_set_config(codec);
+ ret = msm_afe_set_config(component);
if (ret)
pr_err("%s: Failed to set AFE config. err %d\n",
__func__, ret);
@@ -3875,14 +3883,14 @@
static void msm_adsp_power_up_config_work(struct work_struct *work)
{
struct msm_asoc_mach_data *pdata;
- struct snd_soc_codec *codec;
+ struct snd_soc_component *component;
struct snd_card *card;
pdata = container_of(work, struct msm_asoc_mach_data,
adsp_power_up_work);
- codec = pdata->codec;
- card = codec->component.card->snd_card;
- msm_adsp_power_up_config(codec, card);
+ component = pdata->component;
+ card = component->card->snd_card;
+ msm_adsp_power_up_config(component, card);
}
static int sm8150_notifier_service_cb(struct notifier_block *this,
@@ -3892,7 +3900,8 @@
struct snd_soc_card *card = NULL;
const char *be_dl_name = LPASS_BE_SLIMBUS_0_RX;
struct snd_soc_pcm_runtime *rtd;
- struct snd_soc_codec *codec;
+ struct snd_soc_dai *codec_dai;
+ struct snd_soc_component *component;
struct msm_asoc_mach_data *pdata;
pr_debug("%s: Service opcode 0x%lx\n", __func__, opcode);
@@ -3926,10 +3935,12 @@
ret = -EINVAL;
goto err;
}
- codec = rtd->codec;
+ codec_dai = rtd->codec_dai;
+ if (!strcmp(dev_name(codec_dai->dev), "tavil_codec"))
+ component = snd_soc_rtdcom_lookup(rtd, "tavil_codec");
pdata = snd_soc_card_get_drvdata(card);
- pdata->codec = codec;
+ pdata->component = component;
schedule_work(&pdata->adsp_power_up_work);
break;
default:
@@ -3948,12 +3959,12 @@
{
int ret = 0;
void *config_data;
- struct snd_soc_codec *codec = rtd->codec;
- struct snd_soc_dapm_context *dapm = snd_soc_codec_get_dapm(codec);
+ struct snd_soc_component *component;
+ struct snd_soc_dapm_context *dapm;
struct snd_soc_dai *cpu_dai = rtd->cpu_dai;
struct snd_soc_dai *codec_dai = rtd->codec_dai;
struct snd_soc_component *aux_comp;
- struct snd_card *card;
+ struct snd_card *card = rtd->card->snd_card;
struct snd_info_entry *entry;
struct msm_asoc_mach_data *pdata =
snd_soc_card_get_drvdata(rtd->card);
@@ -3964,9 +3975,9 @@
* TX1, TX2, TX3, TX4, TX5, TX6, TX7, TX8, TX9, TX10, TX11, TX12, TX13
* TX14, TX15, TX16
*/
- unsigned int rx_ch[WCD9360_RX_MAX] = {144, 145, 146, 147, 148, 149,
+ unsigned int rx_ch[WCD934X_RX_MAX] = {144, 145, 146, 147, 148, 149,
150, 151};
- unsigned int tx_ch[WCD9360_TX_MAX] = {128, 129, 130, 131, 132, 133,
+ unsigned int tx_ch[WCD934X_TX_MAX] = {128, 129, 130, 131, 132, 133,
134, 135, 136, 137, 138, 139,
140, 141, 142, 143};
@@ -3974,7 +3985,14 @@
rtd->pmdown_time = 0;
- ret = snd_soc_add_codec_controls(codec, msm_snd_controls,
+ component = snd_soc_rtdcom_lookup(rtd, "tavil_codec");
+ if (!component) {
+ pr_err("%s: component is NULL\n", __func__);
+ return -EINVAL;
+ }
+ dapm = snd_soc_component_get_dapm(component);
+
+ ret = snd_soc_add_component_controls(component, msm_snd_controls,
ARRAY_SIZE(msm_snd_controls));
if (ret < 0) {
pr_err("%s: add_codec_controls failed, err %d\n",
@@ -3982,17 +4000,10 @@
return ret;
}
- if (!strcmp(dev_name(codec_dai->dev), "tavil_codec")) {
- snd_soc_dapm_new_controls(dapm, msm_dapm_widgets_tavil,
- ARRAY_SIZE(msm_dapm_widgets_tavil));
- snd_soc_dapm_add_routes(dapm, wcd_audio_paths_tavil,
- ARRAY_SIZE(wcd_audio_paths_tavil));
- } else {
- snd_soc_dapm_new_controls(dapm, msm_dapm_widgets,
- ARRAY_SIZE(msm_dapm_widgets));
- snd_soc_dapm_add_routes(dapm, wcd_audio_paths,
- ARRAY_SIZE(wcd_audio_paths));
- }
+ snd_soc_dapm_new_controls(dapm, msm_dapm_widgets_tavil,
+ ARRAY_SIZE(msm_dapm_widgets_tavil));
+ snd_soc_dapm_add_routes(dapm, wcd_audio_paths_tavil,
+ ARRAY_SIZE(wcd_audio_paths_tavil));
snd_soc_dapm_ignore_suspend(dapm, "Handset Mic");
snd_soc_dapm_ignore_suspend(dapm, "Digital Mic0");
@@ -4023,11 +4034,6 @@
snd_soc_dapm_ignore_suspend(dapm, "HPHR");
snd_soc_dapm_ignore_suspend(dapm, "ANC HPHL");
snd_soc_dapm_ignore_suspend(dapm, "ANC HPHR");
- } else {
- snd_soc_dapm_ignore_suspend(dapm, "Digital Mic6");
- snd_soc_dapm_ignore_suspend(dapm, "Digital Mic7");
- snd_soc_dapm_ignore_suspend(dapm, "Analog Mic3");
- snd_soc_dapm_ignore_suspend(dapm, "Analog Mic4");
}
snd_soc_dapm_sync(dapm);
@@ -4037,16 +4043,14 @@
if (!strcmp(dev_name(codec_dai->dev), "tavil_codec"))
msm_codec_fn.get_afe_config_fn = tavil_get_afe_config;
- else
- msm_codec_fn.get_afe_config_fn = pahu_get_afe_config;
- ret = msm_adsp_power_up_config(codec, rtd->card->snd_card);
+ ret = msm_adsp_power_up_config(component, rtd->card->snd_card);
if (ret) {
pr_err("%s: Failed to set AFE config %d\n", __func__, ret);
goto err;
}
- config_data = msm_codec_fn.get_afe_config_fn(codec,
+ config_data = msm_codec_fn.get_afe_config_fn(component,
AFE_AANC_VERSION);
if (config_data) {
ret = afe_set_config(AFE_AANC_VERSION, config_data, 0);
@@ -4072,9 +4076,9 @@
card_aux_list);
if (!strcmp(aux_comp->name, WSA8810_NAME_1) ||
!strcmp(aux_comp->name, WSA8810_NAME_2)) {
- tavil_set_spkr_mode(rtd->codec,
+ tavil_set_spkr_mode(component,
WCD934X_SPKR_MODE_1);
- tavil_set_spkr_gain_offset(rtd->codec,
+ tavil_set_spkr_gain_offset(component,
WCD934X_RX_GAIN_OFFSET_M1P5_DB);
}
}
@@ -4088,30 +4092,8 @@
goto done;
}
pdata->codec_root = entry;
- tavil_codec_info_create_codec_entry(pdata->codec_root, codec);
- } else {
- if (rtd->card->num_aux_devs &&
- !list_empty(&rtd->card->component_dev_list)) {
- aux_comp = list_first_entry(&rtd->card->component_dev_list,
- struct snd_soc_component, card_aux_list);
- if (!strcmp(aux_comp->name, WSA8810_NAME_1) ||
- !strcmp(aux_comp->name, WSA8810_NAME_2)) {
- pahu_set_spkr_mode(rtd->codec, WCD9360_SPKR_MODE_1);
- pahu_set_spkr_gain_offset(rtd->codec,
- WCD9360_RX_GAIN_OFFSET_M1P5_DB);
- }
- }
- card = rtd->card->snd_card;
- entry = snd_info_create_subdir(card->module, "codecs",
- card->proc_root);
- if (!entry) {
- pr_debug("%s: Cannot create codecs module entry\n",
- __func__);
- pdata->codec_root = NULL;
- goto done;
- }
- pdata->codec_root = entry;
- pahu_codec_info_create_codec_entry(pdata->codec_root, codec);
+ tavil_codec_info_create_codec_entry(pdata->codec_root,
+ component);
}
done:
codec_reg_done = true;
@@ -5528,47 +5510,6 @@
},
};
-static struct snd_soc_dai_link msm_pahu_fe_dai_links[] = {
- {
- .name = LPASS_BE_SLIMBUS_4_TX,
- .stream_name = "Slimbus4 Capture",
- .cpu_dai_name = "msm-dai-q6-dev.16393",
- .platform_name = "msm-pcm-hostless",
- .codec_name = "pahu_codec",
- .codec_dai_name = "pahu_vifeedback",
- .id = MSM_BACKEND_DAI_SLIMBUS_4_TX,
- .be_hw_params_fixup = msm_be_hw_params_fixup,
- .ops = &msm_be_ops,
- .no_host_mode = SND_SOC_DAI_LINK_NO_HOST,
- .ignore_suspend = 1,
- },
- /* Ultrasound RX DAI Link */
- {
- .name = "SLIMBUS_2 Hostless Playback",
- .stream_name = "SLIMBUS_2 Hostless Playback",
- .cpu_dai_name = "msm-dai-q6-dev.16388",
- .platform_name = "msm-pcm-hostless",
- .codec_name = "pahu_codec",
- .codec_dai_name = "pahu_rx2",
- .ignore_suspend = 1,
- .ignore_pmdown_time = 1,
- .no_host_mode = SND_SOC_DAI_LINK_NO_HOST,
- .ops = &msm_slimbus_2_be_ops,
- },
- /* Ultrasound TX DAI Link */
- {
- .name = "SLIMBUS_2 Hostless Capture",
- .stream_name = "SLIMBUS_2 Hostless Capture",
- .cpu_dai_name = "msm-dai-q6-dev.16389",
- .platform_name = "msm-pcm-hostless",
- .codec_name = "pahu_codec",
- .codec_dai_name = "pahu_tx2",
- .ignore_suspend = 1,
- .no_host_mode = SND_SOC_DAI_LINK_NO_HOST,
- .ops = &msm_slimbus_2_be_ops,
- },
-};
-
static struct snd_soc_dai_link msm_tavil_fe_dai_links[] = {
{
.name = LPASS_BE_SLIMBUS_4_TX,
@@ -5910,193 +5851,6 @@
},
};
-static struct snd_soc_dai_link msm_pahu_be_dai_links[] = {
- {
- .name = LPASS_BE_SLIMBUS_0_RX,
- .stream_name = "Slimbus Playback",
- .cpu_dai_name = "msm-dai-q6-dev.16384",
- .platform_name = "msm-pcm-routing",
- .codec_name = "pahu_codec",
- .codec_dai_name = "pahu_rx1",
- .no_pcm = 1,
- .dpcm_playback = 1,
- .id = MSM_BACKEND_DAI_SLIMBUS_0_RX,
- .init = &msm_audrx_init,
- .be_hw_params_fixup = msm_be_hw_params_fixup,
- /* this dainlink has playback support */
- .ignore_pmdown_time = 1,
- .ignore_suspend = 1,
- .ops = &msm_be_ops,
- },
- {
- .name = LPASS_BE_SLIMBUS_0_TX,
- .stream_name = "Slimbus Capture",
- .cpu_dai_name = "msm-dai-q6-dev.16385",
- .platform_name = "msm-pcm-routing",
- .codec_name = "pahu_codec",
- .codec_dai_name = "pahu_tx1",
- .no_pcm = 1,
- .dpcm_capture = 1,
- .id = MSM_BACKEND_DAI_SLIMBUS_0_TX,
- .be_hw_params_fixup = msm_be_hw_params_fixup,
- .ignore_suspend = 1,
- .ops = &msm_be_ops,
- },
- {
- .name = LPASS_BE_SLIMBUS_1_RX,
- .stream_name = "Slimbus1 Playback",
- .cpu_dai_name = "msm-dai-q6-dev.16386",
- .platform_name = "msm-pcm-routing",
- .codec_name = "pahu_codec",
- .codec_dai_name = "pahu_rx1",
- .no_pcm = 1,
- .dpcm_playback = 1,
- .id = MSM_BACKEND_DAI_SLIMBUS_1_RX,
- .be_hw_params_fixup = msm_be_hw_params_fixup,
- .ops = &msm_be_ops,
- /* dai link has playback support */
- .ignore_pmdown_time = 1,
- .ignore_suspend = 1,
- },
- {
- .name = LPASS_BE_SLIMBUS_1_TX,
- .stream_name = "Slimbus1 Capture",
- .cpu_dai_name = "msm-dai-q6-dev.16387",
- .platform_name = "msm-pcm-routing",
- .codec_name = "pahu_codec",
- .codec_dai_name = "pahu_tx3",
- .no_pcm = 1,
- .dpcm_capture = 1,
- .id = MSM_BACKEND_DAI_SLIMBUS_1_TX,
- .be_hw_params_fixup = msm_be_hw_params_fixup,
- .ops = &msm_be_ops,
- .ignore_suspend = 1,
- },
- {
- .name = LPASS_BE_SLIMBUS_2_RX,
- .stream_name = "Slimbus2 Playback",
- .cpu_dai_name = "msm-dai-q6-dev.16388",
- .platform_name = "msm-pcm-routing",
- .codec_name = "pahu_codec",
- .codec_dai_name = "pahu_rx2",
- .no_pcm = 1,
- .dpcm_playback = 1,
- .id = MSM_BACKEND_DAI_SLIMBUS_2_RX,
- .be_hw_params_fixup = msm_be_hw_params_fixup,
- .ops = &msm_be_ops,
- .ignore_pmdown_time = 1,
- .ignore_suspend = 1,
- },
- {
- .name = LPASS_BE_SLIMBUS_3_RX,
- .stream_name = "Slimbus3 Playback",
- .cpu_dai_name = "msm-dai-q6-dev.16390",
- .platform_name = "msm-pcm-routing",
- .codec_name = "pahu_codec",
- .codec_dai_name = "pahu_rx1",
- .no_pcm = 1,
- .dpcm_playback = 1,
- .id = MSM_BACKEND_DAI_SLIMBUS_3_RX,
- .be_hw_params_fixup = msm_be_hw_params_fixup,
- .ops = &msm_be_ops,
- /* dai link has playback support */
- .ignore_pmdown_time = 1,
- .ignore_suspend = 1,
- },
- {
- .name = LPASS_BE_SLIMBUS_3_TX,
- .stream_name = "Slimbus3 Capture",
- .cpu_dai_name = "msm-dai-q6-dev.16391",
- .platform_name = "msm-pcm-routing",
- .codec_name = "pahu_codec",
- .codec_dai_name = "pahu_tx1",
- .no_pcm = 1,
- .dpcm_capture = 1,
- .id = MSM_BACKEND_DAI_SLIMBUS_3_TX,
- .be_hw_params_fixup = msm_be_hw_params_fixup,
- .ops = &msm_be_ops,
- .ignore_suspend = 1,
- },
- {
- .name = LPASS_BE_SLIMBUS_4_RX,
- .stream_name = "Slimbus4 Playback",
- .cpu_dai_name = "msm-dai-q6-dev.16392",
- .platform_name = "msm-pcm-routing",
- .codec_name = "pahu_codec",
- .codec_dai_name = "pahu_rx1",
- .no_pcm = 1,
- .dpcm_playback = 1,
- .id = MSM_BACKEND_DAI_SLIMBUS_4_RX,
- .be_hw_params_fixup = msm_be_hw_params_fixup,
- .ops = &msm_be_ops,
- /* dai link has playback support */
- .ignore_pmdown_time = 1,
- .ignore_suspend = 1,
- },
- {
- .name = LPASS_BE_SLIMBUS_5_RX,
- .stream_name = "Slimbus5 Playback",
- .cpu_dai_name = "msm-dai-q6-dev.16394",
- .platform_name = "msm-pcm-routing",
- .codec_name = "pahu_codec",
- .codec_dai_name = "pahu_rx3",
- .no_pcm = 1,
- .dpcm_playback = 1,
- .id = MSM_BACKEND_DAI_SLIMBUS_5_RX,
- .be_hw_params_fixup = msm_be_hw_params_fixup,
- .ops = &msm_be_ops,
- /* dai link has playback support */
- .ignore_pmdown_time = 1,
- .ignore_suspend = 1,
- },
- /* MAD BE */
- {
- .name = LPASS_BE_SLIMBUS_5_TX,
- .stream_name = "Slimbus5 Capture",
- .cpu_dai_name = "msm-dai-q6-dev.16395",
- .platform_name = "msm-pcm-routing",
- .codec_name = "pahu_codec",
- .codec_dai_name = "pahu_mad1",
- .no_pcm = 1,
- .dpcm_capture = 1,
- .id = MSM_BACKEND_DAI_SLIMBUS_5_TX,
- .be_hw_params_fixup = msm_be_hw_params_fixup,
- .ops = &msm_be_ops,
- .ignore_suspend = 1,
- },
- {
- .name = LPASS_BE_SLIMBUS_6_RX,
- .stream_name = "Slimbus6 Playback",
- .cpu_dai_name = "msm-dai-q6-dev.16396",
- .platform_name = "msm-pcm-routing",
- .codec_name = "pahu_codec",
- .codec_dai_name = "pahu_rx4",
- .no_pcm = 1,
- .dpcm_playback = 1,
- .id = MSM_BACKEND_DAI_SLIMBUS_6_RX,
- .be_hw_params_fixup = msm_be_hw_params_fixup,
- .ops = &msm_be_ops,
- /* dai link has playback support */
- .ignore_pmdown_time = 1,
- .ignore_suspend = 1,
- },
- /* Slimbus VI Recording */
- {
- .name = LPASS_BE_SLIMBUS_TX_VI,
- .stream_name = "Slimbus4 Capture",
- .cpu_dai_name = "msm-dai-q6-dev.16393",
- .platform_name = "msm-pcm-routing",
- .codec_name = "pahu_codec",
- .codec_dai_name = "pahu_vifeedback",
- .id = MSM_BACKEND_DAI_SLIMBUS_4_TX,
- .be_hw_params_fixup = msm_be_hw_params_fixup,
- .ops = &msm_be_ops,
- .ignore_suspend = 1,
- .no_pcm = 1,
- .dpcm_capture = 1,
- },
-};
-
static struct snd_soc_dai_link msm_tavil_be_dai_links[] = {
{
.name = LPASS_BE_SLIMBUS_0_RX,
@@ -6660,17 +6414,6 @@
},
};
-static struct snd_soc_dai_link msm_pahu_snd_card_dai_links[
- ARRAY_SIZE(msm_common_dai_links) +
- ARRAY_SIZE(msm_pahu_fe_dai_links) +
- ARRAY_SIZE(msm_common_misc_fe_dai_links) +
- ARRAY_SIZE(msm_common_be_dai_links) +
- ARRAY_SIZE(msm_pahu_be_dai_links) +
- ARRAY_SIZE(msm_wcn_be_dai_links) +
- ARRAY_SIZE(ext_disp_be_dai_link) +
- ARRAY_SIZE(msm_mi2s_be_dai_links) +
- ARRAY_SIZE(msm_auxpcm_be_dai_links)];
-
static struct snd_soc_dai_link msm_tavil_dai_links[
ARRAY_SIZE(msm_common_dai_links) +
ARRAY_SIZE(msm_tavil_fe_dai_links) +
@@ -6686,6 +6429,7 @@
{
const char *be_dl_name = LPASS_BE_SLIMBUS_0_RX;
struct snd_soc_pcm_runtime *rtd;
+ struct snd_soc_component *component;
int ret = 0;
void *mbhc_calibration;
@@ -6698,13 +6442,20 @@
goto err_pcm_runtime;
}
+ component = snd_soc_rtdcom_lookup(rtd, "tavil_codec");
+ if (!component) {
+ dev_err(card->dev,
+ "%s: component is NULL\n", __func__);
+ ret = -EINVAL;
+ goto err_pcm_runtime;
+ }
mbhc_calibration = def_wcd_mbhc_cal();
if (!mbhc_calibration) {
ret = -ENOMEM;
goto err_mbhc_cal;
}
wcd_mbhc_cfg.calibration = mbhc_calibration;
- ret = tavil_mbhc_hs_detect(rtd->codec, &wcd_mbhc_cfg);
+ ret = tavil_mbhc_hs_detect(component, &wcd_mbhc_cfg);
if (ret) {
dev_err(card->dev, "%s: mbhc hs detect failed, err:%d\n",
__func__, ret);
@@ -6719,10 +6470,6 @@
return ret;
}
-struct snd_soc_card snd_soc_card_pahu_msm = {
- .name = "sm8150-pahu-snd-card",
-};
-
struct snd_soc_card snd_soc_card_tavil_msm = {
.name = "sm8150-tavil-snd-card",
.late_probe = msm_snd_card_tavil_late_probe,
@@ -6817,12 +6564,17 @@
static int msm_audrx_stub_init(struct snd_soc_pcm_runtime *rtd)
{
int ret = 0;
- struct snd_soc_codec *codec = rtd->codec;
+ struct snd_soc_component *component =
+ snd_soc_rtdcom_lookup(rtd, "msm-stub-codec");
- ret = snd_soc_add_codec_controls(codec, msm_snd_controls,
+ if (!component) {
+ pr_err("%s: component is NULL\n", __func__);
+ return -EINVAL;
+ }
+ ret = snd_soc_add_component_controls(component, msm_snd_controls,
ARRAY_SIZE(msm_snd_controls));
if (ret < 0) {
- dev_err(codec->dev,
+ dev_err(component->dev,
"%s: add_codec_controls failed, err = %d\n",
__func__, ret);
return ret;
@@ -6934,8 +6686,6 @@
};
static const struct of_device_id sm8150_asoc_machine_of_match[] = {
- { .compatible = "qcom,sm8150-asoc-snd-pahu",
- .data = "pahu_codec"},
{ .compatible = "qcom,sm8150-asoc-snd-tavil",
.data = "tavil_codec"},
{ .compatible = "qcom,sm8150-asoc-snd-stub",
@@ -6960,70 +6710,7 @@
return NULL;
}
- if (!strcmp(match->data, "pahu_codec")) {
- card = &snd_soc_card_pahu_msm;
- len_1 = ARRAY_SIZE(msm_common_dai_links);
- len_2 = len_1 + ARRAY_SIZE(msm_pahu_fe_dai_links);
- len_3 = len_2 + ARRAY_SIZE(msm_common_misc_fe_dai_links);
- len_4 = len_3 + ARRAY_SIZE(msm_common_be_dai_links);
- total_links = len_4 + ARRAY_SIZE(msm_pahu_be_dai_links);
- memcpy(msm_pahu_snd_card_dai_links,
- msm_common_dai_links,
- sizeof(msm_common_dai_links));
- memcpy(msm_pahu_snd_card_dai_links + len_1,
- msm_pahu_fe_dai_links,
- sizeof(msm_pahu_fe_dai_links));
- memcpy(msm_pahu_snd_card_dai_links + len_2,
- msm_common_misc_fe_dai_links,
- sizeof(msm_common_misc_fe_dai_links));
- memcpy(msm_pahu_snd_card_dai_links + len_3,
- msm_common_be_dai_links,
- sizeof(msm_common_be_dai_links));
- memcpy(msm_pahu_snd_card_dai_links + len_4,
- msm_pahu_be_dai_links,
- sizeof(msm_pahu_be_dai_links));
-
- ret = of_property_read_u32(dev->of_node, "qcom,wcn-btfm", &val);
- if (!ret && val) {
- dev_dbg(dev, "%s(): WCN BTFM support present\n",
- __func__);
- memcpy(msm_pahu_snd_card_dai_links + total_links,
- msm_wcn_be_dai_links,
- sizeof(msm_wcn_be_dai_links));
- total_links += ARRAY_SIZE(msm_wcn_be_dai_links);
- }
-
- ret = of_property_read_u32(dev->of_node,
- "qcom,ext-disp-audio-rx", &val);
- if (!ret && val) {
- dev_dbg(dev, "%s(): ext disp audio support present\n",
- __func__);
- memcpy(msm_pahu_snd_card_dai_links + total_links,
- ext_disp_be_dai_link,
- sizeof(ext_disp_be_dai_link));
- total_links += ARRAY_SIZE(ext_disp_be_dai_link);
- }
-
- ret = of_property_read_u32(dev->of_node,
- "qcom,mi2s-audio-intf", &val);
- if (!ret && val) {
- memcpy(msm_pahu_snd_card_dai_links + total_links,
- msm_mi2s_be_dai_links,
- sizeof(msm_mi2s_be_dai_links));
- total_links += ARRAY_SIZE(msm_mi2s_be_dai_links);
- }
-
- ret = of_property_read_u32(dev->of_node,
- "qcom,auxpcm-audio-intf", &val);
- if (!ret && val) {
- memcpy(msm_pahu_snd_card_dai_links + total_links,
- msm_auxpcm_be_dai_links,
- sizeof(msm_auxpcm_be_dai_links));
- total_links += ARRAY_SIZE(msm_auxpcm_be_dai_links);
- }
-
- dailink = msm_pahu_snd_card_dai_links;
- } else if (!strcmp(match->data, "tavil_codec")) {
+ if (!strcmp(match->data, "tavil_codec")) {
card = &snd_soc_card_tavil_msm;
len_1 = ARRAY_SIZE(msm_common_dai_links);
len_2 = len_1 + ARRAY_SIZE(msm_tavil_fe_dai_links);
@@ -7115,22 +6802,21 @@
u8 spkright_ports[WSA881X_MAX_SWR_PORTS] = {103, 104, 105, 107};
unsigned int ch_rate[WSA881X_MAX_SWR_PORTS] = {2400, 600, 300, 1200};
unsigned int ch_mask[WSA881X_MAX_SWR_PORTS] = {0x1, 0xF, 0x3, 0x3};
- struct snd_soc_codec *codec = snd_soc_component_to_codec(component);
struct msm_asoc_mach_data *pdata;
struct snd_soc_dapm_context *dapm;
int ret = 0;
- if (!codec) {
+ if (!component) {
pr_err("%s codec is NULL\n", __func__);
return -EINVAL;
}
- dapm = snd_soc_codec_get_dapm(codec);
+ dapm = snd_soc_component_get_dapm(component);
if (!strcmp(component->name_prefix, "SpkrLeft")) {
- dev_dbg(codec->dev, "%s: setting left ch map to codec %s\n",
- __func__, codec->component.name);
- wsa881x_set_channel_map(codec, &spkleft_ports[0],
+ dev_dbg(component->dev, "%s: setting left ch map to codec %s\n",
+ __func__, component->name);
+ wsa881x_set_channel_map(component, &spkleft_ports[0],
WSA881X_MAX_SWR_PORTS, &ch_mask[0],
&ch_rate[0], NULL);
if (dapm->component) {
@@ -7138,9 +6824,9 @@
snd_soc_dapm_ignore_suspend(dapm, "SpkrLeft SPKR");
}
} else if (!strcmp(component->name_prefix, "SpkrRight")) {
- dev_dbg(codec->dev, "%s: setting right ch map to codec %s\n",
- __func__, codec->component.name);
- wsa881x_set_channel_map(codec, &spkright_ports[0],
+ dev_dbg(codec->dev, "%s: setting right ch map to component %s\n",
+ __func__, component->name);
+ wsa881x_set_channel_map(component, &spkright_ports[0],
WSA881X_MAX_SWR_PORTS, &ch_mask[0],
&ch_rate[0], NULL);
if (dapm->component) {
@@ -7148,15 +6834,15 @@
snd_soc_dapm_ignore_suspend(dapm, "SpkrRight SPKR");
}
} else {
- dev_err(codec->dev, "%s: wrong codec name %s\n", __func__,
- codec->component.name);
+ dev_err(codec->dev, "%s: wrong component name %s\n", __func__,
+ component->name);
ret = -EINVAL;
goto err;
}
pdata = snd_soc_card_get_drvdata(component->card);
if (pdata && pdata->codec_root)
wsa881x_codec_info_create_codec_entry(pdata->codec_root,
- codec);
+ component);
err:
return ret;
diff --git a/config/qcs405autoconf.h b/config/qcs405autoconf.h
index 07e5429..0a2e286 100644
--- a/config/qcs405autoconf.h
+++ b/config/qcs405autoconf.h
@@ -1,4 +1,4 @@
-/* SPDX-License-Identifier: GPL-2.0 */
+/* SPDX-License-Identifier: GPL-2.0-only */
/* Copyright (c) 2018, The Linux Foundation. All rights reserved.
*/
diff --git a/config/sdxpoorwillsautoconf.h b/config/sdxpoorwillsautoconf.h
index 9d7158e..49bbe41 100644
--- a/config/sdxpoorwillsautoconf.h
+++ b/config/sdxpoorwillsautoconf.h
@@ -1,4 +1,4 @@
-/* SPDX-License-Identifier: GPL-2.0 */
+/* SPDX-License-Identifier: GPL-2.0-only */
/*
* Copyright (c) 2017-2018, The Linux Foundation. All rights reserved.
*/
diff --git a/config/sm6150autoconf.h b/config/sm6150autoconf.h
index 2a63d04..9a3cdd0 100644
--- a/config/sm6150autoconf.h
+++ b/config/sm6150autoconf.h
@@ -1,4 +1,4 @@
-/* SPDX-License-Identifier: GPL-2.0 */
+/* SPDX-License-Identifier: GPL-2.0-only */
/* Copyright (c) 2018, The Linux Foundation. All rights reserved.
*/
diff --git a/config/sm8150autoconf.h b/config/sm8150autoconf.h
index 6f21874..0c19fd3 100644
--- a/config/sm8150autoconf.h
+++ b/config/sm8150autoconf.h
@@ -1,4 +1,4 @@
-/* SPDX-License-Identifier: GPL-2.0 */
+/* SPDX-License-Identifier: GPL-2.0-only */
/* Copyright (c) 2018, The Linux Foundation. All rights reserved.
*/
diff --git a/dsp/codecs/aac_in.c b/dsp/codecs/aac_in.c
index 11e7bcc..04f6987 100644
--- a/dsp/codecs/aac_in.c
+++ b/dsp/codecs/aac_in.c
@@ -1,4 +1,4 @@
-// SPDX-License-Identifier: GPL-2.0
+// SPDX-License-Identifier: GPL-2.0-only
/*
* Copyright (c) 2010-2017, The Linux Foundation. All rights reserved.
*/
diff --git a/dsp/codecs/amrnb_in.c b/dsp/codecs/amrnb_in.c
index 266d9c8..924ac5c 100644
--- a/dsp/codecs/amrnb_in.c
+++ b/dsp/codecs/amrnb_in.c
@@ -1,4 +1,4 @@
-// SPDX-License-Identifier: GPL-2.0
+// SPDX-License-Identifier: GPL-2.0-only
/*
* Copyright (c) 2010-2012, 2014, 2016-2017 The Linux Foundation. All rights reserved.
*/
diff --git a/dsp/codecs/amrwb_in.c b/dsp/codecs/amrwb_in.c
index 6435f25..9a9b4a0 100644
--- a/dsp/codecs/amrwb_in.c
+++ b/dsp/codecs/amrwb_in.c
@@ -1,4 +1,4 @@
-// SPDX-License-Identifier: GPL-2.0
+// SPDX-License-Identifier: GPL-2.0-only
/*
* Copyright (c) 2011-2012, 2014, 2016-2017 The Linux Foundation. All rights reserved.
*/
diff --git a/dsp/codecs/audio_aac.c b/dsp/codecs/audio_aac.c
index bbf9c36..cf3d448 100644
--- a/dsp/codecs/audio_aac.c
+++ b/dsp/codecs/audio_aac.c
@@ -1,4 +1,4 @@
-// SPDX-License-Identifier: GPL-2.0
+// SPDX-License-Identifier: GPL-2.0-only
/* aac audio output device
*
* Copyright (C) 2008 Google, Inc.
diff --git a/dsp/codecs/audio_alac.c b/dsp/codecs/audio_alac.c
index 9ece77f..ea05d71 100644
--- a/dsp/codecs/audio_alac.c
+++ b/dsp/codecs/audio_alac.c
@@ -1,4 +1,4 @@
-// SPDX-License-Identifier: GPL-2.0
+// SPDX-License-Identifier: GPL-2.0-only
/*
* Copyright (c) 2015-2018, The Linux Foundation. All rights reserved.
*/
diff --git a/dsp/codecs/audio_amrnb.c b/dsp/codecs/audio_amrnb.c
index 1549f43..efec4d2 100644
--- a/dsp/codecs/audio_amrnb.c
+++ b/dsp/codecs/audio_amrnb.c
@@ -1,4 +1,4 @@
-// SPDX-License-Identifier: GPL-2.0
+// SPDX-License-Identifier: GPL-2.0-only
/* amrnb audio output device
*
* Copyright (C) 2008 Google, Inc.
diff --git a/dsp/codecs/audio_amrwb.c b/dsp/codecs/audio_amrwb.c
index 63baa9d..688a94d 100644
--- a/dsp/codecs/audio_amrwb.c
+++ b/dsp/codecs/audio_amrwb.c
@@ -1,4 +1,4 @@
-// SPDX-License-Identifier: GPL-2.0
+// SPDX-License-Identifier: GPL-2.0-only
/* amrwb audio output device
*
* Copyright (C) 2008 Google, Inc.
diff --git a/dsp/codecs/audio_amrwbplus.c b/dsp/codecs/audio_amrwbplus.c
index 95ada70..d06b054 100644
--- a/dsp/codecs/audio_amrwbplus.c
+++ b/dsp/codecs/audio_amrwbplus.c
@@ -1,4 +1,4 @@
-// SPDX-License-Identifier: GPL-2.0
+// SPDX-License-Identifier: GPL-2.0-only
/* amr-wbplus audio output device
*
* Copyright (C) 2008 Google, Inc.
diff --git a/dsp/codecs/audio_ape.c b/dsp/codecs/audio_ape.c
index 8d61791..219df40 100644
--- a/dsp/codecs/audio_ape.c
+++ b/dsp/codecs/audio_ape.c
@@ -1,4 +1,4 @@
-// SPDX-License-Identifier: GPL-2.0
+// SPDX-License-Identifier: GPL-2.0-only
/* Copyright (c) 2015-2018, The Linux Foundation. All rights reserved.
*/
diff --git a/dsp/codecs/audio_evrc.c b/dsp/codecs/audio_evrc.c
index 2376eb3..c3bf9b8 100644
--- a/dsp/codecs/audio_evrc.c
+++ b/dsp/codecs/audio_evrc.c
@@ -1,4 +1,4 @@
-// SPDX-License-Identifier: GPL-2.0
+// SPDX-License-Identifier: GPL-2.0-only
/* evrc audio output device
*
* Copyright (C) 2008 Google, Inc.
diff --git a/dsp/codecs/audio_g711alaw.c b/dsp/codecs/audio_g711alaw.c
index 509fba2..3dac27d 100644
--- a/dsp/codecs/audio_g711alaw.c
+++ b/dsp/codecs/audio_g711alaw.c
@@ -1,4 +1,4 @@
-// SPDX-License-Identifier: GPL-2.0
+// SPDX-License-Identifier: GPL-2.0-only
/* Copyright (c) 2016-2017, The Linux Foundation. All rights reserved.
*/
diff --git a/dsp/codecs/audio_g711mlaw.c b/dsp/codecs/audio_g711mlaw.c
index d01e336..c0102d0 100644
--- a/dsp/codecs/audio_g711mlaw.c
+++ b/dsp/codecs/audio_g711mlaw.c
@@ -1,4 +1,4 @@
-// SPDX-License-Identifier: GPL-2.0
+// SPDX-License-Identifier: GPL-2.0-only
/* Copyright (c) 2016-2017, The Linux Foundation. All rights reserved.
*/
diff --git a/dsp/codecs/audio_hwacc_effects.c b/dsp/codecs/audio_hwacc_effects.c
index d90c424..d0717d7 100644
--- a/dsp/codecs/audio_hwacc_effects.c
+++ b/dsp/codecs/audio_hwacc_effects.c
@@ -1,4 +1,4 @@
-// SPDX-License-Identifier: GPL-2.0
+// SPDX-License-Identifier: GPL-2.0-only
/*
* Copyright (c) 2014-2017, The Linux Foundation. All rights reserved.
*/
diff --git a/dsp/codecs/audio_mp3.c b/dsp/codecs/audio_mp3.c
index d676609..47446d3 100644
--- a/dsp/codecs/audio_mp3.c
+++ b/dsp/codecs/audio_mp3.c
@@ -1,4 +1,4 @@
-// SPDX-License-Identifier: GPL-2.0
+// SPDX-License-Identifier: GPL-2.0-only
/* mp3 audio output device
*
* Copyright (C) 2008 Google, Inc.
diff --git a/dsp/codecs/audio_multi_aac.c b/dsp/codecs/audio_multi_aac.c
index 38b2090..fc3f492 100644
--- a/dsp/codecs/audio_multi_aac.c
+++ b/dsp/codecs/audio_multi_aac.c
@@ -1,4 +1,4 @@
-// SPDX-License-Identifier: GPL-2.0
+// SPDX-License-Identifier: GPL-2.0-only
/* aac audio output device
*
* Copyright (C) 2008 Google, Inc.
diff --git a/dsp/codecs/audio_native.c b/dsp/codecs/audio_native.c
index e5a038f..9337029 100644
--- a/dsp/codecs/audio_native.c
+++ b/dsp/codecs/audio_native.c
@@ -1,4 +1,4 @@
-// SPDX-License-Identifier: GPL-2.0
+// SPDX-License-Identifier: GPL-2.0-only
/*
* Copyright (c) 2017, The Linux Foundation. All rights reserved.
*/
diff --git a/dsp/codecs/audio_qcelp.c b/dsp/codecs/audio_qcelp.c
index cd1c9e3..fcf39f5 100644
--- a/dsp/codecs/audio_qcelp.c
+++ b/dsp/codecs/audio_qcelp.c
@@ -1,4 +1,4 @@
-// SPDX-License-Identifier: GPL-2.0
+// SPDX-License-Identifier: GPL-2.0-only
/* qcelp(v13k) audio output device
*
* Copyright (C) 2008 Google, Inc.
diff --git a/dsp/codecs/audio_utils.c b/dsp/codecs/audio_utils.c
index 7b3af38..1c44fcc 100644
--- a/dsp/codecs/audio_utils.c
+++ b/dsp/codecs/audio_utils.c
@@ -1,4 +1,4 @@
-// SPDX-License-Identifier: GPL-2.0
+// SPDX-License-Identifier: GPL-2.0-only
/* Copyright (c) 2010-2018, The Linux Foundation. All rights reserved.
*/
diff --git a/dsp/codecs/audio_utils.h b/dsp/codecs/audio_utils.h
index 600aee7..5116a46 100644
--- a/dsp/codecs/audio_utils.h
+++ b/dsp/codecs/audio_utils.h
@@ -1,4 +1,4 @@
-/* SPDX-License-Identifier: GPL-2.0 */
+/* SPDX-License-Identifier: GPL-2.0-only */
/* Copyright (c) 2010-2015, 2017 The Linux Foundation. All rights reserved.
*/
#include <linux/msm_audio.h>
diff --git a/dsp/codecs/audio_utils_aio.c b/dsp/codecs/audio_utils_aio.c
index bd3ec88..eabf170 100644
--- a/dsp/codecs/audio_utils_aio.c
+++ b/dsp/codecs/audio_utils_aio.c
@@ -1,4 +1,4 @@
-// SPDX-License-Identifier: GPL-2.0
+// SPDX-License-Identifier: GPL-2.0-only
/* Copyright (C) 2008 Google, Inc.
* Copyright (C) 2008 HTC Corporation
* Copyright (c) 2009-2018, The Linux Foundation. All rights reserved.
diff --git a/dsp/codecs/audio_utils_aio.h b/dsp/codecs/audio_utils_aio.h
index 5d7f888..a50e1ef 100644
--- a/dsp/codecs/audio_utils_aio.h
+++ b/dsp/codecs/audio_utils_aio.h
@@ -1,4 +1,4 @@
-/* SPDX-License-Identifier: GPL-2.0 */
+/* SPDX-License-Identifier: GPL-2.0-only */
/* Copyright (C) 2008 Google, Inc.
* Copyright (C) 2008 HTC Corporation
* Copyright (c) 2009-2018, The Linux Foundation. All rights reserved.
diff --git a/dsp/codecs/audio_wma.c b/dsp/codecs/audio_wma.c
index 1c6bfcb..cdd23ff 100644
--- a/dsp/codecs/audio_wma.c
+++ b/dsp/codecs/audio_wma.c
@@ -1,4 +1,4 @@
-// SPDX-License-Identifier: GPL-2.0
+// SPDX-License-Identifier: GPL-2.0-only
/* wma audio output device
*
* Copyright (C) 2008 Google, Inc.
diff --git a/dsp/codecs/audio_wmapro.c b/dsp/codecs/audio_wmapro.c
index 6295c7f..c0a2757 100644
--- a/dsp/codecs/audio_wmapro.c
+++ b/dsp/codecs/audio_wmapro.c
@@ -1,4 +1,4 @@
-// SPDX-License-Identifier: GPL-2.0
+// SPDX-License-Identifier: GPL-2.0-only
/* wmapro audio output device
*
* Copyright (C) 2008 Google, Inc.
diff --git a/dsp/codecs/evrc_in.c b/dsp/codecs/evrc_in.c
index 1cf4eae..dae6fc8 100644
--- a/dsp/codecs/evrc_in.c
+++ b/dsp/codecs/evrc_in.c
@@ -1,4 +1,4 @@
-// SPDX-License-Identifier: GPL-2.0
+// SPDX-License-Identifier: GPL-2.0-only
/* Copyright (c) 2010-2017, The Linux Foundation. All rights reserved.
*/
diff --git a/dsp/codecs/g711alaw_in.c b/dsp/codecs/g711alaw_in.c
index 18bf817..013007e 100644
--- a/dsp/codecs/g711alaw_in.c
+++ b/dsp/codecs/g711alaw_in.c
@@ -1,4 +1,4 @@
-// SPDX-License-Identifier: GPL-2.0
+// SPDX-License-Identifier: GPL-2.0-only
/* Copyright (c) 2010-2017, The Linux Foundation. All rights reserved.
*/
diff --git a/dsp/codecs/g711mlaw_in.c b/dsp/codecs/g711mlaw_in.c
index cbe1898..3d31754 100644
--- a/dsp/codecs/g711mlaw_in.c
+++ b/dsp/codecs/g711mlaw_in.c
@@ -1,4 +1,4 @@
-// SPDX-License-Identifier: GPL-2.0
+// SPDX-License-Identifier: GPL-2.0-only
/* Copyright (c) 2010-2017, The Linux Foundation. All rights reserved.
*/
diff --git a/dsp/codecs/q6audio_common.h b/dsp/codecs/q6audio_common.h
index bcbcb49..c37813e 100644
--- a/dsp/codecs/q6audio_common.h
+++ b/dsp/codecs/q6audio_common.h
@@ -1,4 +1,4 @@
-/* SPDX-License-Identifier: GPL-2.0 */
+/* SPDX-License-Identifier: GPL-2.0-only */
/* Copyright (c) 2012-2014, 2017 The Linux Foundation. All rights reserved.
*/
diff --git a/dsp/codecs/q6audio_v2.c b/dsp/codecs/q6audio_v2.c
index bc5cacf..c98ef1c 100644
--- a/dsp/codecs/q6audio_v2.c
+++ b/dsp/codecs/q6audio_v2.c
@@ -1,4 +1,4 @@
-// SPDX-License-Identifier: GPL-2.0
+// SPDX-License-Identifier: GPL-2.0-only
/*
* Copyright (c) 2012-2013, 2015-2017, The Linux Foundation. All rights reserved.
*/
diff --git a/dsp/codecs/q6audio_v2_aio.c b/dsp/codecs/q6audio_v2_aio.c
index 25d1d03..4cb4636 100644
--- a/dsp/codecs/q6audio_v2_aio.c
+++ b/dsp/codecs/q6audio_v2_aio.c
@@ -1,4 +1,4 @@
-// SPDX-License-Identifier: GPL-2.0
+// SPDX-License-Identifier: GPL-2.0-only
/* Copyright (c) 2012-2018, The Linux Foundation. All rights reserved.
*/
diff --git a/dsp/codecs/qcelp_in.c b/dsp/codecs/qcelp_in.c
index 72465a8..806f8b2 100644
--- a/dsp/codecs/qcelp_in.c
+++ b/dsp/codecs/qcelp_in.c
@@ -1,4 +1,4 @@
-// SPDX-License-Identifier: GPL-2.0
+// SPDX-License-Identifier: GPL-2.0-only
/* Copyright (c) 2010-2017, The Linux Foundation. All rights reserved.
*/
diff --git a/include/asoc/wcd-irq.h b/include/asoc/wcd-irq.h
index 7ae15dc..1388cfc 100644
--- a/include/asoc/wcd-irq.h
+++ b/include/asoc/wcd-irq.h
@@ -1,4 +1,4 @@
-/* SPDX-License-Identifier: GPL-2.0 */
+/* SPDX-License-Identifier: GPL-2.0-only */
/*
* Copyright (c) 2018, The Linux Foundation. All rights reserved.
*/
diff --git a/include/asoc/wcd934x_registers.h b/include/asoc/wcd934x_registers.h
index 785b906..e529f64 100644
--- a/include/asoc/wcd934x_registers.h
+++ b/include/asoc/wcd934x_registers.h
@@ -1,4 +1,4 @@
-/* SPDX-License-Identifier: GPL-2.0 */
+/* SPDX-License-Identifier: GPL-2.0-only */
/*
* Copyright (c) 2016, The Linux Foundation. All rights reserved.
*/
diff --git a/include/asoc/wcd9xxx_registers.h b/include/asoc/wcd9xxx_registers.h
index 5d270cd..cf3c408 100644
--- a/include/asoc/wcd9xxx_registers.h
+++ b/include/asoc/wcd9xxx_registers.h
@@ -1,4 +1,4 @@
-/* SPDX-License-Identifier: GPL-2.0 */
+/* SPDX-License-Identifier: GPL-2.0-only */
/*
* Copyright (c) 2018, The Linux Foundation. All rights reserved.
*/
diff --git a/include/dsp/apr_audio-v2.h b/include/dsp/apr_audio-v2.h
index d8e6d34..6193209 100644
--- a/include/dsp/apr_audio-v2.h
+++ b/include/dsp/apr_audio-v2.h
@@ -1,4 +1,4 @@
-/* SPDX-License-Identifier: GPL-2.0 */
+/* SPDX-License-Identifier: GPL-2.0-only */
/*
* Copyright (c) 2012-2018, The Linux Foundation. All rights reserved.
*/
diff --git a/include/dsp/audio_cal_utils.h b/include/dsp/audio_cal_utils.h
index c3772b0..0607815 100644
--- a/include/dsp/audio_cal_utils.h
+++ b/include/dsp/audio_cal_utils.h
@@ -1,4 +1,4 @@
-/* SPDX-License-Identifier: GPL-2.0 */
+/* SPDX-License-Identifier: GPL-2.0-only */
/*
* Copyright (c) 2014, 2018, The Linux Foundation. All rights reserved.
*/
diff --git a/include/dsp/audio_calibration.h b/include/dsp/audio_calibration.h
index d414d8f..a68c768 100644
--- a/include/dsp/audio_calibration.h
+++ b/include/dsp/audio_calibration.h
@@ -1,4 +1,4 @@
-/* SPDX-License-Identifier: GPL-2.0 */
+/* SPDX-License-Identifier: GPL-2.0-only */
/*
* Copyright (c) 2014, 2017, The Linux Foundation. All rights reserved.
*/
diff --git a/include/dsp/audio_notifier.h b/include/dsp/audio_notifier.h
index 2b73826..bc1a286 100644
--- a/include/dsp/audio_notifier.h
+++ b/include/dsp/audio_notifier.h
@@ -1,4 +1,4 @@
-/* SPDX-License-Identifier: GPL-2.0 */
+/* SPDX-License-Identifier: GPL-2.0-only */
/*
* Copyright (c) 2016, 2018, The Linux Foundation. All rights reserved.
*/
diff --git a/include/dsp/msm-audio-effects-q6-v2.h b/include/dsp/msm-audio-effects-q6-v2.h
index da7ec8b..b1fad6d 100644
--- a/include/dsp/msm-audio-effects-q6-v2.h
+++ b/include/dsp/msm-audio-effects-q6-v2.h
@@ -1,4 +1,4 @@
-/* SPDX-License-Identifier: GPL-2.0 */
+/* SPDX-License-Identifier: GPL-2.0-only */
/*
* Copyright (c) 2013-2016, The Linux Foundation. All rights reserved.
*/
diff --git a/include/dsp/msm-audio-event-notify.h b/include/dsp/msm-audio-event-notify.h
index 49c00b7..c730d31 100644
--- a/include/dsp/msm-audio-event-notify.h
+++ b/include/dsp/msm-audio-event-notify.h
@@ -1,4 +1,4 @@
-/* SPDX-License-Identifier: GPL-2.0 */
+/* SPDX-License-Identifier: GPL-2.0-only */
/*
* Copyright (c) 2018, The Linux Foundation. All rights reserved.
*/
diff --git a/include/dsp/msm-dts-srs-tm-config.h b/include/dsp/msm-dts-srs-tm-config.h
index 36d25be..03753ab 100644
--- a/include/dsp/msm-dts-srs-tm-config.h
+++ b/include/dsp/msm-dts-srs-tm-config.h
@@ -1,4 +1,4 @@
-/* SPDX-License-Identifier: GPL-2.0 */
+/* SPDX-License-Identifier: GPL-2.0-only */
/*
* Copyright (c) 2012-2014, 2017-2018, The Linux Foundation. All rights reserved.
*/
diff --git a/include/dsp/msm_audio_ion.h b/include/dsp/msm_audio_ion.h
index 5120383..09d590b 100644
--- a/include/dsp/msm_audio_ion.h
+++ b/include/dsp/msm_audio_ion.h
@@ -1,4 +1,4 @@
-/* SPDX-License-Identifier: GPL-2.0 */
+/* SPDX-License-Identifier: GPL-2.0-only */
/*
* Copyright (c) 2013-2015, 2017-2018, The Linux Foundation. All rights reserved.
*/
diff --git a/include/dsp/msm_mdf.h b/include/dsp/msm_mdf.h
index efd6fc5..6f143db 100644
--- a/include/dsp/msm_mdf.h
+++ b/include/dsp/msm_mdf.h
@@ -1,4 +1,4 @@
-/* SPDX-License-Identifier: GPL-2.0 */
+/* SPDX-License-Identifier: GPL-2.0-only */
/*
* Copyright (c) 2018, The Linux Foundation. All rights reserved.
*/
diff --git a/include/dsp/q6adm-v2.h b/include/dsp/q6adm-v2.h
index 404f84c..95fbb0d 100644
--- a/include/dsp/q6adm-v2.h
+++ b/include/dsp/q6adm-v2.h
@@ -1,4 +1,4 @@
-/* SPDX-License-Identifier: GPL-2.0 */
+/* SPDX-License-Identifier: GPL-2.0-only */
/*
* Copyright (c) 2012-2018, The Linux Foundation. All rights reserved.
*/
diff --git a/include/dsp/q6afe-v2.h b/include/dsp/q6afe-v2.h
index 423a169..ec2a436 100644
--- a/include/dsp/q6afe-v2.h
+++ b/include/dsp/q6afe-v2.h
@@ -1,4 +1,4 @@
-/* SPDX-License-Identifier: GPL-2.0 */
+/* SPDX-License-Identifier: GPL-2.0-only */
/*
* Copyright (c) 2012-2018, The Linux Foundation. All rights reserved.
*/
diff --git a/include/dsp/q6asm-v2.h b/include/dsp/q6asm-v2.h
index df2c0d7..4851a81 100644
--- a/include/dsp/q6asm-v2.h
+++ b/include/dsp/q6asm-v2.h
@@ -1,4 +1,4 @@
-/* SPDX-License-Identifier: GPL-2.0 */
+/* SPDX-License-Identifier: GPL-2.0-only */
/*
* Copyright (c) 2012-2018, The Linux Foundation. All rights reserved.
*/
diff --git a/include/dsp/q6audio-v2.h b/include/dsp/q6audio-v2.h
index 4c9daeb..079d0b1 100644
--- a/include/dsp/q6audio-v2.h
+++ b/include/dsp/q6audio-v2.h
@@ -1,4 +1,4 @@
-/* SPDX-License-Identifier: GPL-2.0 */
+/* SPDX-License-Identifier: GPL-2.0-only */
/*
* Copyright (c) 2012-2013, 2015, The Linux Foundation. All rights reserved.
*/
diff --git a/include/dsp/q6common.h b/include/dsp/q6common.h
index 0d270bd..c21ac5c 100644
--- a/include/dsp/q6common.h
+++ b/include/dsp/q6common.h
@@ -1,4 +1,4 @@
-/* SPDX-License-Identifier: GPL-2.0 */
+/* SPDX-License-Identifier: GPL-2.0-only */
/*
* Copyright (c) 2017-2018, The Linux Foundation. All rights reserved.
*/
diff --git a/include/dsp/q6core.h b/include/dsp/q6core.h
index 5e008e1..61bede7 100644
--- a/include/dsp/q6core.h
+++ b/include/dsp/q6core.h
@@ -1,4 +1,4 @@
-/* SPDX-License-Identifier: GPL-2.0 */
+/* SPDX-License-Identifier: GPL-2.0-only */
/*
* Copyright (c) 2012-2018, The Linux Foundation. All rights reserved.
*/
diff --git a/include/dsp/q6lsm.h b/include/dsp/q6lsm.h
index c6a0d60..758bba0 100644
--- a/include/dsp/q6lsm.h
+++ b/include/dsp/q6lsm.h
@@ -1,4 +1,4 @@
-/* SPDX-License-Identifier: GPL-2.0 */
+/* SPDX-License-Identifier: GPL-2.0-only */
/*
* Copyright (c) 2013-2018, The Linux Foundation. All rights reserved.
*/
diff --git a/include/dsp/q6voice.h b/include/dsp/q6voice.h
index a674384..1e62124 100644
--- a/include/dsp/q6voice.h
+++ b/include/dsp/q6voice.h
@@ -1,4 +1,4 @@
-/* SPDX-License-Identifier: GPL-2.0 */
+/* SPDX-License-Identifier: GPL-2.0-only */
/*
* Copyright (c) 2012-2018, The Linux Foundation. All rights reserved.
*/
diff --git a/include/dsp/rtac.h b/include/dsp/rtac.h
index 7a1fed5..1b4541c 100644
--- a/include/dsp/rtac.h
+++ b/include/dsp/rtac.h
@@ -1,4 +1,4 @@
-/* SPDX-License-Identifier: GPL-2.0 */
+/* SPDX-License-Identifier: GPL-2.0-only */
/*
* Copyright (c) 2011, 2013-2015, 2017-2018, The Linux Foundation. All rights reserved.
*/
diff --git a/include/ipc/apr.h b/include/ipc/apr.h
index 4e29b02..79d87dc 100644
--- a/include/ipc/apr.h
+++ b/include/ipc/apr.h
@@ -1,4 +1,4 @@
-/* SPDX-License-Identifier: GPL-2.0 */
+/* SPDX-License-Identifier: GPL-2.0-only */
/*
* Copyright (c) 2010-2017, The Linux Foundation. All rights reserved.
*/
diff --git a/include/ipc/apr_tal.h b/include/ipc/apr_tal.h
index 9e412e5..6a4fbdf 100644
--- a/include/ipc/apr_tal.h
+++ b/include/ipc/apr_tal.h
@@ -1,4 +1,4 @@
-/* SPDX-License-Identifier: GPL-2.0 */
+/* SPDX-License-Identifier: GPL-2.0-only */
/*
* Copyright (c) 2010-2011, 2016-2018 The Linux Foundation. All rights reserved.
*/
diff --git a/include/ipc/apr_us.h b/include/ipc/apr_us.h
index ea9a275..27075ef 100644
--- a/include/ipc/apr_us.h
+++ b/include/ipc/apr_us.h
@@ -1,4 +1,4 @@
-/* SPDX-License-Identifier: GPL-2.0 */
+/* SPDX-License-Identifier: GPL-2.0-only */
/*
* Copyright (c) 2011-2014, The Linux Foundation. All rights reserved.
*/
diff --git a/include/soc/snd_event.h b/include/soc/snd_event.h
index 8359411..ec92a68 100644
--- a/include/soc/snd_event.h
+++ b/include/soc/snd_event.h
@@ -1,4 +1,4 @@
-/* SPDX-License-Identifier: GPL-2.0 */
+/* SPDX-License-Identifier: GPL-2.0-only */
/*
* Copyright (c) 2018, The Linux Foundation. All rights reserved.
*/
diff --git a/include/soc/soundwire.h b/include/soc/soundwire.h
index daacb7a..bfd77c3 100644
--- a/include/soc/soundwire.h
+++ b/include/soc/soundwire.h
@@ -1,4 +1,4 @@
-/* SPDX-License-Identifier: GPL-2.0 */
+/* SPDX-License-Identifier: GPL-2.0-only */
/*
* Copyright (c) 2015-2018, The Linux Foundation. All rights reserved.
*/
diff --git a/include/soc/swr-wcd.h b/include/soc/swr-wcd.h
index 93c5ffd..0f17625 100644
--- a/include/soc/swr-wcd.h
+++ b/include/soc/swr-wcd.h
@@ -1,4 +1,4 @@
-/* SPDX-License-Identifier: GPL-2.0 */
+/* SPDX-License-Identifier: GPL-2.0-only */
/*
* Copyright (c) 2015, 2017-2018 The Linux Foundation. All rights reserved.
*/
diff --git a/include/uapi/linux/msm_audio.h b/include/uapi/linux/msm_audio.h
index 171d5b3..21ded04 100644
--- a/include/uapi/linux/msm_audio.h
+++ b/include/uapi/linux/msm_audio.h
@@ -1,4 +1,4 @@
-/* SPDX-License-Identifier: GPL-2.0 */
+/* SPDX-License-Identifier: GPL-2.0-only */
/*
*
* Copyright (C) 2008 Google, Inc.
diff --git a/ipc/apr.c b/ipc/apr.c
index 573d52d..d3ee38e 100644
--- a/ipc/apr.c
+++ b/ipc/apr.c
@@ -1,4 +1,4 @@
-// SPDX-License-Identifier: GPL-2.0
+// SPDX-License-Identifier: GPL-2.0-only
/*
* Copyright (c) 2010-2014, 2016-2018 The Linux Foundation. All rights reserved.
*/
diff --git a/ipc/apr_tal_rpmsg.c b/ipc/apr_tal_rpmsg.c
index a4175b4..723de56 100644
--- a/ipc/apr_tal_rpmsg.c
+++ b/ipc/apr_tal_rpmsg.c
@@ -1,4 +1,4 @@
-// SPDX-License-Identifier: GPL-2.0
+// SPDX-License-Identifier: GPL-2.0-only
/*
* Copyright (c) 2017-2018 The Linux Foundation. All rights reserved.
*/
diff --git a/ipc/apr_v2.c b/ipc/apr_v2.c
index f74218e..d748a5e 100644
--- a/ipc/apr_v2.c
+++ b/ipc/apr_v2.c
@@ -1,4 +1,4 @@
-// SPDX-License-Identifier: GPL-2.0
+// SPDX-License-Identifier: GPL-2.0-only
/*
* Copyright (c) 2012-2017, The Linux Foundation. All rights reserved.
*/
diff --git a/ipc/apr_v3.c b/ipc/apr_v3.c
index a2df4d8..7bf4774 100644
--- a/ipc/apr_v3.c
+++ b/ipc/apr_v3.c
@@ -1,4 +1,4 @@
-// SPDX-License-Identifier: GPL-2.0
+// SPDX-License-Identifier: GPL-2.0-only
/*
* Copyright (c) 2013-2016, The Linux Foundation. All rights reserved.
*/
diff --git a/ipc/wcd-dsp-glink.c b/ipc/wcd-dsp-glink.c
index 455a348..8cfcba9 100644
--- a/ipc/wcd-dsp-glink.c
+++ b/ipc/wcd-dsp-glink.c
@@ -1,4 +1,4 @@
-// SPDX-License-Identifier: GPL-2.0
+// SPDX-License-Identifier: GPL-2.0-only
/*
* Copyright (c) 2016-2018, The Linux Foundation. All rights reserved.
*/
diff --git a/soc/pinctrl-lpi.c b/soc/pinctrl-lpi.c
index 91a0bce..4212816 100644
--- a/soc/pinctrl-lpi.c
+++ b/soc/pinctrl-lpi.c
@@ -1,4 +1,4 @@
-// SPDX-License-Identifier: GPL-2.0
+// SPDX-License-Identifier: GPL-2.0-only
/*
* Copyright (c) 2016-2018, The Linux Foundation. All rights reserved.
*/
diff --git a/soc/pinctrl-wcd.c b/soc/pinctrl-wcd.c
index 8dc97bd..d02fdc0 100644
--- a/soc/pinctrl-wcd.c
+++ b/soc/pinctrl-wcd.c
@@ -1,4 +1,4 @@
-// SPDX-License-Identifier: GPL-2.0
+// SPDX-License-Identifier: GPL-2.0-only
/*
* Copyright (c) 2016-2017, The Linux Foundation. All rights reserved.
*/
diff --git a/soc/regmap-swr.c b/soc/regmap-swr.c
index 7f00aab..4d8fbb8 100644
--- a/soc/regmap-swr.c
+++ b/soc/regmap-swr.c
@@ -1,4 +1,4 @@
-// SPDX-License-Identifier: GPL-2.0
+// SPDX-License-Identifier: GPL-2.0-only
/*
* Copyright (c) 2015-2017, The Linux Foundation. All rights reserved.
*/
diff --git a/soc/snd_event.c b/soc/snd_event.c
index f8bffb8..ace76b2 100644
--- a/soc/snd_event.c
+++ b/soc/snd_event.c
@@ -1,4 +1,4 @@
-// SPDX-License-Identifier: GPL-2.0
+// SPDX-License-Identifier: GPL-2.0-only
/*
* Copyright (c) 2018, The Linux Foundation. All rights reserved.
*/
diff --git a/soc/soundwire.c b/soc/soundwire.c
index bd91caf..ef51e16 100644
--- a/soc/soundwire.c
+++ b/soc/soundwire.c
@@ -1,4 +1,4 @@
-// SPDX-License-Identifier: GPL-2.0
+// SPDX-License-Identifier: GPL-2.0-only
/*
* Copyright (c) 2015-2018, The Linux Foundation. All rights reserved.
*/
diff --git a/soc/swr-mstr-ctrl.c b/soc/swr-mstr-ctrl.c
index 7fa0737..b6a459e 100644
--- a/soc/swr-mstr-ctrl.c
+++ b/soc/swr-mstr-ctrl.c
@@ -1,4 +1,4 @@
-// SPDX-License-Identifier: GPL-2.0
+// SPDX-License-Identifier: GPL-2.0-only
/*
* Copyright (c) 2015-2018, The Linux Foundation. All rights reserved.
*/
diff --git a/soc/swr-mstr-ctrl.h b/soc/swr-mstr-ctrl.h
index 085a065..13b85f4 100644
--- a/soc/swr-mstr-ctrl.h
+++ b/soc/swr-mstr-ctrl.h
@@ -1,4 +1,4 @@
-/* SPDX-License-Identifier: GPL-2.0 */
+/* SPDX-License-Identifier: GPL-2.0-only */
/*
* Copyright (c) 2015-2018, The Linux Foundation. All rights reserved.
*/
diff --git a/soc/swr-wcd-ctrl.c b/soc/swr-wcd-ctrl.c
index ed410fd..4a41bd7 100644
--- a/soc/swr-wcd-ctrl.c
+++ b/soc/swr-wcd-ctrl.c
@@ -1,4 +1,4 @@
-// SPDX-License-Identifier: GPL-2.0
+// SPDX-License-Identifier: GPL-2.0-only
/* Copyright (c) 2015-2018, The Linux Foundation. All rights reserved.
*/
diff --git a/soc/swr-wcd-ctrl.h b/soc/swr-wcd-ctrl.h
index 23b4434..20baa5a 100644
--- a/soc/swr-wcd-ctrl.h
+++ b/soc/swr-wcd-ctrl.h
@@ -1,4 +1,4 @@
-/* SPDX-License-Identifier: GPL-2.0 */
+/* SPDX-License-Identifier: GPL-2.0-only */
/*
* Copyright (c) 2015-2018, The Linux Foundation. All rights reserved.
*/
diff --git a/soc/swrm_port_config.h b/soc/swrm_port_config.h
index 8c29032..5c6870b 100644
--- a/soc/swrm_port_config.h
+++ b/soc/swrm_port_config.h
@@ -1,4 +1,4 @@
-/* SPDX-License-Identifier: GPL-2.0 */
+/* SPDX-License-Identifier: GPL-2.0-only */
/*
* Copyright (c) 2018 The Linux Foundation. All rights reserved.
*/
diff --git a/soc/swrm_registers.h b/soc/swrm_registers.h
index c8ec2a3..c53d37b 100644
--- a/soc/swrm_registers.h
+++ b/soc/swrm_registers.h
@@ -1,4 +1,4 @@
-/* SPDX-License-Identifier: GPL-2.0 */
+/* SPDX-License-Identifier: GPL-2.0-only */
/*
* Copyright (c) 2015, 2018 The Linux Foundation. All rights reserved.
*/