From: Stefan Hajnoczi <stefanha@gmail.com>
To: devel@driverdev.osuosl.org
Cc: Markus Grabner <grabner@icg.tugraz.at>,
Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
line6linux-devel@lists.sourceforge.net,
<linux-kernel@vger.kernel.org>,
laurent_navet@yahoo.com, Stefan Hajnoczi <stefanha@gmail.com>
Subject: [PATCH 21/46] staging: line6: drop tuner_pitch sysfs attr
Date: Thu, 22 Nov 2012 20:49:00 +0100 [thread overview]
Message-ID: <1353613765-18690-22-git-send-email-stefanha@gmail.com> (raw)
In-Reply-To: <1353613765-18690-1-git-send-email-stefanha@gmail.com>
Dropping this final tuner sysfs attr also leaves the
POD_GET_SYSTEM_PARAM() macro, pod_get_system_param_string(), and
pod_get_system_param_int() unused. Remove them immediately to avoid
compiler warnings.
POD_monitor_level is now the only SYSEX value that needs to be watched
by the driver since the ALSA volume control should reflect the current
monitor volume level used by the device. Therefore, drop the switch
statement entirely and just check for POD_monitor_level, ignoring
unknown system parameter changes.
Signed-off-by: Stefan Hajnoczi <stefanha@gmail.com>
---
drivers/staging/line6/pod.c | 102 +-------------------------------------------
drivers/staging/line6/pod.h | 15 -------
2 files changed, 1 insertion(+), 116 deletions(-)
diff --git a/drivers/staging/line6/pod.c b/drivers/staging/line6/pod.c
index df2f37a..052db4a 100644
--- a/drivers/staging/line6/pod.c
+++ b/drivers/staging/line6/pod.c
@@ -236,28 +236,8 @@ void line6_pod_process_message(struct usb_line6_pod *pod)
<< 8) |
((int)buf[9] << 4) | (int)buf[10];
-#define PROCESS_SYSTEM_PARAM(x) \
- case POD_ ## x: \
- pod->x.value = value; \
- wake_up(&pod->x.wait); \
- break;
-
- switch (buf[6]) {
- case POD_monitor_level:
+ if (buf[6] == POD_monitor_level)
pod->monitor_level = value;
- break;
-
- PROCESS_SYSTEM_PARAM
- (tuner_pitch);
-
-#undef PROCESS_SYSTEM_PARAM
-
- default:
- dev_dbg(pod->line6.ifcdev,
- "unknown tuner/system response %02X\n",
- buf[6]);
- }
-
break;
}
@@ -363,66 +343,6 @@ static bool pod_is_tuner(int code)
}
/*
- Get system parameter (as integer).
- @param tuner non-zero, if code refers to a tuner parameter
-*/
-static int pod_get_system_param_int(struct usb_line6_pod *pod, int *value,
- int code, struct ValueWait *param, int sign)
-{
- char *sysex;
- static const int size = 1;
- int retval = 0;
-
- if (((pod->prog_data.control[POD_tuner] & 0x40) == 0)
- && pod_is_tuner(code))
- return -ENODEV;
-
- /* send value request to device: */
- param->value = POD_system_invalid;
- sysex = pod_alloc_sysex_buffer(pod, POD_SYSEX_SYSTEMREQ, size);
-
- if (!sysex)
- return -ENOMEM;
-
- sysex[SYSEX_DATA_OFS] = code;
- line6_send_sysex_message(&pod->line6, sysex, size);
- kfree(sysex);
-
- /* wait for device to respond: */
- retval =
- wait_event_interruptible(param->wait,
- param->value != POD_system_invalid);
-
- if (retval < 0)
- return retval;
-
- *value = sign ? (int)(signed short)param->value : (int)(unsigned short)
- param->value;
-
- if (*value == POD_system_invalid)
- *value = 0; /* don't report uninitialized values */
-
- return 0;
-}
-
-/*
- Get system parameter (as string).
- @param tuner non-zero, if code refers to a tuner parameter
-*/
-static ssize_t pod_get_system_param_string(struct usb_line6_pod *pod, char *buf,
- int code, struct ValueWait *param,
- int sign)
-{
- int retval, value = 0;
- retval = pod_get_system_param_int(pod, &value, code, param, sign);
-
- if (retval < 0)
- return retval;
-
- return sprintf(buf, "%d\n", value);
-}
-
-/*
Send system parameter (from integer).
@param tuner non-zero, if code refers to a tuner parameter
*/
@@ -604,20 +524,6 @@ static void pod_startup5(struct work_struct *work)
line6->properties->device_bit, line6->ifcdev);
}
-#define POD_GET_SYSTEM_PARAM(code, sign) \
-static ssize_t pod_get_ ## code(struct device *dev, \
- struct device_attribute *attr, char *buf) \
-{ \
- struct usb_interface *interface = to_usb_interface(dev); \
- struct usb_line6_pod *pod = usb_get_intfdata(interface); \
- return pod_get_system_param_string(pod, buf, POD_ ## code, \
- &pod->code, sign); \
-}
-
-POD_GET_SYSTEM_PARAM(tuner_pitch, 1);
-
-#undef GET_SYSTEM_PARAM
-
/* POD special files: */
static DEVICE_ATTR(device_id, S_IRUGO, pod_get_device_id, line6_nop_write);
static DEVICE_ATTR(finish, S_IWUSR, line6_nop_read, pod_set_finish);
@@ -627,7 +533,6 @@ static DEVICE_ATTR(midi_postprocess, S_IWUSR | S_IRUGO,
pod_get_midi_postprocess, pod_set_midi_postprocess);
static DEVICE_ATTR(serial_number, S_IRUGO, pod_get_serial_number,
line6_nop_write);
-static DEVICE_ATTR(tuner_pitch, S_IRUGO, pod_get_tuner_pitch, line6_nop_write);
#ifdef CONFIG_LINE6_USB_RAW
static DEVICE_ATTR(raw, S_IWUSR, line6_nop_read, line6_set_raw);
@@ -711,7 +616,6 @@ static int pod_create_files2(struct device *dev)
CHECK_RETURN(device_create_file(dev, &dev_attr_firmware_version));
CHECK_RETURN(device_create_file(dev, &dev_attr_midi_postprocess));
CHECK_RETURN(device_create_file(dev, &dev_attr_serial_number));
- CHECK_RETURN(device_create_file(dev, &dev_attr_tuner_pitch));
#ifdef CONFIG_LINE6_USB_RAW
CHECK_RETURN(device_create_file(dev, &dev_attr_raw));
@@ -735,9 +639,6 @@ static int pod_try_init(struct usb_interface *interface,
if ((interface == NULL) || (pod == NULL))
return -ENODEV;
- /* initialize wait queues: */
- init_waitqueue_head(&pod->tuner_pitch.wait);
-
/* initialize USB buffers: */
err = line6_dumpreq_init(&pod->dumpreq, pod_request_channel,
sizeof(pod_request_channel));
@@ -830,7 +731,6 @@ void line6_pod_disconnect(struct usb_interface *interface)
device_remove_file(dev, &dev_attr_firmware_version);
device_remove_file(dev, &dev_attr_midi_postprocess);
device_remove_file(dev, &dev_attr_serial_number);
- device_remove_file(dev, &dev_attr_tuner_pitch);
#ifdef CONFIG_LINE6_USB_RAW
device_remove_file(dev, &dev_attr_raw);
diff --git a/drivers/staging/line6/pod.h b/drivers/staging/line6/pod.h
index 4930742..481cce6 100644
--- a/drivers/staging/line6/pod.h
+++ b/drivers/staging/line6/pod.h
@@ -15,7 +15,6 @@
#include <linux/interrupt.h>
#include <linux/spinlock.h>
#include <linux/usb.h>
-#include <linux/wait.h>
#include <sound/core.h>
@@ -54,15 +53,6 @@ enum {
};
/**
- Data structure for values that need to be requested explicitly.
- This is the case for system and tuner settings.
-*/
-struct ValueWait {
- int value;
- wait_queue_head_t wait;
-};
-
-/**
Binary PODxt Pro program dump
*/
struct pod_program {
@@ -99,11 +89,6 @@ struct usb_line6_pod {
struct pod_program prog_data_buf;
/**
- Pitch value received from tuner.
- */
- struct ValueWait tuner_pitch;
-
- /**
Instrument monitor level.
*/
int monitor_level;
--
1.8.0
next prev parent reply other threads:[~2012-11-22 20:10 UTC|newest]
Thread overview: 50+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-11-22 19:48 [PATCH 00/46] staging: line6: drop MIDI state sysfs attrs Stefan Hajnoczi
2012-11-22 19:48 ` [PATCH 01/46] staging: line6: drop channel sysfs attr Stefan Hajnoczi
2012-11-22 19:48 ` [PATCH 02/46] staging: line6: drop clip " Stefan Hajnoczi
2012-11-22 19:48 ` [PATCH 03/46] staging: line6: drop unused param_dirty bitmap Stefan Hajnoczi
2012-11-22 19:48 ` [PATCH 04/46] staging: line6: drop dirty sysfs attr Stefan Hajnoczi
2012-11-22 19:48 ` [PATCH 05/46] staging: line6: drop dump " Stefan Hajnoczi
2012-11-22 19:48 ` [PATCH 06/46] staging: line6: drop dump_buf " Stefan Hajnoczi
2012-11-22 19:48 ` [PATCH 07/46] staging: line6: drop monitor_level " Stefan Hajnoczi
2012-11-22 19:48 ` [PATCH 08/46] staging: line6: change monitor_level type ValueWait -> int Stefan Hajnoczi
2012-11-22 19:48 ` [PATCH 09/46] staging: line6: drop name sysfs attr Stefan Hajnoczi
2012-11-22 19:48 ` [PATCH 10/46] staging: line6: drop name_buf " Stefan Hajnoczi
2012-11-22 19:48 ` [PATCH 11/46] staging: line6: drop retrieve_amp_setup " Stefan Hajnoczi
2012-11-22 19:48 ` [PATCH 12/46] staging: line6: drop retrieve_channel " Stefan Hajnoczi
2012-11-22 19:48 ` [PATCH 13/46] staging: line6: drop retrieve_effects_setup " Stefan Hajnoczi
2012-11-22 19:48 ` [PATCH 14/46] staging: line6: drop store_amp_setup " Stefan Hajnoczi
2012-11-22 19:48 ` [PATCH 15/46] staging: line6: drop store_channel " Stefan Hajnoczi
2012-11-22 19:48 ` [PATCH 16/46] staging: line6: drop store_effects_setup " Stefan Hajnoczi
2012-11-22 19:48 ` [PATCH 17/46] staging: line6: drop routing " Stefan Hajnoczi
2012-11-22 19:48 ` [PATCH 18/46] staging: line6: drop tuner_freq " Stefan Hajnoczi
2012-11-22 19:48 ` [PATCH 19/46] staging: line6: drop tuner_note " Stefan Hajnoczi
2012-11-22 19:48 ` [PATCH 20/46] staging: line6: drop tuner_mute " Stefan Hajnoczi
2012-11-22 19:49 ` Stefan Hajnoczi [this message]
2012-11-22 19:49 ` [PATCH 22/46] staging: line6: drop finish " Stefan Hajnoczi
2012-11-22 19:49 ` [PATCH 23/46] staging: line6: drop midi_postprocess " Stefan Hajnoczi
2012-11-22 19:49 ` [PATCH 24/46] staging: line6: drop midi_mask_receive Stefan Hajnoczi
2012-11-22 19:49 ` [PATCH 25/46] staging: line6: drop midi_mask_transmit Stefan Hajnoczi
2012-11-22 19:49 ` [PATCH 26/46] staging: line6: drop midi_postprocess flag Stefan Hajnoczi
2012-11-22 19:49 ` [PATCH 27/46] staging: line6: drop pod.c raw sysfs attr Stefan Hajnoczi
2012-11-22 19:49 ` [PATCH 28/46] staging: line6: drop tuner param filtering Stefan Hajnoczi
2012-11-22 19:49 ` [PATCH 29/46] staging: line6: drop variax model sysfs attr Stefan Hajnoczi
2012-11-22 19:49 ` [PATCH 30/46] staging: line6: drop variax volume " Stefan Hajnoczi
2012-11-22 19:49 ` [PATCH 31/46] staging: line6: drop variax tone " Stefan Hajnoczi
2012-11-22 19:49 ` [PATCH 32/46] staging: line6: drop variax name " Stefan Hajnoczi
2012-11-22 19:49 ` [PATCH 33/46] staging: line6: drop variax bank " Stefan Hajnoczi
2012-11-22 19:49 ` [PATCH 34/46] staging: line6: drop variax dump " Stefan Hajnoczi
2012-11-22 19:49 ` [PATCH 35/46] staging: line6: drop variax active " Stefan Hajnoczi
2012-11-22 19:49 ` [PATCH 36/46] staging: line6: drop variax guitar " Stefan Hajnoczi
2012-11-22 19:49 ` [PATCH 37/46] staging: line6: drop variax raw sysfs attrs Stefan Hajnoczi
2012-11-22 19:49 ` [PATCH 38/46] staging: line6: drop CONFIG_LINE6_USB_RAW Stefan Hajnoczi
2012-11-22 19:49 ` [PATCH 39/46] staging: line6: drop amp/effects dump request triggers Stefan Hajnoczi
2012-11-22 19:49 ` [PATCH 40/46] staging: line6: drop MIDI parameter sysfs attrs Stefan Hajnoczi
2012-11-22 19:49 ` [PATCH 41/46] staging: line6: drop pod prog_data buffers Stefan Hajnoczi
2012-11-22 19:49 ` [PATCH 42/46] staging: line6: drop unused pod atomic_flags field Stefan Hajnoczi
2012-11-22 19:49 ` [PATCH 43/46] staging: line6: drop variax model_data field Stefan Hajnoczi
2012-11-22 19:49 ` [PATCH 44/46] staging: line6: drop dump requests from variax startup Stefan Hajnoczi
2012-11-22 19:49 ` [PATCH 45/46] staging: line6: drop dump requests from pod startup Stefan Hajnoczi
2012-11-22 19:49 ` [PATCH 46/46] staging: line6: drop unused dumprequest code Stefan Hajnoczi
2012-11-22 19:58 ` [PATCH 00/46] staging: line6: drop MIDI state sysfs attrs Greg Kroah-Hartman
2012-11-22 20:08 ` Stefan Hajnoczi
2012-11-24 0:13 ` Markus Grabner
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1353613765-18690-22-git-send-email-stefanha@gmail.com \
--to=stefanha@gmail.com \
--cc=devel@driverdev.osuosl.org \
--cc=grabner@icg.tugraz.at \
--cc=gregkh@linuxfoundation.org \
--cc=laurent_navet@yahoo.com \
--cc=line6linux-devel@lists.sourceforge.net \
--cc=linux-kernel@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox