forked from mirrors/linux
		
	libphy: add phy_find_first function
Many drivers do this in them manually. Now they can use this function. Signed-off-by: Jiri Pirko <jpirko@redhat.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
		
							parent
							
								
									6683ece36e
								
							
						
					
					
						commit
						f8f76db1db
					
				
					 2 changed files with 17 additions and 0 deletions
				
			
		|  | @ -276,6 +276,22 @@ int phy_device_register(struct phy_device *phydev) | ||||||
| } | } | ||||||
| EXPORT_SYMBOL(phy_device_register); | EXPORT_SYMBOL(phy_device_register); | ||||||
| 
 | 
 | ||||||
|  | /**
 | ||||||
|  |  * phy_find_first - finds the first PHY device on the bus | ||||||
|  |  * @bus: the target MII bus | ||||||
|  |  */ | ||||||
|  | struct phy_device *phy_find_first(struct mii_bus *bus) | ||||||
|  | { | ||||||
|  | 	int addr; | ||||||
|  | 
 | ||||||
|  | 	for (addr = 0; addr < PHY_MAX_ADDR; addr++) { | ||||||
|  | 		if (bus->phy_map[addr]) | ||||||
|  | 			return bus->phy_map[addr]; | ||||||
|  | 	} | ||||||
|  | 	return NULL; | ||||||
|  | } | ||||||
|  | EXPORT_SYMBOL(phy_find_first); | ||||||
|  | 
 | ||||||
| /**
 | /**
 | ||||||
|  * phy_prepare_link - prepares the PHY layer to monitor link status |  * phy_prepare_link - prepares the PHY layer to monitor link status | ||||||
|  * @phydev: target phy_device struct |  * @phydev: target phy_device struct | ||||||
|  |  | ||||||
|  | @ -452,6 +452,7 @@ int phy_attach_direct(struct net_device *dev, struct phy_device *phydev, | ||||||
| 		u32 flags, phy_interface_t interface); | 		u32 flags, phy_interface_t interface); | ||||||
| struct phy_device * phy_attach(struct net_device *dev, | struct phy_device * phy_attach(struct net_device *dev, | ||||||
| 		const char *bus_id, u32 flags, phy_interface_t interface); | 		const char *bus_id, u32 flags, phy_interface_t interface); | ||||||
|  | struct phy_device *phy_find_first(struct mii_bus *bus); | ||||||
| int phy_connect_direct(struct net_device *dev, struct phy_device *phydev, | int phy_connect_direct(struct net_device *dev, struct phy_device *phydev, | ||||||
| 		void (*handler)(struct net_device *), u32 flags, | 		void (*handler)(struct net_device *), u32 flags, | ||||||
| 		phy_interface_t interface); | 		phy_interface_t interface); | ||||||
|  |  | ||||||
		Loading…
	
		Reference in a new issue
	
	 Jiri Pirko
						Jiri Pirko