@@ -42,7 +42,8 @@ static const struct usb_device_id line6_id_table[] = {
42
42
{ LINE6_DEVICE (0x5051 ), .driver_info = LINE6_POCKETPOD },
43
43
{ LINE6_DEVICE (0x5057 ), .driver_info = LINE6_PODHD300 },
44
44
{ LINE6_DEVICE (0x5058 ), .driver_info = LINE6_PODHD400 },
45
- { LINE6_DEVICE (0x414D ), .driver_info = LINE6_PODHD500 },
45
+ { LINE6_IF_NUM (0x414D , 0 ), .driver_info = LINE6_PODHD500_0 },
46
+ { LINE6_IF_NUM (0x414D , 1 ), .driver_info = LINE6_PODHD500_1 },
46
47
{ LINE6_DEVICE (0x4153 ), .driver_info = LINE6_PODSTUDIO_GX },
47
48
{ LINE6_DEVICE (0x4150 ), .driver_info = LINE6_PODSTUDIO_UX1 },
48
49
{ LINE6_DEVICE (0x4151 ), .driver_info = LINE6_PODSTUDIO_UX2 },
@@ -105,7 +106,14 @@ static const struct line6_properties line6_properties_table[] = {
105
106
| LINE6_CAP_PCM
106
107
| LINE6_CAP_HWMON ,
107
108
},
108
- [LINE6_PODHD500 ] = {
109
+ [LINE6_PODHD500_0 ] = {
110
+ .id = "PODHD500" ,
111
+ .name = "POD HD500" ,
112
+ .capabilities = LINE6_CAP_CONTROL
113
+ | LINE6_CAP_PCM
114
+ | LINE6_CAP_HWMON ,
115
+ },
116
+ [LINE6_PODHD500_1 ] = {
109
117
.id = "PODHD500" ,
110
118
.name = "POD HD500" ,
111
119
.capabilities = LINE6_CAP_CONTROL
@@ -451,7 +459,8 @@ static void line6_data_received(struct urb *urb)
451
459
452
460
case LINE6_PODHD300 :
453
461
case LINE6_PODHD400 :
454
- case LINE6_PODHD500 :
462
+ case LINE6_PODHD500_0 :
463
+ case LINE6_PODHD500_1 :
455
464
break ; /* let userspace handle MIDI */
456
465
457
466
case LINE6_PODXTLIVE_POD :
@@ -740,17 +749,12 @@ static int line6_probe(struct usb_interface *interface,
740
749
}
741
750
break ;
742
751
743
- case LINE6_PODHD500 :
744
- switch (interface_number ) {
745
- case 0 :
746
- alternate = 1 ;
747
- break ;
748
- case 1 :
749
- alternate = 0 ;
750
- break ;
751
- default :
752
- MISSING_CASE ;
753
- }
752
+ case LINE6_PODHD500_0 :
753
+ alternate = 1 ;
754
+ break ;
755
+
756
+ case LINE6_PODHD500_1 :
757
+ alternate = 0 ;
754
758
break ;
755
759
756
760
case LINE6_BASSPODXT :
@@ -819,7 +823,8 @@ static int line6_probe(struct usb_interface *interface,
819
823
ep_write = 0x03 ;
820
824
break ;
821
825
822
- case LINE6_PODHD500 :
826
+ case LINE6_PODHD500_0 :
827
+ case LINE6_PODHD500_1 :
823
828
size = sizeof (struct usb_line6_podhd );
824
829
ep_read = 0x81 ;
825
830
ep_write = 0x01 ;
@@ -954,7 +959,8 @@ static int line6_probe(struct usb_interface *interface,
954
959
955
960
case LINE6_PODHD300 :
956
961
case LINE6_PODHD400 :
957
- case LINE6_PODHD500 :
962
+ case LINE6_PODHD500_0 :
963
+ case LINE6_PODHD500_1 :
958
964
ret = line6_podhd_init (interface ,
959
965
(struct usb_line6_podhd * )line6 );
960
966
break ;
@@ -1061,7 +1067,8 @@ static void line6_disconnect(struct usb_interface *interface)
1061
1067
1062
1068
case LINE6_PODHD300 :
1063
1069
case LINE6_PODHD400 :
1064
- case LINE6_PODHD500 :
1070
+ case LINE6_PODHD500_0 :
1071
+ case LINE6_PODHD500_1 :
1065
1072
line6_podhd_disconnect (interface );
1066
1073
break ;
1067
1074
0 commit comments