diff mbox series

[v1,1/4] x86/cpu: Introduce INTEL_CPU_FAM*_NODATA() helper macros

Message ID 20180831091018.17543-1-andriy.shevchenko@linux.intel.com (mailing list archive)
State Not Applicable, archived
Headers show
Series [v1,1/4] x86/cpu: Introduce INTEL_CPU_FAM*_NODATA() helper macros | expand

Commit Message

Andy Shevchenko Aug. 31, 2018, 9:10 a.m. UTC
These macros are often used by drivers and we have already a lot of
duplication as ICPU() macro across the drivers.

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(-)

Comments

Andi Kleen Aug. 31, 2018, 3:41 p.m. UTC | #1
Andy Shevchenko <andriy.shevchenko@linux.intel.com> writes:
> +
> +#define INTEL_CPU_FAM_ANY_NODATA(_family, _model)		\
> +	INTEL_CPU_FAM_ANY(_family, _model, NULL)
> +
> +#define INTEL_CPU_FAM6_NODATA(_model)				\
> +	INTEL_CPU_FAM_ANY_NODATA(6, INTEL_FAM6_##_model)

_NODATA is actually longer than passing NULL ?

Seems unnecessary

-Andi
Andy Shevchenko Aug. 31, 2018, 3:51 p.m. UTC | #2
On Fri, Aug 31, 2018 at 08:41:28AM -0700, Andi Kleen wrote:
> Andy Shevchenko <andriy.shevchenko@linux.intel.com> writes:
> > +
> > +#define INTEL_CPU_FAM_ANY_NODATA(_family, _model)		\
> > +	INTEL_CPU_FAM_ANY(_family, _model, NULL)
> > +
> > +#define INTEL_CPU_FAM6_NODATA(_model)				\
> > +	INTEL_CPU_FAM_ANY_NODATA(6, INTEL_FAM6_##_model)

> _NODATA is actually longer than passing NULL ?

One character longer (you have to compare to ", NULL").

> Seems unnecessary

Let's gather other's opinions.

P.S. In any case some refactoring is needed to allow NULL in parameters (move &
out from base macro).
diff mbox series

Patch

diff --git a/arch/x86/include/asm/intel-family.h b/arch/x86/include/asm/intel-family.h
index 7ed08a7c3398..093014aceb65 100644
--- a/arch/x86/include/asm/intel-family.h
+++ b/arch/x86/include/asm/intel-family.h
@@ -83,10 +83,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, NULL)
+
+#define INTEL_CPU_FAM6_NODATA(_model)				\
+	INTEL_CPU_FAM_ANY_NODATA(6, INTEL_FAM6_##_model)
 
 #endif /* _ASM_X86_INTEL_FAMILY_H */