Re: [PATCH v8 01/17] spi: add basic support for SPI offloading

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Tue, Feb 11, 2025 at 01:00:08PM +0000, Mark Brown wrote:
> On Mon, Feb 10, 2025 at 10:33:31PM +0200, Andy Shevchenko wrote:
> > On Mon, Feb 10, 2025 at 05:48:00PM +0000, Mark Brown wrote:
> > > On Mon, Feb 10, 2025 at 11:11:23AM -0600, David Lechner wrote:
> 
> > > > In this case, we specifically split up the headers so that the only time you
> > > > would ever include this header is if you need to call functions in this
> > > > namespace (i.e. struct definitions are in linux/spi/offload/types.h which
> > > > doesn't import the namespace). So this doesn't actually seem like a problem
> > > > to me.
> 
> > > Indeed - I can't see any case where a user would need the header without
> > > needing the namespace.
> 
> > You are looking from the other end. What I'm telling is that anyone who adds
> > a header, automatically gets a namespace. What's the point to have namespace
> > if it won't easily prevent from (ab)using it in the code. I consider putting
> > MODULE_IMPORT_NS() in the headers a bit weird.
> 
> Sure, but there's no case where anyone should ever be adding the header
> without adding the namespace which does rather sound like the sort of
> thing where you should just move the namespace addition to the header.

$ git grep -lw MODULE_IMPORT_NS | wc -l
651

$ git grep -lw MODULE_IMPORT_NS | grep '\.h$'

drivers/base/firmware_loader/sysfs.h
drivers/iio/adc/ltc2497.h
drivers/pwm/pwm-dwc.h
^^^ These ones are probably fine as they are not in include/

include/kunit/visibility.h
include/linux/module.h
include/linux/pwm.h

I believe these three are misuses of MODULE_IMPORT_NS(). Because one may add
a header just as a "proxy" one (copy'n'paste, for example) and we know that is
real as we saw a lot of code that has semi-random header inclusion blocks.

-- 
With Best Regards,
Andy Shevchenko






[Index of Archives]     [Linux Kernel]     [Linux ARM (vger)]     [Linux ARM MSM]     [Linux Omap]     [Linux Arm]     [Linux Tegra]     [Fedora ARM]     [Linux for Samsung SOC]     [eCos]     [Linux Fastboot]     [Gcc Help]     [Git]     [DCCP]     [IETF Announce]     [Security]     [Linux MIPS]     [Yosemite Campsites]

  Powered by Linux