Subject: Re: [RFC] per-nic module parameters

From: Stephen Hemminger <[email-masked]>
Date: Fri, 24 Oct 2008 13:39:20 -0700

On Fri, 24 Oct 2008 22:09:35 +0200
Brice Goglin <[email-masked]> wrote:

> Hello,
> 
> We're working on making myri10ge module parameters per-nic. It looks
> like ixgb already does so with the following macro in ixgb_param.c:
> 
> #define IXGB_PARAM_INIT { [0 ... IXGB_MAX_NIC] = OPTION_UNSET }
> #define IXGB_PARAM(X, desc)                                     \
>         static int __devinitdata X[IXGB_MAX_NIC+1]              \
>                 = IXGB_PARAM_INIT;                              \
>         static unsigned int num_##X = 0;                        \
>         module_param_array_named(X, X, int, &num_##X, 0);       \
>         MODULE_PARM_DESC(X, desc);
> 
> Is this the recommended way to implement per-nic module params? Or
> should we do something else?

Module parameters are bad. They are device specific and awkward for
any general configuration system to deal with. As much as possible,
please convert any module parameters to real interfaces like netlink,
ethtool, or sysfs.