Skip to content
  • Mark Rustad's avatar
    moduleparam: Resolve missing-field-initializer warning · 184c3fc3
    Mark Rustad authored
    
    
    Resolve a missing-field-initializer warning, that is produced
    by every reference to module_param_call, by using designated
    initialization for the first field. That is enough to silence
    the complaint.
    
    The message is only seen when doing a W=2 build. I happened to be using gcc
    4.8.3, but I think most versions would produce the warning when it is
    enabled. It can either be silenced by using even a single designated
    initializer as I did here, or providing values for all of the fields. Because
    of the number of references to the macro, this change silences many warnings
    in W=2 builds.
    
    One instance of the full warning message looks like this:
    
    /home/share/git/nn-mdr/include/linux/moduleparam.h:198:16: warning: missing
    initializer for field ‘free’ of ‘struct kernel_param_ops’
    [-Wmissing-field-initializers]
      static struct kernel_param_ops __param_ops_##name =  \
    		  ^
    /home/share/git/nn-mdr/fs/fuse/inode.c:35:1: note: in expansion of macro
    ‘module_param_call’
     module_param_call(max_user_bgreq, set_global_limit, param_get_uint,
     ^
    /home/share/git/nn-mdr/include/linux/moduleparam.h:56:9: note: ‘free’
    declared here
      void (*free)(void *arg);
    
    Signed-off-by: default avatarMark Rustad <mark.d.rustad@intel.com>
    Signed-off-by: default avatarJeff Kirsher <jeffrey.t.kirsher@intel.com>
    Signed-off-by: default avatarRusty Russell <rusty@rustcorp.com.au>
    184c3fc3