* [PATCH] cleanup controllers in snd-usb-caiaq
@ 2008-11-26 15:19 Daniel Mack
2008-11-26 15:44 ` Takashi Iwai
0 siblings, 1 reply; 6+ messages in thread
From: Daniel Mack @ 2008-11-26 15:19 UTC (permalink / raw)
To: alsa-devel
[-- Attachment #1: Type: text/plain, Size: 145 bytes --]
Hi,
this patch does some code cleanup in snd-usb-caiaq. No functional change
whatsoever. Version number bumped to 1.3.9.
Best regards,
Daniel
[-- Attachment #2: caiaq-controls-cleanup.diff --]
[-- Type: text/x-diff, Size: 3458 bytes --]
Cleanup controler registration in snd-usb-caiaq.
Signed-off-by: Daniel Mack <daniel@caiaq.de>
diff --git a/sound/usb/caiaq/caiaq-control.c b/sound/usb/caiaq/caiaq-control.c
index 798ca12..fc3aed9 100644
--- a/sound/usb/caiaq/caiaq-control.c
+++ b/sound/usb/caiaq/caiaq-control.c
@@ -247,6 +247,15 @@ static struct caiaq_controller a8dj_controller[] = {
{ "Software lock", 40 }
};
+#define ADD_ALL_CONTROLS(a) \
+ for (i = 0; i < ARRAY_SIZE(a); i++) { \
+ struct caiaq_controller *c = a + i; \
+ kcontrol_template.name = c->name; \
+ kcontrol_template.private_value = c->index; \
+ kc = snd_ctl_new1(&kcontrol_template, dev); \
+ snd_ctl_add(dev->chip.card, kc); \
+ }
+
int __devinit snd_usb_caiaq_control_init(struct snd_usb_caiaqdev *dev)
{
int i;
@@ -254,59 +263,24 @@ int __devinit snd_usb_caiaq_control_init(struct snd_usb_caiaqdev *dev)
switch (dev->chip.usb_id) {
case USB_ID(USB_VID_NATIVEINSTRUMENTS, USB_PID_AK1):
- for (i = 0; i < ARRAY_SIZE(ak1_controller); i++) {
- struct caiaq_controller *c = ak1_controller + i;
- kcontrol_template.name = c->name;
- kcontrol_template.private_value = c->index;
- kc = snd_ctl_new1(&kcontrol_template, dev);
- snd_ctl_add(dev->chip.card, kc);
- }
-
+ ADD_ALL_CONTROLS(ak1_controller);
break;
case USB_ID(USB_VID_NATIVEINSTRUMENTS, USB_PID_RIGKONTROL2):
- for (i = 0; i < ARRAY_SIZE(rk2_controller); i++) {
- struct caiaq_controller *c = rk2_controller + i;
- kcontrol_template.name = c->name;
- kcontrol_template.private_value = c->index;
- kc = snd_ctl_new1(&kcontrol_template, dev);
- snd_ctl_add(dev->chip.card, kc);
- }
-
+ ADD_ALL_CONTROLS(rk2_controller);
break;
case USB_ID(USB_VID_NATIVEINSTRUMENTS, USB_PID_RIGKONTROL3):
- for (i = 0; i < ARRAY_SIZE(rk3_controller); i++) {
- struct caiaq_controller *c = rk3_controller + i;
- kcontrol_template.name = c->name;
- kcontrol_template.private_value = c->index;
- kc = snd_ctl_new1(&kcontrol_template, dev);
- snd_ctl_add(dev->chip.card, kc);
- }
-
+ ADD_ALL_CONTROLS(rk3_controller);
break;
case USB_ID(USB_VID_NATIVEINSTRUMENTS, USB_PID_KORECONTROLLER):
case USB_ID(USB_VID_NATIVEINSTRUMENTS, USB_PID_KORECONTROLLER2):
- for (i = 0; i < ARRAY_SIZE(kore_controller); i++) {
- struct caiaq_controller *c = kore_controller + i;
- kcontrol_template.name = c->name;
- kcontrol_template.private_value = c->index;
- kc = snd_ctl_new1(&kcontrol_template, dev);
- snd_ctl_add(dev->chip.card, kc);
- }
-
+ ADD_ALL_CONTROLS(kore_controller);
break;
case USB_ID(USB_VID_NATIVEINSTRUMENTS, USB_PID_AUDIO8DJ):
- for (i = 0; i < ARRAY_SIZE(a8dj_controller); i++) {
- struct caiaq_controller *c = a8dj_controller + i;
- kcontrol_template.name = c->name;
- kcontrol_template.private_value = c->index;
- kc = snd_ctl_new1(&kcontrol_template, dev);
- snd_ctl_add(dev->chip.card, kc);
- }
-
+ ADD_ALL_CONTROLS(a8dj_controller);
break;
}
diff --git a/sound/usb/caiaq/caiaq-device.c b/sound/usb/caiaq/caiaq-device.c
index 8317508..b143ef7 100644
--- a/sound/usb/caiaq/caiaq-device.c
+++ b/sound/usb/caiaq/caiaq-device.c
@@ -42,7 +42,7 @@
#endif
MODULE_AUTHOR("Daniel Mack <daniel@caiaq.de>");
-MODULE_DESCRIPTION("caiaq USB audio, version 1.3.8");
+MODULE_DESCRIPTION("caiaq USB audio, version 1.3.9");
MODULE_LICENSE("GPL");
MODULE_SUPPORTED_DEVICE("{{Native Instruments, RigKontrol2},"
"{Native Instruments, RigKontrol3},"
[-- Attachment #3: Type: text/plain, Size: 160 bytes --]
_______________________________________________
Alsa-devel mailing list
Alsa-devel@alsa-project.org
http://mailman.alsa-project.org/mailman/listinfo/alsa-devel
^ permalink raw reply related [flat|nested] 6+ messages in thread
* Re: [PATCH] cleanup controllers in snd-usb-caiaq
2008-11-26 15:19 [PATCH] cleanup controllers in snd-usb-caiaq Daniel Mack
@ 2008-11-26 15:44 ` Takashi Iwai
2008-11-26 18:57 ` Daniel Mack
0 siblings, 1 reply; 6+ messages in thread
From: Takashi Iwai @ 2008-11-26 15:44 UTC (permalink / raw)
To: Daniel Mack; +Cc: alsa-devel
At Wed, 26 Nov 2008 16:19:01 +0100,
Daniel Mack wrote:
>
> Hi,
>
> this patch does some code cleanup in snd-usb-caiaq. No functional change
> whatsoever. Version number bumped to 1.3.9.
A macro for such is ugly and potentially dangerous, IMO.
Make a function instead.
Also, please add an error check of the return value from
snd_ctl_add().
thanks,
Takashi
> Best regards,
> Daniel
>
> [2 caiaq-controls-cleanup.diff <text/x-diff; us-ascii (7bit)>]
> Cleanup controler registration in snd-usb-caiaq.
>
> Signed-off-by: Daniel Mack <daniel@caiaq.de>
>
> diff --git a/sound/usb/caiaq/caiaq-control.c b/sound/usb/caiaq/caiaq-control.c
> index 798ca12..fc3aed9 100644
> --- a/sound/usb/caiaq/caiaq-control.c
> +++ b/sound/usb/caiaq/caiaq-control.c
> @@ -247,6 +247,15 @@ static struct caiaq_controller a8dj_controller[] = {
> { "Software lock", 40 }
> };
>
> +#define ADD_ALL_CONTROLS(a) \
> + for (i = 0; i < ARRAY_SIZE(a); i++) { \
> + struct caiaq_controller *c = a + i; \
> + kcontrol_template.name = c->name; \
> + kcontrol_template.private_value = c->index; \
> + kc = snd_ctl_new1(&kcontrol_template, dev); \
> + snd_ctl_add(dev->chip.card, kc); \
> + }
> +
> int __devinit snd_usb_caiaq_control_init(struct snd_usb_caiaqdev *dev)
> {
> int i;
> @@ -254,59 +263,24 @@ int __devinit snd_usb_caiaq_control_init(struct snd_usb_caiaqdev *dev)
>
> switch (dev->chip.usb_id) {
> case USB_ID(USB_VID_NATIVEINSTRUMENTS, USB_PID_AK1):
> - for (i = 0; i < ARRAY_SIZE(ak1_controller); i++) {
> - struct caiaq_controller *c = ak1_controller + i;
> - kcontrol_template.name = c->name;
> - kcontrol_template.private_value = c->index;
> - kc = snd_ctl_new1(&kcontrol_template, dev);
> - snd_ctl_add(dev->chip.card, kc);
> - }
> -
> + ADD_ALL_CONTROLS(ak1_controller);
> break;
>
> case USB_ID(USB_VID_NATIVEINSTRUMENTS, USB_PID_RIGKONTROL2):
> - for (i = 0; i < ARRAY_SIZE(rk2_controller); i++) {
> - struct caiaq_controller *c = rk2_controller + i;
> - kcontrol_template.name = c->name;
> - kcontrol_template.private_value = c->index;
> - kc = snd_ctl_new1(&kcontrol_template, dev);
> - snd_ctl_add(dev->chip.card, kc);
> - }
> -
> + ADD_ALL_CONTROLS(rk2_controller);
> break;
>
> case USB_ID(USB_VID_NATIVEINSTRUMENTS, USB_PID_RIGKONTROL3):
> - for (i = 0; i < ARRAY_SIZE(rk3_controller); i++) {
> - struct caiaq_controller *c = rk3_controller + i;
> - kcontrol_template.name = c->name;
> - kcontrol_template.private_value = c->index;
> - kc = snd_ctl_new1(&kcontrol_template, dev);
> - snd_ctl_add(dev->chip.card, kc);
> - }
> -
> + ADD_ALL_CONTROLS(rk3_controller);
> break;
>
> case USB_ID(USB_VID_NATIVEINSTRUMENTS, USB_PID_KORECONTROLLER):
> case USB_ID(USB_VID_NATIVEINSTRUMENTS, USB_PID_KORECONTROLLER2):
> - for (i = 0; i < ARRAY_SIZE(kore_controller); i++) {
> - struct caiaq_controller *c = kore_controller + i;
> - kcontrol_template.name = c->name;
> - kcontrol_template.private_value = c->index;
> - kc = snd_ctl_new1(&kcontrol_template, dev);
> - snd_ctl_add(dev->chip.card, kc);
> - }
> -
> + ADD_ALL_CONTROLS(kore_controller);
> break;
>
> case USB_ID(USB_VID_NATIVEINSTRUMENTS, USB_PID_AUDIO8DJ):
> - for (i = 0; i < ARRAY_SIZE(a8dj_controller); i++) {
> - struct caiaq_controller *c = a8dj_controller + i;
> - kcontrol_template.name = c->name;
> - kcontrol_template.private_value = c->index;
> - kc = snd_ctl_new1(&kcontrol_template, dev);
> - snd_ctl_add(dev->chip.card, kc);
> - }
> -
> + ADD_ALL_CONTROLS(a8dj_controller);
> break;
> }
>
> diff --git a/sound/usb/caiaq/caiaq-device.c b/sound/usb/caiaq/caiaq-device.c
> index 8317508..b143ef7 100644
> --- a/sound/usb/caiaq/caiaq-device.c
> +++ b/sound/usb/caiaq/caiaq-device.c
> @@ -42,7 +42,7 @@
> #endif
>
> MODULE_AUTHOR("Daniel Mack <daniel@caiaq.de>");
> -MODULE_DESCRIPTION("caiaq USB audio, version 1.3.8");
> +MODULE_DESCRIPTION("caiaq USB audio, version 1.3.9");
> MODULE_LICENSE("GPL");
> MODULE_SUPPORTED_DEVICE("{{Native Instruments, RigKontrol2},"
> "{Native Instruments, RigKontrol3},"
> [3 <text/plain; us-ascii (7bit)>]
> _______________________________________________
> Alsa-devel mailing list
> Alsa-devel@alsa-project.org
> http://mailman.alsa-project.org/mailman/listinfo/alsa-devel
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [PATCH] cleanup controllers in snd-usb-caiaq
2008-11-26 15:44 ` Takashi Iwai
@ 2008-11-26 18:57 ` Daniel Mack
2008-11-26 20:28 ` Takashi Iwai
0 siblings, 1 reply; 6+ messages in thread
From: Daniel Mack @ 2008-11-26 18:57 UTC (permalink / raw)
To: Takashi Iwai; +Cc: alsa-devel
[-- Attachment #1: Type: text/plain, Size: 491 bytes --]
Hi Takashi,
On Wed, Nov 26, 2008 at 04:44:08PM +0100, Takashi Iwai wrote:
> > this patch does some code cleanup in snd-usb-caiaq. No functional change
> > whatsoever. Version number bumped to 1.3.9.
>
> A macro for such is ugly and potentially dangerous, IMO.
> Make a function instead.
>
> Also, please add an error check of the return value from
> snd_ctl_add().
Ok, agreed and done. However, I considered it a good idea as it avoided
writing the array's name more than once.
Daniel
[-- Attachment #2: caiaq-controls-cleanup.diff --]
[-- Type: text/x-diff, Size: 3832 bytes --]
snd-usb-caiaq: clean up the control adding code by moving dulpicate code
to a function.
Signed-off-by: Daniel Mack <daniel@caiaq.de>
diff --git a/sound/usb/caiaq/caiaq-control.c b/sound/usb/caiaq/caiaq-control.c
index 798ca12..ccd763d 100644
--- a/sound/usb/caiaq/caiaq-control.c
+++ b/sound/usb/caiaq/caiaq-control.c
@@ -247,69 +247,56 @@ static struct caiaq_controller a8dj_controller[] = {
{ "Software lock", 40 }
};
-int __devinit snd_usb_caiaq_control_init(struct snd_usb_caiaqdev *dev)
+static int __devinit add_controls(struct caiaq_controller *c, int num,
+ struct snd_usb_caiaqdev *dev)
{
- int i;
+ int i, ret;
struct snd_kcontrol *kc;
+ for (i = 0; i < num; i++, c++) {
+ kcontrol_template.name = c->name;
+ kcontrol_template.private_value = c->index;
+ kc = snd_ctl_new1(&kcontrol_template, dev);
+ ret = snd_ctl_add(dev->chip.card, kc);
+ if (ret < 0)
+ return ret;
+ }
+
+ return 0;
+}
+
+int __devinit snd_usb_caiaq_control_init(struct snd_usb_caiaqdev *dev)
+{
+ int ret = 0;
+
switch (dev->chip.usb_id) {
case USB_ID(USB_VID_NATIVEINSTRUMENTS, USB_PID_AK1):
- for (i = 0; i < ARRAY_SIZE(ak1_controller); i++) {
- struct caiaq_controller *c = ak1_controller + i;
- kcontrol_template.name = c->name;
- kcontrol_template.private_value = c->index;
- kc = snd_ctl_new1(&kcontrol_template, dev);
- snd_ctl_add(dev->chip.card, kc);
- }
-
+ ret = add_controls(ak1_controller,
+ ARRAY_SIZE(ak1_controller), dev);
break;
case USB_ID(USB_VID_NATIVEINSTRUMENTS, USB_PID_RIGKONTROL2):
- for (i = 0; i < ARRAY_SIZE(rk2_controller); i++) {
- struct caiaq_controller *c = rk2_controller + i;
- kcontrol_template.name = c->name;
- kcontrol_template.private_value = c->index;
- kc = snd_ctl_new1(&kcontrol_template, dev);
- snd_ctl_add(dev->chip.card, kc);
- }
-
+ ret = add_controls(rk2_controller,
+ ARRAY_SIZE(rk2_controller), dev);
break;
case USB_ID(USB_VID_NATIVEINSTRUMENTS, USB_PID_RIGKONTROL3):
- for (i = 0; i < ARRAY_SIZE(rk3_controller); i++) {
- struct caiaq_controller *c = rk3_controller + i;
- kcontrol_template.name = c->name;
- kcontrol_template.private_value = c->index;
- kc = snd_ctl_new1(&kcontrol_template, dev);
- snd_ctl_add(dev->chip.card, kc);
- }
-
+ ret = add_controls(rk3_controller,
+ ARRAY_SIZE(rk3_controller), dev);
break;
case USB_ID(USB_VID_NATIVEINSTRUMENTS, USB_PID_KORECONTROLLER):
case USB_ID(USB_VID_NATIVEINSTRUMENTS, USB_PID_KORECONTROLLER2):
- for (i = 0; i < ARRAY_SIZE(kore_controller); i++) {
- struct caiaq_controller *c = kore_controller + i;
- kcontrol_template.name = c->name;
- kcontrol_template.private_value = c->index;
- kc = snd_ctl_new1(&kcontrol_template, dev);
- snd_ctl_add(dev->chip.card, kc);
- }
-
+ ret = add_controls(kore_controller,
+ ARRAY_SIZE(kore_controller), dev);
break;
case USB_ID(USB_VID_NATIVEINSTRUMENTS, USB_PID_AUDIO8DJ):
- for (i = 0; i < ARRAY_SIZE(a8dj_controller); i++) {
- struct caiaq_controller *c = a8dj_controller + i;
- kcontrol_template.name = c->name;
- kcontrol_template.private_value = c->index;
- kc = snd_ctl_new1(&kcontrol_template, dev);
- snd_ctl_add(dev->chip.card, kc);
- }
-
+ ret = add_controls(a8dj_controller,
+ ARRAY_SIZE(a8dj_controller), dev);
break;
}
- return 0;
+ return ret;
}
diff --git a/sound/usb/caiaq/caiaq-device.c b/sound/usb/caiaq/caiaq-device.c
index 8317508..b143ef7 100644
--- a/sound/usb/caiaq/caiaq-device.c
+++ b/sound/usb/caiaq/caiaq-device.c
@@ -42,7 +42,7 @@
#endif
MODULE_AUTHOR("Daniel Mack <daniel@caiaq.de>");
-MODULE_DESCRIPTION("caiaq USB audio, version 1.3.8");
+MODULE_DESCRIPTION("caiaq USB audio, version 1.3.9");
MODULE_LICENSE("GPL");
MODULE_SUPPORTED_DEVICE("{{Native Instruments, RigKontrol2},"
"{Native Instruments, RigKontrol3},"
[-- Attachment #3: Type: text/plain, Size: 160 bytes --]
_______________________________________________
Alsa-devel mailing list
Alsa-devel@alsa-project.org
http://mailman.alsa-project.org/mailman/listinfo/alsa-devel
^ permalink raw reply related [flat|nested] 6+ messages in thread
* Re: [PATCH] cleanup controllers in snd-usb-caiaq
2008-11-26 18:57 ` Daniel Mack
@ 2008-11-26 20:28 ` Takashi Iwai
2008-11-26 20:31 ` Daniel Mack
0 siblings, 1 reply; 6+ messages in thread
From: Takashi Iwai @ 2008-11-26 20:28 UTC (permalink / raw)
To: Daniel Mack; +Cc: alsa-devel
At Wed, 26 Nov 2008 19:57:20 +0100,
Daniel Mack wrote:
>
> Hi Takashi,
>
> On Wed, Nov 26, 2008 at 04:44:08PM +0100, Takashi Iwai wrote:
> > > this patch does some code cleanup in snd-usb-caiaq. No functional change
> > > whatsoever. Version number bumped to 1.3.9.
> >
> > A macro for such is ugly and potentially dangerous, IMO.
> > Make a function instead.
> >
> > Also, please add an error check of the return value from
> > snd_ctl_add().
>
> Ok, agreed and done. However, I considered it a good idea as it avoided
> writing the array's name more than once.
In that case, you can use a macro, such as,
#define ADD_CTRLS(c, list) add_controls(c, ARRAY_SIZE(list), (list))
But, don't make a too complex block as a macro. A function often
gives a better code (in this case it'll get smaller) in addition to a
better readability than a big macro.
thanks,
Takashi
>
> Daniel
>
> [2 caiaq-controls-cleanup.diff <text/x-diff; us-ascii (7bit)>]
> snd-usb-caiaq: clean up the control adding code by moving dulpicate code
> to a function.
>
> Signed-off-by: Daniel Mack <daniel@caiaq.de>
>
> diff --git a/sound/usb/caiaq/caiaq-control.c b/sound/usb/caiaq/caiaq-control.c
> index 798ca12..ccd763d 100644
> --- a/sound/usb/caiaq/caiaq-control.c
> +++ b/sound/usb/caiaq/caiaq-control.c
> @@ -247,69 +247,56 @@ static struct caiaq_controller a8dj_controller[] = {
> { "Software lock", 40 }
> };
>
> -int __devinit snd_usb_caiaq_control_init(struct snd_usb_caiaqdev *dev)
> +static int __devinit add_controls(struct caiaq_controller *c, int num,
> + struct snd_usb_caiaqdev *dev)
> {
> - int i;
> + int i, ret;
> struct snd_kcontrol *kc;
>
> + for (i = 0; i < num; i++, c++) {
> + kcontrol_template.name = c->name;
> + kcontrol_template.private_value = c->index;
> + kc = snd_ctl_new1(&kcontrol_template, dev);
> + ret = snd_ctl_add(dev->chip.card, kc);
> + if (ret < 0)
> + return ret;
> + }
> +
> + return 0;
> +}
> +
> +int __devinit snd_usb_caiaq_control_init(struct snd_usb_caiaqdev *dev)
> +{
> + int ret = 0;
> +
> switch (dev->chip.usb_id) {
> case USB_ID(USB_VID_NATIVEINSTRUMENTS, USB_PID_AK1):
> - for (i = 0; i < ARRAY_SIZE(ak1_controller); i++) {
> - struct caiaq_controller *c = ak1_controller + i;
> - kcontrol_template.name = c->name;
> - kcontrol_template.private_value = c->index;
> - kc = snd_ctl_new1(&kcontrol_template, dev);
> - snd_ctl_add(dev->chip.card, kc);
> - }
> -
> + ret = add_controls(ak1_controller,
> + ARRAY_SIZE(ak1_controller), dev);
> break;
>
> case USB_ID(USB_VID_NATIVEINSTRUMENTS, USB_PID_RIGKONTROL2):
> - for (i = 0; i < ARRAY_SIZE(rk2_controller); i++) {
> - struct caiaq_controller *c = rk2_controller + i;
> - kcontrol_template.name = c->name;
> - kcontrol_template.private_value = c->index;
> - kc = snd_ctl_new1(&kcontrol_template, dev);
> - snd_ctl_add(dev->chip.card, kc);
> - }
> -
> + ret = add_controls(rk2_controller,
> + ARRAY_SIZE(rk2_controller), dev);
> break;
>
> case USB_ID(USB_VID_NATIVEINSTRUMENTS, USB_PID_RIGKONTROL3):
> - for (i = 0; i < ARRAY_SIZE(rk3_controller); i++) {
> - struct caiaq_controller *c = rk3_controller + i;
> - kcontrol_template.name = c->name;
> - kcontrol_template.private_value = c->index;
> - kc = snd_ctl_new1(&kcontrol_template, dev);
> - snd_ctl_add(dev->chip.card, kc);
> - }
> -
> + ret = add_controls(rk3_controller,
> + ARRAY_SIZE(rk3_controller), dev);
> break;
>
> case USB_ID(USB_VID_NATIVEINSTRUMENTS, USB_PID_KORECONTROLLER):
> case USB_ID(USB_VID_NATIVEINSTRUMENTS, USB_PID_KORECONTROLLER2):
> - for (i = 0; i < ARRAY_SIZE(kore_controller); i++) {
> - struct caiaq_controller *c = kore_controller + i;
> - kcontrol_template.name = c->name;
> - kcontrol_template.private_value = c->index;
> - kc = snd_ctl_new1(&kcontrol_template, dev);
> - snd_ctl_add(dev->chip.card, kc);
> - }
> -
> + ret = add_controls(kore_controller,
> + ARRAY_SIZE(kore_controller), dev);
> break;
>
> case USB_ID(USB_VID_NATIVEINSTRUMENTS, USB_PID_AUDIO8DJ):
> - for (i = 0; i < ARRAY_SIZE(a8dj_controller); i++) {
> - struct caiaq_controller *c = a8dj_controller + i;
> - kcontrol_template.name = c->name;
> - kcontrol_template.private_value = c->index;
> - kc = snd_ctl_new1(&kcontrol_template, dev);
> - snd_ctl_add(dev->chip.card, kc);
> - }
> -
> + ret = add_controls(a8dj_controller,
> + ARRAY_SIZE(a8dj_controller), dev);
> break;
> }
>
> - return 0;
> + return ret;
> }
>
> diff --git a/sound/usb/caiaq/caiaq-device.c b/sound/usb/caiaq/caiaq-device.c
> index 8317508..b143ef7 100644
> --- a/sound/usb/caiaq/caiaq-device.c
> +++ b/sound/usb/caiaq/caiaq-device.c
> @@ -42,7 +42,7 @@
> #endif
>
> MODULE_AUTHOR("Daniel Mack <daniel@caiaq.de>");
> -MODULE_DESCRIPTION("caiaq USB audio, version 1.3.8");
> +MODULE_DESCRIPTION("caiaq USB audio, version 1.3.9");
> MODULE_LICENSE("GPL");
> MODULE_SUPPORTED_DEVICE("{{Native Instruments, RigKontrol2},"
> "{Native Instruments, RigKontrol3},"
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [PATCH] cleanup controllers in snd-usb-caiaq
2008-11-26 20:28 ` Takashi Iwai
@ 2008-11-26 20:31 ` Daniel Mack
2008-11-27 7:24 ` Takashi Iwai
0 siblings, 1 reply; 6+ messages in thread
From: Daniel Mack @ 2008-11-26 20:31 UTC (permalink / raw)
To: Takashi Iwai; +Cc: alsa-devel
On 26.11.2008, at 21:28, Takashi Iwai wrote:
>> Ok, agreed and done. However, I considered it a good idea as it
>> avoided
>> writing the array's name more than once.
>
> In that case, you can use a macro, such as,
>
> #define ADD_CTRLS(c, list) add_controls(c, ARRAY_SIZE(list), (list))
>
> But, don't make a too complex block as a macro. A function often
> gives a better code (in this case it'll get smaller) in addition to a
> better readability than a big macro.
Ok. Do you want me to do this or are you fine with the code as-is?
Daniel
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [PATCH] cleanup controllers in snd-usb-caiaq
2008-11-26 20:31 ` Daniel Mack
@ 2008-11-27 7:24 ` Takashi Iwai
0 siblings, 0 replies; 6+ messages in thread
From: Takashi Iwai @ 2008-11-27 7:24 UTC (permalink / raw)
To: Daniel Mack; +Cc: alsa-devel
At Wed, 26 Nov 2008 21:31:59 +0100,
Daniel Mack wrote:
>
>
> On 26.11.2008, at 21:28, Takashi Iwai wrote:
>
> >> Ok, agreed and done. However, I considered it a good idea as it
> >> avoided
> >> writing the array's name more than once.
> >
> > In that case, you can use a macro, such as,
> >
> > #define ADD_CTRLS(c, list) add_controls(c, ARRAY_SIZE(list), (list))
> >
> > But, don't make a too complex block as a macro. A function often
> > gives a better code (in this case it'll get smaller) in addition to a
> > better readability than a big macro.
>
> Ok. Do you want me to do this or are you fine with the code as-is?
I have no big preference.
But, since it's not bad to have ARRAY_SIZE() explicitly in the code
(then you notice that it's no null-terminated array), I applied your
previous one now.
thanks,
Takashi
^ permalink raw reply [flat|nested] 6+ messages in thread
end of thread, other threads:[~2008-11-27 7:24 UTC | newest]
Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2008-11-26 15:19 [PATCH] cleanup controllers in snd-usb-caiaq Daniel Mack
2008-11-26 15:44 ` Takashi Iwai
2008-11-26 18:57 ` Daniel Mack
2008-11-26 20:28 ` Takashi Iwai
2008-11-26 20:31 ` Daniel Mack
2008-11-27 7:24 ` Takashi Iwai
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.