Question about using #ifdef CONFIG_PPC64 in driver code

From: Oded Gabbay
Date: Sun Oct 06 2019 - 05:34:12 EST


Hi Greg,
a while ago we had an argument about identifying in my driver's code
whether I'm running on x86 or powerpc. I tried to do something
dynamically (based on parent pci bridge ID), and you and other people
objected to it.

I see in other drivers (more then a few) that they are using #ifdef
CONFIG_PPC64 in some places for similar things (e.g. to run code that
is only needed in case of powerpc).

e.g. from ocxl driver in misc:

#ifdef CONFIG_PPC64
static long afu_ioctl_enable_p9_wait(struct ocxl_context *ctx,
...
#endif
and also:

#ifdef CONFIG_PPC64
if (cpu_has_feature(CPU_FTR_P9_TIDR))
arg.flags[0] |= OCXL_IOCTL_FEATURES_FLAGS0_P9_WAIT;
#endif

Is this approach acceptable on you ?
Can I do something similar in my driver:

#ifdef CONFIG_PPC64
foo (64)
#else
foo (48)
#endif

Thanks,
Oded