netdev
[Top] [All Lists]

Re: [PATCH] MII bus API for PHY devices

To: Andy Fleming <afleming@xxxxxxxxxxxxx>
Subject: Re: [PATCH] MII bus API for PHY devices
From: Jason McMullan <jason.mcmullan@xxxxxxxxxxx>
Date: Thu, 18 Nov 2004 14:34:49 -0500
Cc: netdev@xxxxxxxxxxx, linux-kernel@xxxxxxxxxxxxxxx
In-reply-to: <9B0D9272-398A-11D9-96F6-000393C30512@xxxxxxxxxxxxx>
References: <069B6F33-341C-11D9-9652-000393DBC2E8@xxxxxxxxxxxxx> <9B0D9272-398A-11D9-96F6-000393C30512@xxxxxxxxxxxxx>
Sender: netdev-bounce@xxxxxxxxxxx
On Thu, 2004-11-18 at 11:52 -0600, Andy Fleming wrote:
> 1) How should we pass initialization information from the system to the 
> bus.  Information like which irq to use for each PHY, and what the 
> address space for the bus's controls is.  I would like to enforce 
> encapsulation so that the ethernet drivers don't need to know this 
> information, or pass it to the bus.

(Just an off-the-cuff answer here)

In line with the OCP->platform work I've been doing, I would think
that creating 'phy' devices on the platform bus would be appropriate,
with 'platform_data' that describes (a) the platform device ethernet
it's bus is on and (b) it's PHY ID on that bus. The PHY's IRQ would
be in it's platform resources.

> 2) How should we reflect the dependency of the ethernet driver on the 
> mii bus driver?

Hmm. Don't really know from a sysfs perspective...


> 3) How should we bind ethernet drivers to PHY drivers?

A PHY 'platform_data' struct like:

struct phy_device_data {
        struct {
                const char *name;
                int id;
        } ethernet_platform_device_parent;
        int     phy_id;
}
        
> Oh, and a 4th side-issue:
> Should each PHY have its own file? 

Actually, each PHY should have it's own device directory, like every
other device. Eventually, PHYs should have /dev/phy* entries, where
user-space can read/write PHY registers.

-- 
Jason McMullan <jason.mcmullan@xxxxxxxxxxx>

<Prev in Thread] Current Thread [Next in Thread>