Patchwork [v2,1/3] x86/cpu: Introduce INTEL_CPU_FAM*_NODATA() helper macros

login
register
mail settings
Submitter Andy Shevchenko
Date Jan. 9, 2019, 4:57 p.m.
Message ID <20190109165754.90072-1-andriy.shevchenko@linux.intel.com>
Download mbox | patch
Permalink /patch/696051/
State New
Headers show

Comments

Andy Shevchenko - Jan. 9, 2019, 4:57 p.m.
These macros are often used by the drivers and we have already a lot of
duplication as ICPU() macro across them.

Provide a generic x86 macro for users.

This adds no driver data variants.

Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
---
 arch/x86/include/asm/intel-family.h | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)
Rafael J. Wysocki - Jan. 11, 2019, 10:35 a.m.
On Wed, Jan 9, 2019 at 5:57 PM Andy Shevchenko
<andriy.shevchenko@linux.intel.com> wrote:
>
> These macros are often used by the drivers and we have already a lot of
> duplication as ICPU() macro across them.
>
> Provide a generic x86 macro for users.
>
> This adds no driver data variants.
>
> Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>

If you want me to apply the series, I need an ACK for this one.

Alternatively, if you want to apply it yourself, please feel free to
add ACKs from me to the ACPI-related patches in it.

