mirror of
				git://git.openwrt.org/openwrt/openwrt.git
				synced 2025-11-04 06:54:27 -05:00 
			
		
		
		
	Boot tested: http://pastebin.com/L6aAb9xj Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com> [jogo: update to 4.1 final add patches added since submission delete patches applied in later rcs restore commit messages in 220-gc-sections and 304-mips_disable_fpu fix 050-backport_netfilter_rtcache to match new API update inlined dma ops with upstream changes add missing config symbols enabled CONFIG_MULTIUSER update kmod defintions for 4.1 ] Signed-off-by: Jonas Gorski <jogo@openwrt.org> SVN-Revision: 46112
		
			
				
	
	
		
			28 lines
		
	
	
		
			666 B
		
	
	
	
		
			Diff
		
	
	
	
	
	
			
		
		
	
	
			28 lines
		
	
	
		
			666 B
		
	
	
	
		
			Diff
		
	
	
	
	
	
--- a/drivers/net/phy/phy_device.c
 | 
						|
+++ b/drivers/net/phy/phy_device.c
 | 
						|
@@ -674,6 +674,9 @@ void phy_detach(struct phy_device *phyde
 | 
						|
 {
 | 
						|
 	int i;
 | 
						|
 
 | 
						|
+	if (phydev->drv && phydev->drv->detach)
 | 
						|
+		phydev->drv->detach(phydev);
 | 
						|
+
 | 
						|
 	if (phydev->bus->dev.driver)
 | 
						|
 		module_put(phydev->bus->dev.driver->owner);
 | 
						|
 
 | 
						|
--- a/include/linux/phy.h
 | 
						|
+++ b/include/linux/phy.h
 | 
						|
@@ -507,6 +507,12 @@ struct phy_driver {
 | 
						|
 	 */
 | 
						|
 	int (*did_interrupt)(struct phy_device *phydev);
 | 
						|
 
 | 
						|
+	/*
 | 
						|
+	 * Called before an ethernet device is detached
 | 
						|
+	 * from the PHY.
 | 
						|
+	 */
 | 
						|
+	void (*detach)(struct phy_device *phydev);
 | 
						|
+
 | 
						|
 	/* Clears up any memory if needed */
 | 
						|
 	void (*remove)(struct phy_device *phydev);
 | 
						|
 
 |