Re: [PATCH] MII bus API for PHY devices

From: Jason McMullan
Date: Thu Nov 18 2004 - 14:41:18 EST


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