On Mon, Oct 18, 2021 at 5:33 PM Hans de Goede <hdegoede@xxxxxxxxxx> 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. > Suggested-by: Andy Shevchenko <andy.shevchenko@xxxxxxxxx> > Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx> > --- > 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. > + * > + * 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