aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/staging/line6/pod.c (follow)
AgeCommit message (Collapse)AuthorFilesLines
2015-01-12ALSA: move line6 usb driver into sound/usbTakashi Iwai1-453/+0
Promote line6 driver from staging to sound/usb/line6 directory, and maintain through sound subsystem tree. This commit just moves the code and adapts Makefile / Kconfig. The further renames and misc cleanups will follow. Signed-off-by: Takashi Iwai <tiwai@suse.de>
2015-01-12staging: line6: Make *_disconnect() functions staticChris Rorvick1-29/+29
Remove declarations from the header and move the definitions up in the source so they need not be forward declared. Signed-off-by: Chris Rorvick <chris@rorvick.com> Reviewed-by: Stefan Hajnoczi <stefanha@gmail.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> Signed-off-by: Takashi Iwai <tiwai@suse.de>
2015-01-12staging: line6: Call *_disconnect() via pointerChris Rorvick1-0/+1
Which *_disconnect() to call on disconnect is known at initialization. Add a function pointer to the `usb_line6' struct and use to call into the appropriate logic instead of evaluating the conditional logic. Signed-off-by: Chris Rorvick <chris@rorvick.com> Reviewed-by: Stefan Hajnoczi <stefanha@gmail.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> Signed-off-by: Takashi Iwai <tiwai@suse.de>
2015-01-12staging: line6: Call *_process_message() via pointerChris Rorvick1-1/+3
Which *_process_message() function (if any) to call when data is received is known at initialization. Add a function pointer to the `usb_line6' struct and use to call into the appropriate logic instead of evaluating the conditional logic for each message. Signed-off-by: Chris Rorvick <chris@rorvick.com> Reviewed-by: Stefan Hajnoczi <stefanha@gmail.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> Signed-off-by: Takashi Iwai <tiwai@suse.de>
2015-01-12staging: line6: Pass *_process_message() `usb_line6' pointersChris Rorvick1-1/+2
Casting the `struct usb_line6' pointer at the call point makes the code difficult to read. This is substantially cleaned up by moving the cast into the callees. Signed-off-by: Chris Rorvick <chris@rorvick.com> Reviewed-by: Stefan Hajnoczi <stefanha@gmail.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> Signed-off-by: Takashi Iwai <tiwai@suse.de>
2015-01-12staging: line6: Pass *_init() `usb_line6' pointersChris Rorvick1-4/+4
Casting the `struct usb_line6' pointer at the call point makes the code difficult to read. This is substantially cleaned up by moving the cast into the callees. Signed-off-by: Chris Rorvick <chris@rorvick.com> Reviewed-by: Stefan Hajnoczi <stefanha@gmail.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> Signed-off-by: Takashi Iwai <tiwai@suse.de>
2015-01-12staging: line6: Rename capability macrosChris Rorvick1-1/+1
Including "BIT" in the macro name is pointless. Replace with "CAP" to provide some context for what its value represents. Signed-off-by: Chris Rorvick <chris@rorvick.com> Reviewed-by: Stefan Hajnoczi <stefanha@gmail.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> Signed-off-by: Takashi Iwai <tiwai@suse.de>
2015-01-12staging: line6: Remove line6_pod_transmit_paramter()Chris Rorvick1-9/+0
This function was no longer used as of commit 2807904441d4 (staging: line6: drop MIDI parameter sysfs attrs). Signed-off-by: Chris Rorvick <chris@rorvick.com> Reviewed-by: Stefan Hajnoczi <stefanha@gmail.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> Signed-off-by: Takashi Iwai <tiwai@suse.de>
2014-05-15staging/line6: blank line after declaration cleanupJerry Snitselaar1-0/+5
Fix coding style warnings reported by checkpath. Signed-off-by: Jerry Snitselaar <dev@snitselaar.org> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2013-08-24staging: line6: use default sysfs attribute macrosGreg Kroah-Hartman1-12/+9
Move to use the DEVICE_ATTR_RW/RO macros, making it easier to audit the sysfs file permissions, and get rid of the "empty" callback for read-only files, saving lines of code. Cc: Stefan Hajnoczi <stefanha@gmail.com> Cc: Laurent Navet <laurent.navet@gmail.com> Cc: Johannes Thumshirn <morbidrsa@googlemail.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2013-03-11staging: line6: pod.c: fix checkpatch warningLaurent Navet1-2/+1
- WARNING: braces {} are not necessary for single statement blocks Signed-off-by: Laurent Navet <laurent.navet@gmail.com> Reviewed-by: Stefan Hajnoczi <stefanha@gmail.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2013-01-20staging: line6: clean up line6_pod_process_message()Stefan Hajnoczi1-77/+19
Previous versions of the line6 driver snooped MIDI traffic in order to make device state accessible via sysfs attributes. This involved a lot of logic in line6_pod_process_message() that has since been removed. Drop unused conditionals in line6_pod_process_message() and reduce the levels of indentation. Only two MIDI messages are still tracked: the POD version message on startup and monitor level changes originating from the device. Signed-off-by: Stefan Hajnoczi <stefanha@gmail.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2013-01-11staging: line6: avoid CamelCase POD_* enums in pod.cStefan Hajnoczi1-5/+5
Fix the following checkpatch.pl warnings: WARNING: Avoid CamelCase: <POD_monitor_level> #4512: FILE: staging/line6/pod.c:41: + POD_monitor_level = 0x04, WARNING: Avoid CamelCase: <POD_system_invalid> #4513: FILE: staging/line6/pod.c:42: + POD_system_invalid = 0x10000 Signed-off-by: Stefan Hajnoczi <stefanha@gmail.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2013-01-11staging: line6: wrap lines to 80 chars in pod.cStefan Hajnoczi1-2/+5
Fix the following checkpatch.pl warnings: WARNING: line over 80 characters #4508: FILE: staging/line6/pod.c:37: + /* POD_SYSEX_DUMPMEM2 = 0x76 */ /* dumps entire internal memory of PODxt Pro */ WARNING: line over 80 characters #4630: FILE: staging/line6/pod.c:159: + if (memcmp(buf + 1, line6_midi_id, sizeof(line6_midi_id)) == 0) { Signed-off-by: Stefan Hajnoczi <stefanha@gmail.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2012-11-26staging: line6: drop dump requests from pod startupStefan Hajnoczi1-40/+4
The pod startup procedure dumps model data. This is no longer useful since the sysfs attrs which expose this information to userspace have been removed. The dump request wasn't been processed anymore. Signed-off-by: Stefan Hajnoczi <stefanha@gmail.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2012-11-26staging: line6: drop unused pod atomic_flags fieldStefan Hajnoczi1-11/+0
Signed-off-by: Stefan Hajnoczi <stefanha@gmail.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2012-11-26staging: line6: drop pod prog_data buffersStefan Hajnoczi1-43/+3
The driver no longer keeps state of MIDI-accessible device parameters. Drop the buffers but be careful to keep the device startup procedure working even though we no longer store the contents of the dump request. The startup procedure will be simplified in a later patch. Signed-off-by: Stefan Hajnoczi <stefanha@gmail.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2012-11-26staging: line6: drop MIDI parameter sysfs attrsStefan Hajnoczi1-9/+0
Both pod.c and variax.c expose the device's MIDI parameters as sysfs attrs. Knowledge of MIDI constants should be in userspace, not in the driver. Drop the sysfs attrs and let userspace interpret parameters it cares about instead. Signed-off-by: Stefan Hajnoczi <stefanha@gmail.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2012-11-26staging: line6: drop amp/effects dump request triggersStefan Hajnoczi1-9/+0
Since the driver no longer needs to keep state of device parameters it is no longer necessary to refresh state when messages that affect other parameters are sent. Drop the code to trigger a dump when amp/effects are changed. Signed-off-by: Stefan Hajnoczi <stefanha@gmail.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2012-11-26staging: line6: drop tuner param filteringStefan Hajnoczi1-21/+0
The pod_set_system_param_int() helper function is only used to set the monitor level. Previously it was also used to control the tuner and has special checks. These checks can now be dropped, along with the tuner constants. Signed-off-by: Stefan Hajnoczi <stefanha@gmail.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2012-11-26staging: line6: drop pod.c raw sysfs attrStefan Hajnoczi1-13/+0
The raw sysfs attr transmits MIDI messages with less filtering. This was a useful debugging tool while the staging driver still had a lot of state and filtering. It is not useful anymore since the filtering is being dropped. Signed-off-by: Stefan Hajnoczi <stefanha@gmail.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2012-11-26staging: line6: drop midi_postprocess flagStefan Hajnoczi1-34/+0
It is no longer necessary to trigger on MIDI transmit messages that will change the state of the device since: 1. We've dropped the midi_postprocess sysfs attr in a previous commit so it is not possible to activate this feature anymore. 2. The other sysfs attrs that could inspect the state after a dump request have been dropped. Therefore we can safely remove this dead code. Signed-off-by: Stefan Hajnoczi <stefanha@gmail.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2012-11-26staging: line6: drop midi_postprocess sysfs attrStefan Hajnoczi1-36/+0
Signed-off-by: Stefan Hajnoczi <stefanha@gmail.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2012-11-26staging: line6: drop finish sysfs attrStefan Hajnoczi1-21/+0
Signed-off-by: Stefan Hajnoczi <stefanha@gmail.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2012-11-26staging: line6: drop tuner_pitch sysfs attrStefan Hajnoczi1-101/+1
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> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2012-11-26staging: line6: drop tuner_mute sysfs attrStefan Hajnoczi1-34/+0
Signed-off-by: Stefan Hajnoczi <stefanha@gmail.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2012-11-26staging: line6: drop tuner_note sysfs attrStefan Hajnoczi1-7/+0
Signed-off-by: Stefan Hajnoczi <stefanha@gmail.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2012-11-26staging: line6: drop tuner_freq sysfs attrStefan Hajnoczi1-8/+0
Signed-off-by: Stefan Hajnoczi <stefanha@gmail.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2012-11-26staging: line6: drop routing sysfs attrStefan Hajnoczi1-8/+0
Signed-off-by: Stefan Hajnoczi <stefanha@gmail.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2012-11-26staging: line6: drop store_effects_setup sysfs attrStefan Hajnoczi1-68/+0
Signed-off-by: Stefan Hajnoczi <stefanha@gmail.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2012-11-26staging: line6: drop store_channel sysfs attrStefan Hajnoczi1-14/+0
Signed-off-by: Stefan Hajnoczi <stefanha@gmail.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2012-11-26staging: line6: drop store_amp_setup sysfs attrStefan Hajnoczi1-14/+0
Signed-off-by: Stefan Hajnoczi <stefanha@gmail.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2012-11-26staging: line6: drop retrieve_effects_setup sysfs attrStefan Hajnoczi1-48/+0
Signed-off-by: Stefan Hajnoczi <stefanha@gmail.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2012-11-26staging: line6: drop retrieve_channel sysfs attrStefan Hajnoczi1-14/+0
Signed-off-by: Stefan Hajnoczi <stefanha@gmail.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2012-11-26staging: line6: drop retrieve_amp_setup sysfs attrStefan Hajnoczi1-14/+0
Signed-off-by: Stefan Hajnoczi <stefanha@gmail.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2012-11-26staging: line6: drop name_buf sysfs attrStefan Hajnoczi1-43/+0
Signed-off-by: Stefan Hajnoczi <stefanha@gmail.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2012-11-26staging: line6: drop name sysfs attrStefan Hajnoczi1-15/+0
Signed-off-by: Stefan Hajnoczi <stefanha@gmail.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2012-11-26staging: line6: change monitor_level type ValueWait -> intStefan Hajnoczi1-5/+5
The monitor_level sysfs attr has been dropped and we never need to wait on the monitor_level value to change. Switch to a plain int and drop the wait queue. Signed-off-by: Stefan Hajnoczi <stefanha@gmail.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2012-11-26staging: line6: drop monitor_level sysfs attrStefan Hajnoczi1-8/+4
The monitor level can be adjusted using an ALSA volume control. Therefore the sysfs attribute is unnecessary. Note that we leave the monitor_level driver variable so that the ALSA volume control still works. Signed-off-by: Stefan Hajnoczi <stefanha@gmail.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2012-11-26staging: line6: drop dump_buf sysfs attrStefan Hajnoczi1-40/+0
Signed-off-by: Stefan Hajnoczi <stefanha@gmail.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2012-11-26staging: line6: drop dump sysfs attrStefan Hajnoczi1-57/+3
Once further sysfs attrs have been removed it will also be possible to drop prog_data and other pieces which we keep for now. Signed-off-by: Stefan Hajnoczi <stefanha@gmail.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2012-11-26staging: line6: drop dirty sysfs attrStefan Hajnoczi1-20/+1
Signed-off-by: Stefan Hajnoczi <stefanha@gmail.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2012-11-26staging: line6: drop unused param_dirty bitmapStefan Hajnoczi1-16/+0
The param_dirty bitmap tracks which parameters have been modified since saving a preset. The bitmap is never used though so we can drop this deadcode. Signed-off-by: Stefan Hajnoczi <stefanha@gmail.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2012-11-26staging: line6: drop clip sysfs attrStefan Hajnoczi1-23/+0
Signed-off-by: Stefan Hajnoczi <stefanha@gmail.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2012-11-26staging: line6: drop channel sysfs attrStefan Hajnoczi1-51/+0
Signed-off-by: Stefan Hajnoczi <stefanha@gmail.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2012-11-13staging: line6: replace DEBUG_MESSAGES() with dev_dbg()Stefan Hajnoczi1-36/+21
The dyndbg feature allows dev_dbg() calls to be enabled/disabled at runtime and is therefore more convenient than static debug log messages. Use dev_dbg() instead of the line6-specific DEBUG_MESSAGES() macro. Signed-off-by: Stefan Hajnoczi <stefanha@gmail.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2012-07-06staging: line6: Changed strict_strtoul() to kstrtou8() in pod_set_midi_postprocess()Johannes Thumshirn1-2/+2
Changed a call to strict_strtoul() into kstrtou8() in pod_set_midi_postprocess(). Signed-off-by: Johannes Thumshirn <morbidrsa@googlemail.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2012-07-06staging: line6: Changed strict_strtoul() to kstrtou8() in pod_set_channel()Johannes Thumshirn1-2/+2
Changed strict_strtoul() to kstrtou() in pod_set_channel() to take changes in pod_send_channel() into account. Signed-off-by: Johannes Thumshirn <morbidrsa@googlemail.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2012-07-06staging: line6: Exchanged strict_strtoul with kstrtou8() in pod.c:pod_resolve()Johannes Thumshirn1-2/+2
Exchanged call to strict_strtoul() with kstrtou8() in pod_resolve(). Signed-off-by: Johannes Thumshirn <morbidrsa@googlemail.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2012-07-06staging: line6: changed interface of pod_send_channel()Johannes Thumshirn1-1/+1
Adjusted interface of pod_send_channel() in order to take changes of line6_send_program() into account. Signed-off-by: Johannes Thumshirn <morbidrsa@googlemail.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>