[PATCH] ARM: S3C64XX: Fix section mismatch from cpufreq init

Uwe Kleine-König u.kleine-koenig at pengutronix.de
Wed Mar 16 06:13:00 EDT 2011


On Wed, Mar 16, 2011 at 09:49:59AM +0000, Mark Brown wrote:
> On Wed, Mar 16, 2011 at 09:38:11AM +0100, Uwe Kleine-König wrote:
> > On Thu, Mar 10, 2011 at 02:58:13PM +0000, Mark Brown wrote:
> > > we don't appear to have annotations which allow us to mark that it'll
> > > never be called after system init, causing the linker consistency
> 
> > Actually this is warning is a false positive.  There is a section
> > mismatch, but it is never a problem because the .init callback is only
> > called by cpufreq_register_driver. To get rid of the warning the right
> > fix is to remove the .init callback from struct cpufreq_driver and
> > change the prototype of cpufreq_register_driver to
> 
> That's what I said above, pretty much.  Ideally we'd have a way of
> annotating the call sites so that the linker infrastructure rather than
> having to faff about splitting the structures like this.
You can mark the driver struct using __ref. But IMHO not saving a
reference to a function only used once is cleaner.

Best regards
Uwe

-- 
Pengutronix e.K.                           | Uwe Kleine-König            |
Industrial Linux Solutions                 | http://www.pengutronix.de/  |



More information about the linux-arm-kernel mailing list