Re: [PATCH] unexport register_cpu and unregister_cpu

From: Keshavamurthy Anil S
Date: Wed Jan 26 2005 - 18:57:26 EST


On Wed, Jan 26, 2005 at 01:10:30PM -0600, Nathan Lynch wrote:
> On Wed, 2005-01-26 at 10:22 -0800, Keshavamurthy Anil S wrote:
> > On Wed, Jan 26, 2005 at 12:55:47AM -0600, Nathan Lynch wrote:
> > > http://linus.bkbits.net:8080/linux-2.5/cset@4180a2b7mi2fzuNQDBOQY7eMAkns8g?nav=index.html|src/|src/drivers|src/drivers/base|related/drivers/base/cpu.c
> > >
> > > This changeset introduced exports for register_cpu and unregister_cpu
> > > right after 2.6.10. As far as I can tell these are not called from any
> > > code which can be built as a module, and I can't think of a good reason
> > > why any out of tree code would use them. Unless I've missed something,
> > > can we remove them before 2.6.11?
> >
> > No this is not correct. ACPI processor.ko driver which supports
> > physical CPU hotplug needs register_cpu() and unregister_cpu() functions
> > for dynamically hotadd/hotremove support of the processors.
>
> I do not understand your objection. The processor module does not call
> the interfaces in question directly. They are called only from arch
> setup code (e.g. arch/ia64/kernel/topology.c) which is never built as a
> module.

Oops.. Sorry, its my fault.

>
> > Please see drivers/acpi/processor_core.c
> > acpi_processor_hotadd_init() -> arch_register_cpu() ->
> > ->register_cpu().
>
> Sure -- the arch_register_cpu and arch_unregister_cpu symbols need to be
> exported for this use (and they are). Exporting register_cpu and
> unregister_cpu is unnecessary.

I agree with you 100%.

>
> I double-checked an ia64 build with CONFIG_ACPI_HOTPLUG_CPU=y and
> CONFIG_ACPI_PROCESSOR=m and saw no errors or warnings caused by the
> change...

Andrew, I have no objection with Nathan's patch.

thanks,
Anil

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/