> ---
>  arch/x86/include/asm/intel-family.h | 10 ++++++++--
>  1 file changed, 8 insertions(+), 2 deletions(-)
>
> diff --git a/arch/x86/include/asm/intel-family.h b/arch/x86/include/asm/intel-family.h
> index 25b28760fada..afd70055a750 100644
> --- a/arch/x86/include/asm/intel-family.h
> +++ b/arch/x86/include/asm/intel-family.h
> @@ -86,10 +86,16 @@
>         .family         = _family,                              \
>         .model          = _model,                               \
>         .feature        = X86_FEATURE_ANY,                      \
> -       .driver_data    = (kernel_ulong_t)&_driver_data         \
> +       .driver_data    = (kernel_ulong_t)_driver_data          \
>  }
>
>  #define INTEL_CPU_FAM6(_model, _driver_data)                   \
> -       INTEL_CPU_FAM_ANY(6, INTEL_FAM6_##_model, _driver_data)
> +       INTEL_CPU_FAM_ANY(6, INTEL_FAM6_##_model, &_driver_data)
> +
> +#define INTEL_CPU_FAM_ANY_NODATA(_family, _model)              \
> +       INTEL_CPU_FAM_ANY(_family, _model, 0)
> +
> +#define INTEL_CPU_FAM6_NODATA(_model)                          \
> +       INTEL_CPU_FAM_ANY_NODATA(6, INTEL_FAM6_##_model)
>
>  #endif /* _ASM_X86_INTEL_FAMILY_H */
> --
> 2.20.1
>
Andy Shevchenko - Jan. 11, 2019, 1:29 p.m.
On Fri, Jan 11, 2019 at 3:14 PM Rafael J. Wysocki <rafael@kernel.org> wrote:
>
> On Wed, Jan 9, 2019 at 5:57 PM Andy Shevchenko
> <andriy.shevchenko@linux.intel.com> wrote:
> >
> > These macros are often used by the drivers and we have already a lot of
> > duplication as ICPU() macro across them.
> >
> > Provide a generic x86 macro for users.
> >
> > This adds no driver data variants.
> >
> > Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
>

> If you want me to apply the series, I need an ACK for this one.

I hope Ingo can help with this.

> Alternatively, if you want to apply it yourself, please feel free to
> add ACKs from me to the ACPI-related patches in it.

Thanks, you already gave yours at time of v1.

>
> > ---
> >  arch/x86/include/asm/intel-family.h | 10 ++++++++--
> >  1 file changed, 8 insertions(+), 2 deletions(-)
> >
> > diff --git a/arch/x86/include/asm/intel-family.h b/arch/x86/include/asm/intel-family.h
> > index 25b28760fada..afd70055a750 100644
> > --- a/arch/x86/include/asm/intel-family.h
> > +++ b/arch/x86/include/asm/intel-family.h
> > @@ -86,10 +86,16 @@
> >         .family         = _family,                              \
> >         .model          = _model,                               \
> >         .feature        = X86_FEATURE_ANY,                      \
> > -       .driver_data    = (kernel_ulong_t)&_driver_data         \
> > +       .driver_data    = (kernel_ulong_t)_driver_data          \
> >  }
> >
> >  #define INTEL_CPU_FAM6(_model, _driver_data)                   \
> > -       INTEL_CPU_FAM_ANY(6, INTEL_FAM6_##_model, _driver_data)
> > +       INTEL_CPU_FAM_ANY(6, INTEL_FAM6_##_model, &_driver_data)
> > +
> > +#define INTEL_CPU_FAM_ANY_NODATA(_family, _model)              \
> > +       INTEL_CPU_FAM_ANY(_family, _model, 0)
> > +
> > +#define INTEL_CPU_FAM6_NODATA(_model)                          \
> > +       INTEL_CPU_FAM_ANY_NODATA(6, INTEL_FAM6_##_model)
> >
> >  #endif /* _ASM_X86_INTEL_FAMILY_H */
> > --
> > 2.20.1
> >
Borislav Petkov - Jan. 14, 2019, 11:08 a.m.
On Wed, Jan 09, 2019 at 06:57:52PM +0200, Andy Shevchenko wrote:
> These macros are often used by the drivers and we have already a lot of
> duplication as ICPU() macro across them.
> 
> Provide a generic x86 macro for users.
> 
> This adds no driver data variants.
> 
> Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
> ---
>  arch/x86/include/asm/intel-family.h | 10 ++++++++--
>  1 file changed, 8 insertions(+), 2 deletions(-)
> 
> diff --git a/arch/x86/include/asm/intel-family.h b/arch/x86/include/asm/intel-family.h
> index 25b28760fada..afd70055a750 100644
> --- a/arch/x86/include/asm/intel-family.h
> +++ b/arch/x86/include/asm/intel-family.h
> @@ -86,10 +86,16 @@
>  	.family		= _family,				\
>  	.model		= _model,				\
>  	.feature	= X86_FEATURE_ANY,			\
> -	.driver_data	= (kernel_ulong_t)&_driver_data		\
> +	.driver_data	= (kernel_ulong_t)_driver_data		\
>  }
>  
>  #define INTEL_CPU_FAM6(_model, _driver_data)			\
> -	INTEL_CPU_FAM_ANY(6, INTEL_FAM6_##_model, _driver_data)
> +	INTEL_CPU_FAM_ANY(6, INTEL_FAM6_##_model, &_driver_data)
> +
> +#define INTEL_CPU_FAM_ANY_NODATA(_family, _model)		\

"ANY_NODATA" is confusing IMO, as I have no clue what that means. ICPU()
and the full model define was fine.

Patch

diff --git a/arch/x86/include/asm/intel-family.h b/arch/x86/include/asm/intel-family.h
index 25b28760fada..afd70055a750 100644
--- a/arch/x86/include/asm/intel-family.h
+++ b/arch/x86/include/asm/intel-family.h
@@ -86,10 +86,16 @@ 
 	.family		= _family,				\
 	.model		= _model,				\
 	.feature	= X86_FEATURE_ANY,			\
-	.driver_data	= (kernel_ulong_t)&_driver_data		\
+	.driver_data	= (kernel_ulong_t)_driver_data		\
 }
 
 #define INTEL_CPU_FAM6(_model, _driver_data)			\
-	INTEL_CPU_FAM_ANY(6, INTEL_FAM6_##_model, _driver_data)
+	INTEL_CPU_FAM_ANY(6, INTEL_FAM6_##_model, &_driver_data)
+
+#define INTEL_CPU_FAM_ANY_NODATA(_family, _model)		\
+	INTEL_CPU_FAM_ANY(_family, _model, 0)
+
+#define INTEL_CPU_FAM6_NODATA(_model)				\
+	INTEL_CPU_FAM_ANY_NODATA(6, INTEL_FAM6_##_model)
 
 #endif /* _ASM_X86_INTEL_FAMILY_H */