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:
Julian Wiedmann 2021-08-09 10:30:47 +02:00 committed by David S. Miller
parent 10d6393dc4
commit 4eb9eda6ba

View File

@ -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);