[PATCH] leds: provide helper to register "leds-gpio" devices
Russell King - ARM Linux
linux at arm.linux.org.uk
Tue Apr 19 19:24:20 EDT 2011
On Tue, Apr 19, 2011 at 04:19:13PM -0700, Andrew Morton wrote:
> On Tue, 5 Apr 2011 17:33:39 +0100
> Russell King - ARM Linux <linux at arm.linux.org.uk> wrote:
>
> > On Tue, Apr 05, 2011 at 10:37:35AM +0200, Uwe Kleine-K__nig wrote:
> > > +struct platform_device *__init gpio_led_register_device(
> > > + const struct gpio_led_platform_data *pdata);
> >
> > Please don't add __init annotations to declarations.
>
> Reasons?
It's noise.
> A year or so ago we had to *add* an __init to a declaration, because
> one architecture was generating a short-mode-addressing relative branch
> to the callee, assuming the target was in the same section as the call
> site. When the linker went to resolve the branch, it discovered that
> the target was in fact in a different section and was too far away to
> be able to use the short-mode addressing. IIRC, that architecture was
> arm.
I'm not aware of ARM ever requiring that. If it was, we'd have to add
a heck of a lot of those annotations. And those annotations don't tell
the compiler that it might be far away.
We _do_ have a problem if someone decides to include a big ramdisk or
initramfs image in the discarded section, which is something I have a
patch kicking around to completely change the vmlinux layout to resolve.
That's taking something of a low priority at the moment though as we've
been turned upside down by Linus...
More information about the linux-arm-kernel
mailing list