All of lore.kernel.org
 help / color / mirror / Atom feed
* Question about using #ifdef CONFIG_PPC64 in driver code
       [not found] <CAFCwf11-MzroWUmj4qOgwLTibqsdOmPP9cHJjXZmS0Pgr3bEOQ@mail.gmail.com>
@ 2019-10-06  9:33 ` Oded Gabbay
  2019-10-07  5:59   ` Greg Kroah-Hartman
  2019-10-07  6:48   ` Christoph Hellwig
  0 siblings, 2 replies; 3+ messages in thread
From: Oded Gabbay @ 2019-10-06  9:33 UTC (permalink / raw)
  To: Greg Kroah-Hartman, Linux-Kernel@Vger. Kernel. Org

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

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: Question about using #ifdef CONFIG_PPC64 in driver code
  2019-10-06  9:33 ` Question about using #ifdef CONFIG_PPC64 in driver code Oded Gabbay
@ 2019-10-07  5:59   ` Greg Kroah-Hartman
  2019-10-07  6:48   ` Christoph Hellwig
  1 sibling, 0 replies; 3+ messages in thread
From: Greg Kroah-Hartman @ 2019-10-07  5:59 UTC (permalink / raw)
  To: Oded Gabbay; +Cc: Linux-Kernel@Vger. Kernel. Org

On Sun, Oct 06, 2019 at 12:33:31PM +0300, Oded Gabbay wrote:
> 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

ocxl is arguably maybe an exception here, given that it is a PPC64 bus
only from what I can tell.  Odd that they are using this option, but I
think it might be just to keep CONFIG_TEST to work properly.

> Is this approach acceptable on you ?
> Can I do something similar in my driver:
> 
> #ifdef CONFIG_PPC64
>       foo (64)
> #else
>       foo (48)
> #endif

The thing is, why do you need this?  What makes that platform somehow
unique for your driver?  Focus on that and you should be able to detect
it specifically, not just the processor type (which usually is on a wide
range of hardware types.)

thanks,

greg k-h

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: Question about using #ifdef CONFIG_PPC64 in driver code
  2019-10-06  9:33 ` Question about using #ifdef CONFIG_PPC64 in driver code Oded Gabbay
  2019-10-07  5:59   ` Greg Kroah-Hartman
@ 2019-10-07  6:48   ` Christoph Hellwig
  1 sibling, 0 replies; 3+ messages in thread
From: Christoph Hellwig @ 2019-10-07  6:48 UTC (permalink / raw)
  To: Oded Gabbay; +Cc: Greg Kroah-Hartman, Linux-Kernel@Vger. Kernel. Org

On Sun, Oct 06, 2019 at 12:33:31PM +0300, Oded Gabbay wrote:
> 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 ?

This is a pretty horrible example and needs to be fixed up.

> Can I do something similar in my driver:
> 
> #ifdef CONFIG_PPC64
>       foo (64)
> #else
>       foo (48)
> #endif

No, you can't.

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2019-10-07  6:48 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
     [not found] <CAFCwf11-MzroWUmj4qOgwLTibqsdOmPP9cHJjXZmS0Pgr3bEOQ@mail.gmail.com>
2019-10-06  9:33 ` Question about using #ifdef CONFIG_PPC64 in driver code Oded Gabbay
2019-10-07  5:59   ` Greg Kroah-Hartman
2019-10-07  6:48   ` Christoph Hellwig

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.