net: introduce NETDEV_POST_INIT notifier
For various purposes including a wireless extensions bugfix, we need to hook into the netdev creation before before netdev_register_kobject(). This will also ease doing the dev type assignment that Marcel was working on for cfg80211 drivers w/o touching them all. Signed-off-by: Johannes Berg <johannes@sipsolutions.net> Signed-off-by: Marcel Holtmann <marcel@holtmann.org> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
		
					parent
					
						
							
								225794f8c3
							
						
					
				
			
			
				commit
				
					
						7ffbe3fdac
					
				
			
		
					 2 changed files with 7 additions and 0 deletions
				
			
		|  | @ -201,6 +201,7 @@ static inline int notifier_to_errno(int ret) | |||
| #define NETDEV_PRE_UP		0x000D | ||||
| #define NETDEV_BONDING_OLDTYPE  0x000E | ||||
| #define NETDEV_BONDING_NEWTYPE  0x000F | ||||
| #define NETDEV_POST_INIT	0x0010 | ||||
| 
 | ||||
| #define SYS_DOWN	0x0001	/* Notify of system down */ | ||||
| #define SYS_RESTART	SYS_DOWN | ||||
|  |  | |||
|  | @ -4836,6 +4836,12 @@ int register_netdevice(struct net_device *dev) | |||
| 		dev->features |= NETIF_F_GSO; | ||||
| 
 | ||||
| 	netdev_initialize_kobject(dev); | ||||
| 
 | ||||
| 	ret = call_netdevice_notifiers(NETDEV_POST_INIT, dev); | ||||
| 	ret = notifier_to_errno(ret); | ||||
| 	if (ret) | ||||
| 		goto err_uninit; | ||||
| 
 | ||||
| 	ret = netdev_register_kobject(dev); | ||||
| 	if (ret) | ||||
| 		goto err_uninit; | ||||
|  |  | |||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue
	
	 Johannes Berg
				Johannes Berg