RE: [PATCH v3 50/74] x86/cpu/vfm: Update drivers/hwmon/peci/cputemp.c

From: Luck, Tony
Date: Mon Apr 22 2024 - 12:35:28 EST


> > > > > If the CPU defines and the new macro are to be kept in architecture
> > > > > code,
> > > > > maybe include arch/x86/include/asm/cpu_device_id.h from
> > > > > linux/peci.cpu.h.
> > > > > That would not be worse than today's include of intel-family.h.
> > > >
> > > > Guenter,
> > > >
> > > > Looks like I did that to resolve one of the other peci problems. Because I
> > > > already have:
> > > >
> > > > #include "../../arch/x86/include/asm/cpu_device_id.h"
> > > > #include "../../arch/x86/include/asm/intel-family.h"
> > > >
> > > > in <linux/peci_cpu.h>
> > > >
> > > > Simply deleting the include from cputemp.c builds OK in the
> > > > context of all the other changes in my patch series.
> > >
> > > Hi Tony,
> > >
> > > It won't build on non-x86, as cpu_device_id.h includes <asm/intel-family.h>.
> > > I think the simplest way to solve the issue is to provide a copy of VFM_*
> > > macros
> > > and X86_VENDOR_INTEL in include/linux/peci-cpu.h.
> > >
> >
> > I think the proper fix would really be to move the include files to a
> > generic directory, such as include/linux/x86/ or include/linux/cpu/x86/.
> > After all, they _are_ now needed in non-Intel code.
>
> Yeah, that was the initial proposal:
> https://lore.kernel.org/lkml/20210803113134.2262882-2-iwona.winiarska@xxxxxxxxx/
>
> Unfortunately, it ended up being simplified to just include arch/x86 directly.

Reading through that other thread (Iwona: thanks for the link) it seems that moving
the x86 include files out of arch/x86/include/asm has been soundly rejected.

I'm going to take Iwona's advice above and copy the VFM_* macros.

-Tony