[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <20170208.142918.491209108288972402.davem@davemloft.net>
Date: Wed, 08 Feb 2017 14:29:18 -0500 (EST)
From: David Miller <davem@...emloft.net>
To: shannon.nelson@...cle.com
Cc: netdev@...r.kernel.org, sparclinux@...r.kernel.org,
linux-kernel@...r.kernel.org
Subject: Re: [PATCH v2 net-next 1/9] sunvnet: make sunvnet common code
dynamically loadable
From: Shannon Nelson <shannon.nelson@...cle.com>
Date: Tue, 7 Feb 2017 14:12:54 -0800
> +static int __init sunvnet_common_init(void)
> +{
> + pr_info("%s\n", version);
> + return 0;
> +}
> +module_init(sunvnet_common_init);
> +
> +static void __exit sunvnet_common_exit(void)
> +{
> + /* Empty function, just here to fill the exit function pointer
> + * slot. In some combinations of older gcc and newer kernel,
> + * leaving this undefined results in the kernel marking it as a
> + * permanent module; it will show up in lsmod output as [permanent]
> + * and not be unloadable.
> + */
> +}
> +module_exit(sunvnet_common_exit);
> +
This module is just providing infrastructure for other modules.
So skip the init function, and that way you don't need the exit
function either.
The kernel log message when the real sunvnet driver loads is
sufficient, you don't need one here.
Powered by blists - more mailing lists