[PATCH 1/3] msi vector targeting abstractions

Greg KH greg at kroah.com
Thu Jan 12 07:57:49 EST 2006


On Wed, Jan 11, 2006 at 02:49:29PM -0600, Mark Maule wrote:
> > > +static inline int msi_arch_init(void)
> > > +{
> > > +	extern struct msi_ops msi_apic_ops;
> > > +	msi_register(&msi_apic_ops);
> > > +	return 0;
> > > +}
> > 
> > Don't have an extern in a function, it belongs in a .h file somewhere
> > that describes it and everyone can see it.  Otherwise this gets stale
> > and messy over time.
> 
> In this case, I have a public .h (asm-xxx/msi.h) which needs a data structure
> decleared down in a driver-private file (drivers/pci/msi-apic.c).  Do you have
> a suggestion for where I should put the msi_apic_ops declaration?  It should
> be somewhere such that future msi ops (e.g. sn_msi_ops from patch3) would
> be treated consistently.
> 
> linux/pci.h seems like one possiblity near where the ops struct is declared,
> but that doesn't really seem right, because we'ld want to treat sn_msi_ops
> (and future msi ops) the same way.
> 
> Maybe just move the extern out of the function and up further in the
> asm-xxx/msi.h file?

Sure, or in drivers/pci/pci.h, as that is private to the pci
implementation code, right?

thanks,

greg k-h



More information about the Linuxppc64-dev mailing list