All of lore.kernel.org
 help / color / mirror / Atom feed
From: David Daney <ddaney@caviumnetworks.com>
To: Ben Hutchings <ben@decadent.org.uk>, David Miller <davem@davemloft.net>
Cc: David Daney <ddaney.cavm@gmail.com>,
	David Daney <david.daney@cavium.com>,
	netdev <netdev@vger.kernel.org>
Subject: Re: [PATCH net-next] bcm87xx: Add MODULE_DEVICE_TABLE
Date: Tue, 3 Sep 2013 12:28:50 -0700	[thread overview]
Message-ID: <52263872.40209@caviumnetworks.com> (raw)
In-Reply-To: <522634D0.7080606@caviumnetworks.com>

On 09/03/2013 12:13 PM, David Daney wrote:
> On 09/03/2013 11:53 AM, Ben Hutchings wrote:
>> On Tue, Sep 03, 2013 at 10:32:02AM -0700, David Daney wrote:
>>> On 09/01/2013 02:33 PM, Ben Hutchings wrote:
>>>> bcm87xx currently isn't auto-loaded if built as a module.
>>>>
>>>> Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
>>>> ---
>>>> Compile-tested only.
>>>
>>> Then how do you know that it does anything sensible?
>>
>> This is generally required in modular PHY drivers.  I was hoping you'd
>> be able to say whether that it's useful or necessary for this one.
>
>
> OK. I just tested the patch, and it is not sufficient to get the module
> loaded automatically.
>

The problem is that get_phy_c45_ids() sets the phy_id that is passed to 
request_module() to zero, so it will never match anything.

We need to think about how this should work for  802.3-c45 PHYs.

Most c54 PHYs are conceptually composed of several pieces each with its 
own set of identifiers.  Which of these should be used?  Will something 
break if we start supplying a C22 phy_id for these devices?

David Daney



> My configuration also successfully uses drivers/net/phy/marvell.ko, so I
> think the modules.alias file is properly generated, and the auto-loading
> is working for some PHY drivers, but bcm87xx isn't detected.
>
> I may take a look later this week, but as the patch stands, I don't
> think it should be merged.
>
> David Daney
>
>
>>
>>> Other than that, it seems plausible.
>>>
>>> David Daney
>>
>> Thanks.
>>
>> Ben.
>>
>>>>
>>>> Ben.
>>>>
>>>>   drivers/net/phy/bcm87xx.c | 7 +++++++
>>>>   1 file changed, 7 insertions(+)
>>>>
>>>> diff --git a/drivers/net/phy/bcm87xx.c b/drivers/net/phy/bcm87xx.c
>>>> index 7997895..f5b44ff 100644
>>>> --- a/drivers/net/phy/bcm87xx.c
>>>> +++ b/drivers/net/phy/bcm87xx.c
>>>> @@ -230,4 +230,11 @@ static void __exit bcm87xx_exit(void)
>>>>   }
>>>>   module_exit(bcm87xx_exit);
>>>>
>>>> +static struct mdio_device_id __maybe_unused bcm87xx_tbl[] = {
>>>> +    { PHY_ID_BCM8706, 0xffffffff },
>>>> +    { PHY_ID_BCM8727, 0xffffffff },
>>>> +    { }
>>>> +};
>>>> +
>>>>   MODULE_LICENSE("GPL");
>>>> +MODULE_DEVICE_TABLE(mdio, bcm87xx_tbl);
>>>>
>>>
>>
>
>

  reply	other threads:[~2013-09-03 19:29 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-09-01 21:33 [PATCH net-next] bcm87xx: Add MODULE_DEVICE_TABLE Ben Hutchings
2013-09-03 17:32 ` David Daney
2013-09-03 18:53   ` Ben Hutchings
2013-09-03 19:13     ` David Daney
2013-09-03 19:28       ` David Daney [this message]
2013-09-03 20:53         ` Ben Hutchings

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=52263872.40209@caviumnetworks.com \
    --to=ddaney@caviumnetworks.com \
    --cc=ben@decadent.org.uk \
    --cc=davem@davemloft.net \
    --cc=david.daney@cavium.com \
    --cc=ddaney.cavm@gmail.com \
    --cc=netdev@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.