[alsa-devel] [PATCH] ALSA: usb-audio: Change structure initialisation to C99 style
Replace the in order struct initialisation style with explicit field style.
The Coccinelle semantic patch used to make this change is as follows:
@decl@ identifier i1,fld; type T; field list[n] fs; @@
struct i1 { fs T fld; ...};
@@ identifier decl.i1,i2,decl.fld; expression e; position bad.p, bad.fix; @@
struct i1 i2@p = { ..., + .fld = e - e@fix ,...};
Signed-off-by: Amitoj Kaur Chawla amitoj1606@gmail.com --- sound/usb/mixer_maps.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-)
diff --git a/sound/usb/mixer_maps.c b/sound/usb/mixer_maps.c index 1f8fb0d9..9038b2e 100644 --- a/sound/usb/mixer_maps.c +++ b/sound/usb/mixer_maps.c @@ -107,8 +107,10 @@ static struct usbmix_name_map extigy_map[] = { * e.g. no Master and fake PCM volume * Pavel Mihaylov bin@bash.info */ -static struct usbmix_dB_map mp3plus_dB_1 = {-4781, 0}; /* just guess */ -static struct usbmix_dB_map mp3plus_dB_2 = {-1781, 618}; /* just guess */ +static struct usbmix_dB_map mp3plus_dB_1 = {.min = -4781, .max = 0}; + /* just guess */ +static struct usbmix_dB_map mp3plus_dB_2 = {.min = -1781, .max = 618}; + /* just guess */
static struct usbmix_name_map mp3plus_map[] = { /* 1: IT pcm */
On Wed, 15 Jun 2016 15:26:34 +0200, Amitoj Kaur Chawla wrote:
Replace the in order struct initialisation style with explicit field style.
The Coccinelle semantic patch used to make this change is as follows:
@decl@ identifier i1,fld; type T; field list[n] fs; @@
struct i1 { fs T fld; ...};
@@ identifier decl.i1,i2,decl.fld; expression e; position bad.p, bad.fix; @@
struct i1 i2@p = { ...,
- .fld = e
- e@fix
,...};
Signed-off-by: Amitoj Kaur Chawla amitoj1606@gmail.com
sound/usb/mixer_maps.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-)
diff --git a/sound/usb/mixer_maps.c b/sound/usb/mixer_maps.c index 1f8fb0d9..9038b2e 100644 --- a/sound/usb/mixer_maps.c +++ b/sound/usb/mixer_maps.c @@ -107,8 +107,10 @@ static struct usbmix_name_map extigy_map[] = {
- e.g. no Master and fake PCM volume
Pavel Mihaylov <bin@bash.info>
*/ -static struct usbmix_dB_map mp3plus_dB_1 = {-4781, 0}; /* just guess */ -static struct usbmix_dB_map mp3plus_dB_2 = {-1781, 618}; /* just guess */ +static struct usbmix_dB_map mp3plus_dB_1 = {.min = -4781, .max = 0};
/* just guess */
+static struct usbmix_dB_map mp3plus_dB_2 = {.min = -1781, .max = 618};
/* just guess */
These are simple min/max table, so no big merit to write in such a way.
thanks,
Takashi
On Wed, 15 Jun 2016, Takashi Iwai wrote:
On Wed, 15 Jun 2016 15:26:34 +0200, Amitoj Kaur Chawla wrote:
Replace the in order struct initialisation style with explicit field style.
The Coccinelle semantic patch used to make this change is as follows:
@decl@ identifier i1,fld; type T; field list[n] fs; @@
struct i1 { fs T fld; ...};
@@ identifier decl.i1,i2,decl.fld; expression e; position bad.p, bad.fix; @@
struct i1 i2@p = { ...,
- .fld = e
- e@fix
,...};
Signed-off-by: Amitoj Kaur Chawla amitoj1606@gmail.com
sound/usb/mixer_maps.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-)
diff --git a/sound/usb/mixer_maps.c b/sound/usb/mixer_maps.c index 1f8fb0d9..9038b2e 100644 --- a/sound/usb/mixer_maps.c +++ b/sound/usb/mixer_maps.c @@ -107,8 +107,10 @@ static struct usbmix_name_map extigy_map[] = {
- e.g. no Master and fake PCM volume
Pavel Mihaylov <bin@bash.info>
*/ -static struct usbmix_dB_map mp3plus_dB_1 = {-4781, 0}; /* just guess */ -static struct usbmix_dB_map mp3plus_dB_2 = {-1781, 618}; /* just guess */ +static struct usbmix_dB_map mp3plus_dB_1 = {.min = -4781, .max = 0};
/* just guess */
+static struct usbmix_dB_map mp3plus_dB_2 = {.min = -1781, .max = 618};
/* just guess */
These are simple min/max table, so no big merit to write in such a way.
My understanding is that structures are going to be randomized, so at least all global structures need C99 initialization. Maybe Kees can provide further clarification.
julia
On Wed, 15 Jun 2016 15:31:25 +0200, Julia Lawall wrote:
On Wed, 15 Jun 2016, Takashi Iwai wrote:
On Wed, 15 Jun 2016 15:26:34 +0200, Amitoj Kaur Chawla wrote:
Replace the in order struct initialisation style with explicit field style.
The Coccinelle semantic patch used to make this change is as follows:
@decl@ identifier i1,fld; type T; field list[n] fs; @@
struct i1 { fs T fld; ...};
@@ identifier decl.i1,i2,decl.fld; expression e; position bad.p, bad.fix; @@
struct i1 i2@p = { ...,
- .fld = e
- e@fix
,...};
Signed-off-by: Amitoj Kaur Chawla amitoj1606@gmail.com
sound/usb/mixer_maps.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-)
diff --git a/sound/usb/mixer_maps.c b/sound/usb/mixer_maps.c index 1f8fb0d9..9038b2e 100644 --- a/sound/usb/mixer_maps.c +++ b/sound/usb/mixer_maps.c @@ -107,8 +107,10 @@ static struct usbmix_name_map extigy_map[] = {
- e.g. no Master and fake PCM volume
Pavel Mihaylov <bin@bash.info>
*/ -static struct usbmix_dB_map mp3plus_dB_1 = {-4781, 0}; /* just guess */ -static struct usbmix_dB_map mp3plus_dB_2 = {-1781, 618}; /* just guess */ +static struct usbmix_dB_map mp3plus_dB_1 = {.min = -4781, .max = 0};
/* just guess */
+static struct usbmix_dB_map mp3plus_dB_2 = {.min = -1781, .max = 618};
/* just guess */
These are simple min/max table, so no big merit to write in such a way.
My understanding is that structures are going to be randomized, so at least all global structures need C99 initialization. Maybe Kees can provide further clarification.
If that's the motivation, *please* write it in the patch description. Otherwise no one can know why such a change becomes mandatory.
thanks,
Takashi
participants (3)
-
Amitoj Kaur Chawla
-
Julia Lawall
-
Takashi Iwai