Subject: Re: [PATCH] phylib: Don't allow core of phylib to build as a module

From: Jeff Garzik <[email-masked]>
Date: Mon, 02 Jun 2008 16:29:08 -0400

Kumar Gala wrote:
> 
> On Jun 2, 2008, at 11:39 AM, Jeff Garzik wrote:
> 
>> Kumar Gala wrote:
>>> On Jun 2, 2008, at 11:03 AM, Jeff Garzik wrote:
>>>> Kumar Gala wrote:
>>>>> The core portions of the phylib aren't capable of being used as
>>>>> a module.  This isn't really any different than something like i2c
>>>>> in that the bus driver and core need to be built into the kernel.
>>>>> Signed-off-by: Kumar Gala <[email-masked]>
>>>>> ---
>>>>> Jeff, please consider this for 2.6.26 as w/o it we get build issues
>>>>> if phylib is config'd as a module on ppc.
>>>>> drivers/net/phy/Kconfig |    2 +-
>>>>> 1 files changed, 1 insertions(+), 1 deletions(-)
>>>>> diff --git a/drivers/net/phy/Kconfig b/drivers/net/phy/Kconfig
>>>>> index 6eb2d31..ab04cc7 100644
>>>>> --- a/drivers/net/phy/Kconfig
>>>>> +++ b/drivers/net/phy/Kconfig
>>>>> @@ -3,7 +3,7 @@
>>>>> #
>>>>> menuconfig PHYLIB
>>>>> -    tristate "PHY Device support and infrastructure"
>>>>> +    bool "PHY Device support and infrastructure"
>>>>>    depends on !S390
>>>>>    depends on NET_ETHERNET
>>>>
>>>> What are the issues?
>>>>
>>>> The core _should_ be able to be built as a module.
>>> The core provides functions like phy_read/phy_write.  Andy has 
>>> recently introduced board level workaround/fixups.  The problem is 
>>> these workarounds tend to use phy_read/phy_write and the 
>>> board/platform code is not built as modules.
>>> So we get errors like:
>>> arch/powerpc/platforms/built-in.o: In function `mpc8568_mds_phy_fixups':
>>> /home/galak/git/master/powerpc/arch/powerpc/platforms/85xx/mpc85xx_mds.c:99: 
>>> undefined reference to `phy_write'
>>> /home/galak/git/master/powerpc/arch/powerpc/platforms/85xx/mpc85xx_mds.c:104: 
>>> undefined reference to `phy_read'
>>
>> The whole world isn't embedded ppc, we use this stuff elsewhere too.
>>
>> You guys need to figure out something that doesn't require phylib be 
>> built-in on ALL platforms, but only the platforms that require it.
> 
> I wasn't suggesting we build it always, just not let it be built as a 
> module.

I was saying, you are requiring everyone to bloat their kernel with 
phylib, if they enable phylib, because of your particular platform details.

That is not a path we want to follow -- limiting everyone else because 
of one case is not acceptable.

	Jeff