[alsa-devel] [PATCH 1149/1285] Replace numeric parameter like 0444 with macro

Nicholas Mc Guire der.herr at hofr.at
Tue Aug 16 13:08:45 CEST 2016


On Tue, Aug 02, 2016 at 08:20:44PM +0800, Baole Ni wrote:
> I find that the developers often just specified the numeric value
> when calling a macro which is defined with a parameter for access permission.
> As we know, these numeric value for access permission have had the corresponding macro,
> and that using macro can improve the robustness and readability of the code,
> thus, I suggest replacing the numeric parameter with the macro.

this is actually a quite common issue - taking your example and generalizing
it into a simple coccinelle scanner shows aproximately 1400 cases for 
module_param, module_param_array and module_param_named.

> 
> Signed-off-by: Chuansheng Liu <chuansheng.liu at intel.com>
> Signed-off-by: Baole Ni <baolex.ni at intel.com>
> ---
>  sound/core/oss/pcm_oss.c | 6 +++---
>  1 file changed, 3 insertions(+), 3 deletions(-)
> 
> diff --git a/sound/core/oss/pcm_oss.c b/sound/core/oss/pcm_oss.c
> index ebc9fdf..0ff0dd8 100644
> --- a/sound/core/oss/pcm_oss.c
> +++ b/sound/core/oss/pcm_oss.c
> @@ -53,11 +53,11 @@ static bool nonblock_open = 1;
>  MODULE_AUTHOR("Jaroslav Kysela <perex at perex.cz>, Abramo Bagnara <abramo at alsa-project.org>");
>  MODULE_DESCRIPTION("PCM OSS emulation for ALSA.");
>  MODULE_LICENSE("GPL");
> -module_param_array(dsp_map, int, NULL, 0444);
> +module_param_array(dsp_map, int, NULL, S_IRUSR | S_IRGRP | S_IROTH);

as S_IRUSR | S_IRGRP | S_IROTH == S_IRUGO  this (and the others below
could be simplfied 

+module_param_array(dsp_map, int, NULL, S_IRUGO);

>  MODULE_PARM_DESC(dsp_map, "PCM device number assigned to 1st OSS device.");
> -module_param_array(adsp_map, int, NULL, 0444);
> +module_param_array(adsp_map, int, NULL, S_IRUSR | S_IRGRP | S_IROTH);
>  MODULE_PARM_DESC(adsp_map, "PCM device number assigned to 2nd OSS device.");
> -module_param(nonblock_open, bool, 0644);
> +module_param(nonblock_open, bool, S_IRUSR | S_IWUSR | S_IRGRP | S_IROTH);

for 0644 one could also use S_IWUSR | S_IRUGO which might be more redaable
here as well.

>  MODULE_PARM_DESC(nonblock_open, "Don't block opening busy PCM devices.");
>  MODULE_ALIAS_SNDRV_MINOR(SNDRV_MINOR_OSS_PCM);
>  MODULE_ALIAS_SNDRV_MINOR(SNDRV_MINOR_OSS_PCM1);

thx!
hofrat


More information about the Alsa-devel mailing list