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); | ||||
| 
 | ||||
| /**
 | ||||
|  * 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 | ||||
|  * @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); | ||||
| struct phy_device * phy_attach(struct net_device *dev, | ||||
| 		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, | ||||
| 		void (*handler)(struct net_device *), u32 flags, | ||||
| 		phy_interface_t interface); | ||||
|  |  | |||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue
	
	 Jiri Pirko
				Jiri Pirko