Re: [PATCH v2] ARM: at91: Fix link breakage when !CONFIG_PHYLIB

From: Alexandre Belloni
Date: Mon May 27 2013 - 06:37:27 EST


On 27/05/2013 10:09, Ludovic Desroches wrote:
> On Sat, May 25, 2013 at 10:05:57PM +0200, Jean-Christophe PLAGNIOL-VILLARD wrote:
>> On 09:39 Sat 25 May , Alexandre Belloni wrote:
>>> Fixes:
>>> arch/arm/mach-at91/built-in.o: In function `ksz9021rn_phy_fixup':
>>> :(.text+0x1174): undefined reference to `mdiobus_write'
>>> :(.text+0x1188): undefined reference to `mdiobus_write'
>>> :(.text+0x119c): undefined reference to `mdiobus_write'
>>> :(.text+0x11b0): undefined reference to `mdiobus_write'
>>> arch/arm/mach-at91/built-in.o: In function `sama5_dt_device_init':
>>> :(.init.text+0x1e34): undefined reference to `phy_register_fixup_for_uid'
>>>
>>> when CONFIG_PHYLIB is not selected.
> Signed-off-by missing.
>
> Acked-by: Ludovic Desroches <ludovic.desroches@xxxxxxxxx>
>

I'll send a v3...

>>> ---
>>> Changes in v2:
>>> use IS_BUILTIN
>>> use CONFIG_PHYLIB and not CONFIG_PHY
>>>
>> I do not like this, I prefer we just drop the fixup by adding the dt support
>> to the micrel phy as done for broadcom
>>
> Yes it will be a better solution but we don't have it. Even if we add dt
> support for micrel phy it won't go into 3.10 so it has to be fixed before the
> release.

The fixup is also done like that on i.mx6. I think we'll have to stick
to that for now.

>> if !PHYLIB just add an inline declaration of
>> phy_register_fixup_for_uid
>>
>> so gcc will drop ksz9021rn_phy_fixup automatically

By using IS_BUILTIN, gcc is already optimizing out the offeding lines,
else you would still get the linking error.


--
Alexandre Belloni, Free Electrons
Embedded Linux, Kernel and Android engineering
http://free-electrons.com

--
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/