Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1667961 > unrolled thread

[PATCH 1/2] ALSA: line6: add support for POD HD500X

Started byHans P. Möller Ebner <hmoller@uc.cl>
First post2017-06-16 20:20 +0200
Last post2017-06-17 23:30 +0200
Articles 3 — 2 participants

Back to article view | Back to linux.kernel


Contents

  [PATCH 1/2] ALSA: line6: add support for POD HD500X Hans P. Möller Ebner <hmoller@uc.cl> - 2017-06-16 20:20 +0200
    [PATCH 2/2] ALSA:line6: remove unnecessary initialization to PODHD500X. Hans P. Möller Ebner <hmoller@uc.cl> - 2017-06-16 20:20 +0200
    Re: [alsa-devel] [PATCH 1/2] ALSA: line6: add support for POD HD500X Takashi Iwai <tiwai@suse.de> - 2017-06-17 23:30 +0200

#1667961 — [PATCH 1/2] ALSA: line6: add support for POD HD500X

FromHans P. Möller Ebner <hmoller@uc.cl>
Date2017-06-16 20:20 +0200
Subject[PATCH 1/2] ALSA: line6: add support for POD HD500X
Message-ID<tT40F-3II-15@gated-at.bofh.it>
Add support for the Line6 POD HD500X multi effect processor for playback and capture (in/out audio) through USB.

Signed-off-by: Hans P. Moller <hmoller@uc.cl>
---
 sound/usb/line6/podhd.c | 17 ++++++++++++++++-
 1 file changed, 16 insertions(+), 1 deletion(-)

diff --git a/sound/usb/line6/podhd.c b/sound/usb/line6/podhd.c
index 6ab23e5..e389f92 100644
--- a/sound/usb/line6/podhd.c
+++ b/sound/usb/line6/podhd.c
@@ -3,6 +3,7 @@
  *
  * Copyright (C) 2011 Stefan Hajnoczi <stefanha@gmail.com>
  * Copyright (C) 2015 Andrej Krutak <dev@andree.sk>
+ * Copyright (C) 2015 Hans P. Moller <hmoller@uc.cl>
  *
  *	This program is free software; you can redistribute it and/or
  *	modify it under the terms of the GNU General Public License as
@@ -37,7 +38,8 @@ enum {
 	LINE6_PODHD500_0,
 	LINE6_PODHD500_1,
 	LINE6_PODX3,
-	LINE6_PODX3LIVE
+	LINE6_PODX3LIVE,
+	LINE6_PODHD500X
 };
 
 struct usb_line6_podhd {
@@ -372,6 +374,7 @@ static const struct usb_device_id podhd_id_table[] = {
 	{ LINE6_IF_NUM(0x414D, 1), .driver_info = LINE6_PODHD500_1 },
 	{ LINE6_IF_NUM(0x414A, 0), .driver_info = LINE6_PODX3 },
 	{ LINE6_IF_NUM(0x414B, 0), .driver_info = LINE6_PODX3LIVE },
+	{ LINE6_IF_NUM(0x4159, 0), .driver_info = LINE6_PODHD500X },
 	{}
 };
 
@@ -446,6 +449,18 @@ static const struct line6_properties podhd_properties_table[] = {
 		.ep_audio_r = 0x86,
 		.ep_audio_w = 0x02,
 	},
+	[LINE6_PODHD500X] = {
+		.id = "PODHD500X",
+		.name = "POD HD500X",
+		.capabilities	= LINE6_CAP_CONTROL
+				| LINE6_CAP_PCM | LINE6_CAP_HWMON,
+		.altsetting = 1,
+		.ep_ctrl_r = 0x81,
+		.ep_ctrl_w = 0x01,
+		.ctrl_if = 1,
+		.ep_audio_r = 0x86,
+		.ep_audio_w = 0x02,
+	},
 };
 
 /*
-- 
2.7.4

[toc] | [next] | [standalone]


#1667962 — [PATCH 2/2] ALSA:line6: remove unnecessary initialization to PODHD500X.

FromHans P. Möller Ebner <hmoller@uc.cl>
Date2017-06-16 20:20 +0200
Subject[PATCH 2/2] ALSA:line6: remove unnecessary initialization to PODHD500X.
Message-ID<tT40G-3II-17@gated-at.bofh.it>
In reply to#1667961
Body:
Remove Initialization from POD HD500X because it's not needed.
Every time the device is connected dmesg gives the following output: "receive length failed (error -11)".
To solve this problem, another flags is introduced (LINE6_CAP_CONTROL_INFO) and it is only used for PODX3 in: sysfs entries, call podhd_startup_finalize(pod) and disconnection.
With this patch the error disappear.

Signed-off-by: Hans P. Moller <hmoller@uc.cl>
---
 sound/usb/line6/driver.h |  2 ++
 sound/usb/line6/podhd.c  | 12 +++++++-----
 2 files changed, 9 insertions(+), 5 deletions(-)

diff --git a/sound/usb/line6/driver.h b/sound/usb/line6/driver.h
index a5c2e9a..dc97895 100644
--- a/sound/usb/line6/driver.h
+++ b/sound/usb/line6/driver.h
@@ -117,6 +117,8 @@ enum {
 	LINE6_CAP_IN_NEEDS_OUT = 1 << 3,
 	/* device uses raw MIDI via USB (data endpoints) */
 	LINE6_CAP_CONTROL_MIDI = 1 << 4,
