hc
2023-12-09 b22da3d8526a935aa31e086e63f60ff3246cb61c
kernel/sound/usb/line6/toneport.c
....@@ -1,13 +1,9 @@
1
+// SPDX-License-Identifier: GPL-2.0-only
12 /*
23 * Line 6 Linux USB driver
34 *
45 * Copyright (C) 2004-2010 Markus Grabner (grabner@icg.tugraz.at)
56 * Emil Myhrman (emil.myhrman@gmail.com)
6
- *
7
- * This program is free software; you can redistribute it and/or
8
- * modify it under the terms of the GNU General Public License as
9
- * published by the Free Software Foundation, version 2.
10
- *
117 */
128
139 #include <linux/wait.h>
....@@ -61,11 +57,13 @@
6157 struct toneport_led leds[2];
6258 };
6359
60
+#define line6_to_toneport(x) container_of(x, struct usb_line6_toneport, line6)
61
+
6462 static int toneport_send_cmd(struct usb_device *usbdev, int cmd1, int cmd2);
6563
6664 #define TONEPORT_PCM_DELAY 1
6765
68
-static struct snd_ratden toneport_ratden = {
66
+static const struct snd_ratden toneport_ratden = {
6967 .num_min = 44100,
7068 .num_max = 44100,
7169 .num_step = 1,
....@@ -128,11 +126,12 @@
128126 {
129127 int ret;
130128
131
- ret = usb_control_msg(usbdev, usb_sndctrlpipe(usbdev, 0), 0x67,
132
- USB_TYPE_VENDOR | USB_RECIP_DEVICE | USB_DIR_OUT,
133
- cmd1, cmd2, NULL, 0, LINE6_TIMEOUT);
129
+ ret = usb_control_msg_send(usbdev, 0, 0x67,
130
+ USB_TYPE_VENDOR | USB_RECIP_DEVICE | USB_DIR_OUT,
131
+ cmd1, cmd2, NULL, 0, LINE6_TIMEOUT,
132
+ GFP_KERNEL);
134133
135
- if (ret < 0) {
134
+ if (ret) {
136135 dev_err(&usbdev->dev, "send failed (error %d)\n", ret);
137136 return ret;
138137 }
....@@ -211,8 +210,8 @@
211210 struct snd_ctl_elem_value *ucontrol)
212211 {
213212 struct snd_line6_pcm *line6pcm = snd_kcontrol_chip(kcontrol);
214
- struct usb_line6_toneport *toneport =
215
- (struct usb_line6_toneport *)line6pcm->line6;
213
+ struct usb_line6_toneport *toneport = line6_to_toneport(line6pcm->line6);
214
+
216215 ucontrol->value.enumerated.item[0] = toneport->source;
217216 return 0;
218217 }
....@@ -222,8 +221,7 @@
222221 struct snd_ctl_elem_value *ucontrol)
223222 {
224223 struct snd_line6_pcm *line6pcm = snd_kcontrol_chip(kcontrol);
225
- struct usb_line6_toneport *toneport =
226
- (struct usb_line6_toneport *)line6pcm->line6;
224
+ struct usb_line6_toneport *toneport = line6_to_toneport(line6pcm->line6);
227225 unsigned int source;
228226
229227 source = ucontrol->value.enumerated.item[0];
....@@ -285,8 +283,8 @@
285283 }
286284 }
287285
288
-static const char * const led_colors[2] = { "red", "green" };
289
-static const int led_init_vals[2] = { 0x00, 0x26 };
286
+static const char * const toneport_led_colors[2] = { "red", "green" };
287
+static const int toneport_led_init_vals[2] = { 0x00, 0x26 };
290288
291289 static void toneport_update_led(struct usb_line6_toneport *toneport)
292290 {
....@@ -314,9 +312,9 @@
314312
315313 led->toneport = toneport;
316314 snprintf(led->name, sizeof(led->name), "%s::%s",
317
- dev_name(dev), led_colors[i]);
315
+ dev_name(dev), toneport_led_colors[i]);
318316 leddev->name = led->name;
319
- leddev->brightness = led_init_vals[i];
317
+ leddev->brightness = toneport_led_init_vals[i];
320318 leddev->max_brightness = 0x26;
321319 leddev->brightness_set = toneport_led_brightness_set;
322320 err = led_classdev_register(dev, leddev);
....@@ -397,8 +395,7 @@
397395 */
398396 static void line6_toneport_disconnect(struct usb_line6 *line6)
399397 {
400
- struct usb_line6_toneport *toneport =
401
- (struct usb_line6_toneport *)line6;
398
+ struct usb_line6_toneport *toneport = line6_to_toneport(line6);
402399
403400 if (toneport_has_led(toneport))
404401 toneport_remove_leds(toneport);
....@@ -412,7 +409,7 @@
412409 const struct usb_device_id *id)
413410 {
414411 int err;
415
- struct usb_line6_toneport *toneport = (struct usb_line6_toneport *) line6;
412
+ struct usb_line6_toneport *toneport = line6_to_toneport(line6);
416413
417414 toneport->type = id->driver_info;
418415