2510602200
Add of_mdio_find_bus() which allows an mii_bus to be located given its associated the device tree node. This is needed by the follow-on patch to add a driver for MDIO bus multiplexers. The of_mdiobus_register() function is modified so that the device tree node is recorded in the mii_bus. Then we can find it again by iterating over all mdio_bus_class devices. Because the OF device tree has now become an integral part of the kernel, this can live in mdio_bus.c (which contains the needed mdio_bus_class structure) instead of of_mdio.c. Signed-off-by: David Daney <david.daney@cavium.com> Cc: Grant Likely <grant.likely@secretlab.ca> Cc: "David S. Miller" <davem@davemloft.net> Signed-off-by: David S. Miller <davem@davemloft.net>
28 lines
837 B
C
28 lines
837 B
C
/*
|
|
* OF helpers for the MDIO (Ethernet PHY) API
|
|
*
|
|
* Copyright (c) 2009 Secret Lab Technologies, Ltd.
|
|
*
|
|
* This file is released under the GPLv2
|
|
*/
|
|
|
|
#ifndef __LINUX_OF_MDIO_H
|
|
#define __LINUX_OF_MDIO_H
|
|
|
|
#include <linux/phy.h>
|
|
#include <linux/of.h>
|
|
|
|
extern int of_mdiobus_register(struct mii_bus *mdio, struct device_node *np);
|
|
extern struct phy_device *of_phy_find_device(struct device_node *phy_np);
|
|
extern struct phy_device *of_phy_connect(struct net_device *dev,
|
|
struct device_node *phy_np,
|
|
void (*hndlr)(struct net_device *),
|
|
u32 flags, phy_interface_t iface);
|
|
extern struct phy_device *of_phy_connect_fixed_link(struct net_device *dev,
|
|
void (*hndlr)(struct net_device *),
|
|
phy_interface_t iface);
|
|
|
|
extern struct mii_bus *of_mdio_find_bus(struct device_node *mdio_np);
|
|
|
|
#endif /* __LINUX_OF_MDIO_H */
|