Re: [PATCH v8 05/25] char/nvram: Adopt arch_nvram_ops

2019-01-04 Thread Christoph Hellwig
On Fri, Jan 04, 2019 at 09:08:13AM +1100, Finn Thain wrote:
> On Thu, 3 Jan 2019, Christoph Hellwig wrote:
> 
> > > +
> > > +const struct nvram_ops arch_nvram_ops = {
> > > + .read_byte  = nvram_read_byte,
> > > + .write_byte = nvram_write_byte,
> > > + .get_size   = nvram_get_size,
> > > +};
> > > +EXPORT_SYMBOL(arch_nvram_ops);
> > 
> > I think something this internal should always be EXPORT_SYMBOL_GPL.
> > 
> 
> By "internal" do you mean "not involving interests outside of the Linux 
> Foundation"? TBH, I don't know who's affected.

Linux Foundation doesn't matter.

But as far as I can see you export the struct from arch code
for nvram.ko to use them and no one else, which is clearly internal.


Re: [PATCH v8 05/25] char/nvram: Adopt arch_nvram_ops

2019-01-03 Thread Finn Thain
On Thu, 3 Jan 2019, Christoph Hellwig wrote:

> > +
> > +const struct nvram_ops arch_nvram_ops = {
> > +   .read_byte  = nvram_read_byte,
> > +   .write_byte = nvram_write_byte,
> > +   .get_size   = nvram_get_size,
> > +};
> > +EXPORT_SYMBOL(arch_nvram_ops);
> 
> I think something this internal should always be EXPORT_SYMBOL_GPL.
> 

By "internal" do you mean "not involving interests outside of the Linux 
Foundation"? TBH, I don't know who's affected.

Anyway, this patch series is mostly refactoring. So the policy it enforces 
towards the use of arch_nvram_ops just reflects the policy already in 
place:

$ git grep -w EXPORT_SYMBOL_GPL | grep nvram
$ git grep -w EXPORT_SYMBOL | grep nvram
...
arch/powerpc/kernel/setup_32.c:EXPORT_SYMBOL(nvram_read_byte);
arch/powerpc/kernel/setup_32.c:EXPORT_SYMBOL(nvram_write_byte);
arch/powerpc/kernel/setup_32.c:EXPORT_SYMBOL(nvram_get_size);
arch/powerpc/kernel/setup_32.c:EXPORT_SYMBOL(nvram_sync);
arch/powerpc/platforms/powermac/nvram.c:EXPORT_SYMBOL(pmac_get_partition);
arch/powerpc/platforms/powermac/nvram.c:EXPORT_SYMBOL(pmac_xpram_read);
arch/powerpc/platforms/powermac/nvram.c:EXPORT_SYMBOL(pmac_xpram_write);
drivers/char/nvram.c:EXPORT_SYMBOL(__nvram_read_byte);
drivers/char/nvram.c:EXPORT_SYMBOL(nvram_read_byte);
drivers/char/nvram.c:EXPORT_SYMBOL(__nvram_write_byte);
drivers/char/nvram.c:EXPORT_SYMBOL(nvram_write_byte);
drivers/char/nvram.c:EXPORT_SYMBOL(__nvram_check_checksum);
drivers/char/nvram.c:EXPORT_SYMBOL(nvram_check_checksum);
...
$ 

-- 


Re: [PATCH v8 05/25] char/nvram: Adopt arch_nvram_ops

2019-01-03 Thread Christoph Hellwig
> +
> +const struct nvram_ops arch_nvram_ops = {
> + .read_byte  = nvram_read_byte,
> + .write_byte = nvram_write_byte,
> + .get_size   = nvram_get_size,
> +};
> +EXPORT_SYMBOL(arch_nvram_ops);

I think something this internal should always be EXPORT_SYMBOL_GPL.