net/af_iucv: clean up a try_then_request_module()
Use IS_ENABLED(CONFIG_IUCV) to determine whether the iucv_if symbol
is available, and let depmod deal with the module dependency.
This was introduced back with commit 6fcd61f7bf
("af_iucv: use
loadable iucv interface"). And to avoid sprinkling IS_ENABLED() over
all the code, we're keeping the indirection through pr_iucv->...().
Signed-off-by: Julian Wiedmann <jwi@linux.ibm.com>
Signed-off-by: Karsten Graul <kgraul@linux.ibm.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
10d6393dc4
commit
4eb9eda6ba
@ -2278,7 +2278,7 @@ static int __init afiucv_init(void)
|
||||
{
|
||||
int err;
|
||||
|
||||
if (MACHINE_IS_VM) {
|
||||
if (MACHINE_IS_VM && IS_ENABLED(CONFIG_IUCV)) {
|
||||
cpcmd("QUERY USERID", iucv_userid, sizeof(iucv_userid), &err);
|
||||
if (unlikely(err)) {
|
||||
WARN_ON(err);
|
||||
@ -2286,11 +2286,7 @@ static int __init afiucv_init(void)
|
||||
goto out;
|
||||
}
|
||||
|
||||
pr_iucv = try_then_request_module(symbol_get(iucv_if), "iucv");
|
||||
if (!pr_iucv) {
|
||||
printk(KERN_WARNING "iucv_if lookup failed\n");
|
||||
memset(&iucv_userid, 0, sizeof(iucv_userid));
|
||||
}
|
||||
pr_iucv = &iucv_if;
|
||||
} else {
|
||||
memset(&iucv_userid, 0, sizeof(iucv_userid));
|
||||
pr_iucv = NULL;
|
||||
@ -2324,17 +2320,13 @@ out_sock:
|
||||
out_proto:
|
||||
proto_unregister(&iucv_proto);
|
||||
out:
|
||||
if (pr_iucv)
|
||||
symbol_put(iucv_if);
|
||||
return err;
|
||||
}
|
||||
|
||||
static void __exit afiucv_exit(void)
|
||||
{
|
||||
if (pr_iucv) {
|
||||
if (pr_iucv)
|
||||
afiucv_iucv_exit();
|
||||
symbol_put(iucv_if);
|
||||
}
|
||||
|
||||
unregister_netdevice_notifier(&afiucv_netdev_notifier);
|
||||
dev_remove_pack(&iucv_packet_type);
|
||||
|
Loading…
Reference in New Issue
Block a user