tipc: Use genl_register_family_with_ops()
Use genl_register_family_with_ops() instead of a copy. This also changes netlink related variable names to be kernel-wide unique for consistency with other users. Signed-off-by: Michał Mirosław <mirq-linux@rere.qmqm.pl> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
		
				
					committed by
					
						 David S. Miller
						David S. Miller
					
				
			
			
				
	
			
			
			
						parent
						
							502664eeaf
						
					
				
				
					commit
					acb0a200ae
				
			| @@ -68,7 +68,7 @@ static int handle_cmd(struct sk_buff *skb, struct genl_info *info) | ||||
| 	return 0; | ||||
| } | ||||
|  | ||||
| static struct genl_family family = { | ||||
| static struct genl_family tipc_genl_family = { | ||||
| 	.id		= GENL_ID_GENERATE, | ||||
| 	.name		= TIPC_GENL_NAME, | ||||
| 	.version	= TIPC_GENL_VERSION, | ||||
| @@ -76,39 +76,33 @@ static struct genl_family family = { | ||||
| 	.maxattr	= 0, | ||||
| }; | ||||
|  | ||||
| static struct genl_ops ops = { | ||||
| static struct genl_ops tipc_genl_ops = { | ||||
| 	.cmd		= TIPC_GENL_CMD, | ||||
| 	.doit		= handle_cmd, | ||||
| }; | ||||
|  | ||||
| static int family_registered = 0; | ||||
| static int tipc_genl_family_registered; | ||||
|  | ||||
| int tipc_netlink_start(void) | ||||
| { | ||||
| 	int res; | ||||
|  | ||||
| 	res = genl_register_family_with_ops(&tipc_genl_family, | ||||
| 		&tipc_genl_ops, 1); | ||||
| 	if (res) { | ||||
| 		err("Failed to register netlink interface\n"); | ||||
| 		return res; | ||||
| 	} | ||||
|  | ||||
| 	if (genl_register_family(&family)) | ||||
| 		goto err; | ||||
|  | ||||
| 	family_registered = 1; | ||||
|  | ||||
| 	if (genl_register_ops(&family, &ops)) | ||||
| 		goto err_unregister; | ||||
|  | ||||
| 	tipc_genl_family_registered = 1; | ||||
| 	return 0; | ||||
|  | ||||
|  err_unregister: | ||||
| 	genl_unregister_family(&family); | ||||
| 	family_registered = 0; | ||||
|  err: | ||||
| 	err("Failed to register netlink interface\n"); | ||||
| 	return -EFAULT; | ||||
| } | ||||
|  | ||||
| void tipc_netlink_stop(void) | ||||
| { | ||||
| 	if (family_registered) { | ||||
| 		genl_unregister_family(&family); | ||||
| 		family_registered = 0; | ||||
| 	} | ||||
| 	if (!tipc_genl_family_registered) | ||||
| 		return; | ||||
|  | ||||
| 	genl_unregister_family(&tipc_genl_family); | ||||
| 	tipc_genl_family_registered = 0; | ||||
| } | ||||
|   | ||||
		Reference in New Issue
	
	Block a user