Thread (13 messages) 13 messages, 4 authors, 2021-10-19

Re: [PATCH 1/3] ASoC: Intel: Move soc_intel_is_foo() helpers to a generic header

flat view

From: Andy Shevchenko <hidden>
Date: 2021-10-18 15:03:04
Also in: alsa-devel, platform-driver-x86

On Mon, Oct 18, 2021 at 5:33 PM Hans de Goede [off-list ref] wrote:
The soc_intel_is_foo() helpers from
sound/soc/intel/common/soc-intel-quirks.h are useful outside of the
sound subsystem too.

Move these to include/linux/platform_data/x86/soc.h, so that
other code can use them too.
A nit-pick below which may be ignored.
quoted hunk ↗ jump to hunk
Suggested-by: Andy Shevchenko <redacted>
Signed-off-by: Hans de Goede <redacted>
---
 include/linux/platform_data/x86/soc.h     | 65 +++++++++++++++++++++++
 sound/soc/intel/common/soc-intel-quirks.h | 51 ++----------------
 2 files changed, 68 insertions(+), 48 deletions(-)
 create mode 100644 include/linux/platform_data/x86/soc.h
diff --git a/include/linux/platform_data/x86/soc.h b/include/linux/platform_data/x86/soc.h
new file mode 100644
index 000000000000..8d710834e87a
--- /dev/null
+++ b/include/linux/platform_data/x86/soc.h
@@ -0,0 +1,65 @@
+/* SPDX-License-Identifier: GPL-2.0-only */
+/*
+ * soc.h - helpers for Intel SoC model detection
No need of having the filename in the file itself, it even might add a
churn in the future in case of renaming.
quoted hunk ↗ jump to hunk
+ *
+ * Copyright (c) 2019, Intel Corporation.
+ */
+
+#ifndef __PLATFORM_DATA_X86_SOC_H
+#define __PLATFORM_DATA_X86_SOC_H
+
+#if IS_ENABLED(CONFIG_X86)
+
+#include <asm/cpu_device_id.h>
+#include <asm/intel-family.h>
+
+#define SOC_INTEL_IS_CPU(soc, type)                            \
+static inline bool soc_intel_is_##soc(void)                    \
+{                                                              \
+       static const struct x86_cpu_id soc##_cpu_ids[] = {      \
+               X86_MATCH_INTEL_FAM6_MODEL(type, NULL),         \
+               {}                                              \
+       };                                                      \
+       const struct x86_cpu_id *id;                            \
+                                                               \
+       id = x86_match_cpu(soc##_cpu_ids);                      \
+       if (id)                                                 \
+               return true;                                    \
+       return false;                                           \
+}
+
+SOC_INTEL_IS_CPU(byt, ATOM_SILVERMONT);
+SOC_INTEL_IS_CPU(cht, ATOM_AIRMONT);
+SOC_INTEL_IS_CPU(apl, ATOM_GOLDMONT);
+SOC_INTEL_IS_CPU(glk, ATOM_GOLDMONT_PLUS);
+SOC_INTEL_IS_CPU(cml, KABYLAKE_L);
+
+#else /* IS_ENABLED(CONFIG_X86) */
+
+static inline bool soc_intel_is_byt(void)
+{
+       return false;
+}
+
+static inline bool soc_intel_is_cht(void)
+{
+       return false;
+}
+
+static inline bool soc_intel_is_apl(void)
+{
+       return false;
+}
+
+static inline bool soc_intel_is_glk(void)
+{
+       return false;
+}
+
+static inline bool soc_intel_is_cml(void)
+{
+       return false;
+}
+#endif /* IS_ENABLED(CONFIG_X86) */
+
+#endif /* __PLATFORM_DATA_X86_SOC_H */
diff --git a/sound/soc/intel/common/soc-intel-quirks.h b/sound/soc/intel/common/soc-intel-quirks.h
index a93987ab7f4d..de4e550c5b34 100644
--- a/sound/soc/intel/common/soc-intel-quirks.h
+++ b/sound/soc/intel/common/soc-intel-quirks.h
@@ -9,34 +9,13 @@
 #ifndef _SND_SOC_INTEL_QUIRKS_H
 #define _SND_SOC_INTEL_QUIRKS_H

+#include <linux/platform_data/x86/soc.h>
+
 #if IS_ENABLED(CONFIG_X86)

 #include <linux/dmi.h>
-#include <asm/cpu_device_id.h>
-#include <asm/intel-family.h>
 #include <asm/iosf_mbi.h>

-#define SOC_INTEL_IS_CPU(soc, type)                            \
-static inline bool soc_intel_is_##soc(void)                    \
-{                                                              \
-       static const struct x86_cpu_id soc##_cpu_ids[] = {      \
-               X86_MATCH_INTEL_FAM6_MODEL(type, NULL),         \
-               {}                                              \
-       };                                                      \
-       const struct x86_cpu_id *id;                            \
-                                                               \
-       id = x86_match_cpu(soc##_cpu_ids);                      \
-       if (id)                                                 \
-               return true;                                    \
-       return false;                                           \
-}
-
-SOC_INTEL_IS_CPU(byt, ATOM_SILVERMONT);
-SOC_INTEL_IS_CPU(cht, ATOM_AIRMONT);
-SOC_INTEL_IS_CPU(apl, ATOM_GOLDMONT);
-SOC_INTEL_IS_CPU(glk, ATOM_GOLDMONT_PLUS);
-SOC_INTEL_IS_CPU(cml, KABYLAKE_L);
-
 static inline bool soc_intel_is_byt_cr(struct platform_device *pdev)
 {
        /*
@@ -114,30 +93,6 @@ static inline bool soc_intel_is_byt_cr(struct platform_device *pdev)
        return false;
 }

-static inline bool soc_intel_is_byt(void)
-{
-       return false;
-}
-
-static inline bool soc_intel_is_cht(void)
-{
-       return false;
-}
-
-static inline bool soc_intel_is_apl(void)
-{
-       return false;
-}
-
-static inline bool soc_intel_is_glk(void)
-{
-       return false;
-}
-
-static inline bool soc_intel_is_cml(void)
-{
-       return false;
-}
 #endif

- #endif /* _SND_SOC_INTEL_QUIRKS_H */
+#endif /* _SND_SOC_INTEL_QUIRKS_H */
--
2.31.1

-- 
With Best Regards,
Andy Shevchenko
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help