Message ID | 20211018143324.296961-2-hdegoede@redhat.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | ASoC/pdx86/input: Introduce and use soc_intel_is_*() helpers | expand |
On Mon, Oct 18, 2021 at 5:33 PM Hans de Goede <hdegoede@redhat.com> 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@gmail.com> > Signed-off-by: Hans de Goede <hdegoede@redhat.com> > --- > 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 >
On Mon, Oct 18, 2021 at 04:33:22PM +0200, Hans de Goede wrote: > The soc_intel_is_foo() helpers from > sound/soc/intel/common/soc-intel-quirks.h are useful outside of the > sound subsystem too. Acked-by: Mark Brown <broonie@kernel.org>
Hi Mark, On 10/18/21 17:35, Mark Brown wrote: > On Mon, Oct 18, 2021 at 04:33:22PM +0200, Hans de Goede wrote: >> The soc_intel_is_foo() helpers from >> sound/soc/intel/common/soc-intel-quirks.h are useful outside of the >> sound subsystem too. > > Acked-by: Mark Brown <broonie@kernel.org> Does this mean that you are ok with me merging patch 1 + 2 through the drivers/platform/x86 tree ? Regards, Hans
On Mon, Oct 18, 2021 at 11:13:57PM +0200, Hans de Goede wrote: > Does this mean that you are ok with me merging patch 1 + 2 through > the drivers/platform/x86 tree ? Yes.
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 + * + * 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 */
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. Suggested-by: Andy Shevchenko <andy.shevchenko@gmail.com> Signed-off-by: Hans de Goede <hdegoede@redhat.com> --- 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