+	/* device provides low-level information */
+	LINE6_CAP_CONTROL_INFO = 1 << 5,
 };
 
 /*
diff --git a/sound/usb/line6/podhd.c b/sound/usb/line6/podhd.c
index e389f92..49c034c 100644
--- a/sound/usb/line6/podhd.c
+++ b/sound/usb/line6/podhd.c
@@ -293,7 +293,7 @@ static void podhd_disconnect(struct usb_line6 *line6)
 {
 	struct usb_line6_podhd *pod = (struct usb_line6_podhd *)line6;
 
-	if (pod->line6.properties->capabilities & LINE6_CAP_CONTROL) {
+	if (pod->line6.properties->capabilities & LINE6_CAP_CONTROL_INFO) {
 		struct usb_interface *intf;
 
 		del_timer_sync(&pod->startup_timer);
@@ -333,7 +333,9 @@ static int podhd_init(struct usb_line6 *line6,
 				pod->line6.properties->ctrl_if, err);
 			return err;
 		}
-
+	}
+	
+	if (pod->line6.properties->capabilities & LINE6_CAP_CONTROL_INFO) {
 		/* create sysfs entries: */
 		err = snd_card_add_dev_attr(line6->card, &podhd_dev_attr_group);
 		if (err < 0)
@@ -350,7 +352,7 @@ static int podhd_init(struct usb_line6 *line6,
 			return err;
 	}
 
-	if (!(pod->line6.properties->capabilities & LINE6_CAP_CONTROL)) {
+	if (!(pod->line6.properties->capabilities & LINE6_CAP_CONTROL_INFO)) {
 		/* register USB audio system directly */
 		return podhd_startup_finalize(pod);
 	}
@@ -428,7 +430,7 @@ static const struct line6_properties podhd_properties_table[] = {
 	[LINE6_PODX3] = {
 		.id = "PODX3",
 		.name = "POD X3",
-		.capabilities	= LINE6_CAP_CONTROL
+		.capabilities	= LINE6_CAP_CONTROL | LINE6_CAP_CONTROL_INFO
 				| LINE6_CAP_PCM | LINE6_CAP_HWMON | LINE6_CAP_IN_NEEDS_OUT,
 		.altsetting = 1,
 		.ep_ctrl_r = 0x81,
@@ -440,7 +442,7 @@ static const struct line6_properties podhd_properties_table[] = {
 	[LINE6_PODX3LIVE] = {
 		.id = "PODX3LIVE",
 		.name = "POD X3 LIVE",
-		.capabilities	= LINE6_CAP_CONTROL
+		.capabilities	= LINE6_CAP_CONTROL | LINE6_CAP_CONTROL_INFO
 				| LINE6_CAP_PCM | LINE6_CAP_HWMON | LINE6_CAP_IN_NEEDS_OUT,
 		.altsetting = 1,
 		.ep_ctrl_r = 0x81,
-- 
2.7.4

[toc] | [prev] | [next] | [standalone]


#1668396 — Re: [alsa-devel] [PATCH 1/2] ALSA: line6: add support for POD HD500X

FromTakashi Iwai <tiwai@suse.de>
Date2017-06-17 23:30 +0200
SubjectRe: [alsa-devel] [PATCH 1/2] ALSA: line6: add support for POD HD500X
Message-ID<tTts6-4qq-3@gated-at.bofh.it>
In reply to#1667961
On Sat, 17 Jun 2017 21:03:40 +0200,
Hans Peter Möller wrote:
> 
> My mistake, 2017, sorry. Should I generate again the 2 commits? or a third
> just correcting that? How should I handle it?

It's basically up to you.  I can fix it in my side for such a trivial
thing, too, so no need for resend unless anyone else finds more
issue.


thanks,

Takashi

> brgds
> HPM
> 
> On Sat, Jun 17, 2017 at 12:03 PM, Takashi Iwai <tiwai@suse.de> wrote:
> 
> > On Fri, 16 Jun 2017 20:14:16 +0200,
> > Hans P. Möller Ebner wrote:
> > >
> > > Add support for the Line6 POD HD500X multi effect processor for playback
> > and capture (in/out audio) through USB.
> > >
> > > Signed-off-by: Hans P. Moller <hmoller@uc.cl>
> > > ---
> > >  sound/usb/line6/podhd.c | 17 ++++++++++++++++-
> > >  1 file changed, 16 insertions(+), 1 deletion(-)
> > >
> > > diff --git a/sound/usb/line6/podhd.c b/sound/usb/line6/podhd.c
> > > index 6ab23e5..e389f92 100644
> > > --- a/sound/usb/line6/podhd.c
> > > +++ b/sound/usb/line6/podhd.c
> > > @@ -3,6 +3,7 @@
> > >   *
> > >   * Copyright (C) 2011 Stefan Hajnoczi <stefanha@gmail.com>
> > >   * Copyright (C) 2015 Andrej Krutak <dev@andree.sk>
> > > + * Copyright (C) 2015 Hans P. Moller <hmoller@uc.cl>
> >
> > Was the code written in two years ago?  Otherwise put 2017.
> > (Or you can omit such a change, too.  The change history can be
> >  tracked via git nowadays.)
> >
> >
> > thanks,
> >
> > Takashi
> >
> [2  <text/html; UTF-8 (quoted-printable)>]
> 

[toc] | [prev] | [standalone]


Back to top | Article view | linux.kernel


csiph-web