- 19 4月, 2019 1 次提交
-
-
由 Jacek Anaszewski 提交于
led_colors clashes with the array of the same name being added to the LED class. Do the following amendments to fix this issue and the other prospective one. led_colors -> toneport_led_colors led_init_vals -> toneport_led_init_vals Fixes: f44edd7b ("ALSA: line6/toneport: Implement LED controls via LED class") Signed-off-by: NJacek Anaszewski <jacek.anaszewski@gmail.com> Cc: Jaroslav Kysela <perex@perex.cz> Cc: Arnd Bergmann <arnd@arndb.de> Reviewed-by: NTakashi Iwai <tiwai@suse.de>
-
- 18 6月, 2018 1 次提交
-
-
由 Arnd Bergmann 提交于
The get_seconds() function is deprecated because it truncates the timestamp to 32 bits, so all users should change to ktime_get_seconds() or ktime_get_real_seconds(). The firmware interface for passing the timestamp is also limited to 32 bits, so this patch only has the cosmetic effect of avoiding the old interface. Signed-off-by: NArnd Bergmann <arnd@arndb.de> Signed-off-by: NTakashi Iwai <tiwai@suse.de>
-
- 17 10月, 2017 1 次提交
-
-
由 Kees Cook 提交于
In preparation for unconditionally passing the struct timer_list pointer to all timer callbacks, switch to using the new timer_setup() and from_timer() to pass the timer pointer explicitly. Signed-off-by: NKees Cook <keescook@chromium.org> Signed-off-by: NTakashi Iwai <tiwai@suse.de>
-
- 12 4月, 2017 1 次提交
-
-
由 Bhumika Goyal 提交于
Declare snd_kcontrol_new strcutures as const as they are only passed as an argument to the function snd_ctl_new1. This argument is of type const, so snd_kcontrol_new structures having this property can be made const too. Done using Coccinelle: @r disable optional_qualifier@ identifier x; position p; @@ static struct snd_kcontrol_new x@p={...}; @ok@ identifier r.x; position p; @@ snd_ctl_new1(&x@p,...) @bad@ position p != {r.p,ok.p}; identifier r.x; @@ x@p @depends on !bad disable optional_qualifier@ identifier r.x; @@ +const struct snd_kcontrol_new x; Signed-off-by: NBhumika Goyal <bhumirks@gmail.com> Signed-off-by: NTakashi Iwai <tiwai@suse.de>
-
- 20 9月, 2016 2 次提交
-
-
由 Andrej Krutak 提交于
E.g. POD X3 seems to require playback data to be sent to it to generate capture data. Otherwise the device stalls and doesn't send any more capture data until it's reset. Signed-off-by: NAndrej Krutak <dev@andree.sk> Signed-off-by: NTakashi Iwai <tiwai@suse.de>
-
由 Andrej Krutak 提交于
Changes bytes_per_frame to bytes_per_channel. Signed-off-by: NAndrej Krutak <dev@andree.sk> Signed-off-by: NTakashi Iwai <tiwai@suse.de>
-
- 11 2月, 2015 2 次提交
-
-
由 Chris Rorvick 提交于
The firmware version is a single byte so have the variable type agree. Since the address to this member is passed to the read function, using an int is not even portable. Signed-off-by: NChris Rorvick <chris@rorvick.com> Signed-off-by: NTakashi Iwai <tiwai@suse.de>
-
由 Chris Rorvick 提交于
The serial number (aka ESN) is a 32-bit value. Signed-off-by: NChris Rorvick <chris@rorvick.com> Signed-off-by: NTakashi Iwai <tiwai@suse.de>
-
- 08 2月, 2015 3 次提交
-
-
由 Chris Rorvick 提交于
Provide a unique name for each driver instead of using "line6usb" for all of them. This will allow for different configurations based on the driver type. Signed-off-by: NChris Rorvick <chris@rorvick.com> Signed-off-by: NTakashi Iwai <tiwai@suse.de>
-
由 Chris Rorvick 提交于
It is unlikely this function would ever be used in a context without a pointer to a `struct usb_line6_toneport', so grab the device type from it rather than having the caller do it. Signed-off-by: NChris Rorvick <chris@rorvick.com> Signed-off-by: NTakashi Iwai <tiwai@suse.de>
-
由 Chris Rorvick 提交于
Add a predicate for testing if the device supports source selection to make the conditional logic around this a bit cleaner. Signed-off-by: NChris Rorvick <chris@rorvick.com> Signed-off-by: NTakashi Iwai <tiwai@suse.de>
-
- 29 1月, 2015 3 次提交
-
-
由 Takashi Iwai 提交于
It's just superfluous and doesn't give any better readability. Signed-off-by: NTakashi Iwai <tiwai@suse.de>
-
由 Takashi Iwai 提交于
Most of them are rather relevant with the definitions in driver.h, and there are only a few lines, so just rip it off. Signed-off-by: NTakashi Iwai <tiwai@suse.de>
-
由 Takashi Iwai 提交于
Just reformatting the comments and typos fixed, no functional changes. Particularly, - avoid the kerneldoc marker "/**", - reduce multiple comment lines into single lines, - corrected wrongly referred function names Signed-off-by: NTakashi Iwai <tiwai@suse.de>
-
- 28 1月, 2015 8 次提交
-
-
由 Takashi Iwai 提交于
Tested-by: NChris Rorvick <chris@rorvick.com> Signed-off-by: NTakashi Iwai <tiwai@suse.de>
-
由 Takashi Iwai 提交于
The current code deals with the stream start / stop solely via line6_pcm_acquire() and line6_pcm_release(). This was (supposedly) intended to avoid the races, but it doesn't work as expected. The concurrent acquire and release calls can be performed without proper protections, thus this might result in memory corruption. Furthermore, we can't take a mutex to protect the whole function because it can be called from the PCM trigger callback that is an atomic context. Also spinlock isn't appropriate because the function allocates with kmalloc with GFP_KERNEL. That is, these function just lead to singular problems. This is an attempt to reduce the existing races. First off, separate both the stream buffer management and the stream URB management. The former is protected via a newly introduced state_mutex while the latter is protected via each line6_pcm_stream lock. Secondly, the stream state are now managed in opened and running bit flags of each line6_pcm_stream. Not only this a bit clearer than previous combined bit flags, this also gives a better abstraction. These rewrites allows us to make common hw_params and hw_free callbacks for both playback and capture directions. For the monitor and impulse operations, still line6_pcm_acquire() and line6_pcm_release() are used. They call internally the corresponding functions for both playback and capture streams with proper lock or mutex. Unlike the previous versions, these function don't take the bit masks but the only single type value. Also they are supposed to be applied only as duplex operations. Tested-by: NChris Rorvick <chris@rorvick.com> Signed-off-by: NTakashi Iwai <tiwai@suse.de>
-
由 Takashi Iwai 提交于
Instead of allocating the private data individually in each driver's probe at first, let snd_card_new() allocate the data that is called in line6_probe(). This simplifies the primary probe functions. Tested-by: NChris Rorvick <chris@rorvick.com> Signed-off-by: NTakashi Iwai <tiwai@suse.de>
-
由 Takashi Iwai 提交于
The interface argument is used just for retrieving the assigned device, which can be already found in line6->ifcdev. Drop them from the callbacks. Also, pass the usb id to private_init so that the driver can deal with it there. This is a preliminary work for the further cleanup to move the whole allocation into driver.c. Tested-by: NChris Rorvick <chris@rorvick.com> Signed-off-by: NTakashi Iwai <tiwai@suse.de>
-
由 Takashi Iwai 提交于
Instead of non-standard sysfs, reimplement the LED controls on TonePort as LED class devices. Tested-by: NChris Rorvick <chris@rorvick.com> Signed-off-by: NTakashi Iwai <tiwai@suse.de>
-
由 Takashi Iwai 提交于
Tested-by: NChris Rorvick <chris@rorvick.com> Signed-off-by: NTakashi Iwai <tiwai@suse.de>
-
由 Takashi Iwai 提交于
... so that timer_del_sync() in the destructor can be called safely at any time. Also move the mod_timer() call in toneport_setup(), which is a bit clearer place. Tested-by: NChris Rorvick <chris@rorvick.com> Signed-off-by: NTakashi Iwai <tiwai@suse.de>
-
由 Takashi Iwai 提交于
The interface and driver objects are always set when callbacks are called. Drop such superfluous NULL checks in init and disconnect calls of each driver. Tested-by: NChris Rorvick <chris@rorvick.com> Signed-off-by: NTakashi Iwai <tiwai@suse.de>
-
- 20 1月, 2015 6 次提交
-
-
由 Chris Rorvick 提交于
The driver version string was removed in an ealier commit for being useless. These are equally useless. Signed-off-by: NChris Rorvick <chris@rorvick.com> Signed-off-by: NTakashi Iwai <tiwai@suse.de>
-
由 Chris Rorvick 提交于
The correct spelling includes the space. Fix this in strings and comments that refer to the manufacturer. Signed-off-by: NChris Rorvick <chris@rorvick.com> Signed-off-by: NTakashi Iwai <tiwai@suse.de>
-
由 Takashi Iwai 提交于
Such a macro doesn't improve readability. Tested-by: NChris Rorvick <chris@rorvick.com> Signed-off-by: NTakashi Iwai <tiwai@suse.de>
-
由 Takashi Iwai 提交于
This is a fairly big rewrite regarding the card resource management in line6 drivers: - The card creation is moved into line6_probe(). This adds the global destructor to private_free, so that each driver doesn't have to call it any longer. - The USB disconnect callback handles the card release, thus each driver needs to concentrate on only its own resources. No need to snd_card_*() call in the destructor. - Fix the potential stall in disconnection by removing snd_card_free(). It's replaced with snd_card_free_when_closed() for asynchronous release. - The only remaining operation for the card in each driver is the call of snd_card_register(). All the rest are dealt in the common module by itself. - These ended up with removal of audio.[ch] as a result of a reduction of one layer. Each driver just needs to call line6_probe(). Tested-by: NChris Rorvick <chris@rorvick.com> Signed-off-by: NTakashi Iwai <tiwai@suse.de>
-
由 Takashi Iwai 提交于
The line6 drivers don't support the full resume although they set SNDRV_PCM_INFO_RESUME. These flags have to be dropped to inform properly to the user-space. Also, drop the CONFIG_PM in trigger callbacks, too, which are rather superfluous. Tested-by: NChris Rorvick <chris@rorvick.com> Signed-off-by: NTakashi Iwai <tiwai@suse.de>
-
由 Takashi Iwai 提交于
Split to each individual driver for POD, PODHD, TonePort and Variax with a core LINE6 helper module. The new modules follow the standard ALSA naming rule with snd prefix: snd-usb-pod, snd-usb-podhd, snd-usb-toneport and snd-usb-variax, together with the corresponding CONFIG_SND_USB_* Kconfig items. Tested-by: NChris Rorvick <chris@rorvick.com> Signed-off-by: NTakashi Iwai <tiwai@suse.de>
-
- 19 1月, 2015 1 次提交
-
-
由 Takashi Iwai 提交于
No functional change, refactoring with the standard helpers. Signed-off-by: NTakashi Iwai <tiwai@suse.de>
-
- 13 1月, 2015 6 次提交
-
-
由 Takashi Iwai 提交于
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: NTakashi Iwai <tiwai@suse.de>
-
由 Chris Rorvick 提交于
Remove declarations from the header and move the definitions up in the source so they need not be forward declared. Signed-off-by: NChris Rorvick <chris@rorvick.com> Reviewed-by: NStefan Hajnoczi <stefanha@gmail.com> Signed-off-by: NGreg Kroah-Hartman <gregkh@linuxfoundation.org> Signed-off-by: NTakashi Iwai <tiwai@suse.de>
-
由 Chris Rorvick 提交于
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: NChris Rorvick <chris@rorvick.com> Reviewed-by: NStefan Hajnoczi <stefanha@gmail.com> Signed-off-by: NGreg Kroah-Hartman <gregkh@linuxfoundation.org> Signed-off-by: NTakashi Iwai <tiwai@suse.de>
-
由 Chris Rorvick 提交于
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: NChris Rorvick <chris@rorvick.com> Reviewed-by: NStefan Hajnoczi <stefanha@gmail.com> Signed-off-by: NGreg Kroah-Hartman <gregkh@linuxfoundation.org> Signed-off-by: NTakashi Iwai <tiwai@suse.de>
-
由 Chris Rorvick 提交于
The driver currently uses the device's idProduct as input to several switch statements. In some cases this is not sufficiently granular and the interface number must be taken into account. Store the device type in `usb_line6' and key off of it instead. New types can then be added that map to specific interfaces on the device so that this conditional logic can be flattened out. Signed-off-by: NChris Rorvick <chris@rorvick.com> Reviewed-by: NStefan Hajnoczi <stefanha@gmail.com> Signed-off-by: NGreg Kroah-Hartman <gregkh@linuxfoundation.org> Signed-off-by: NTakashi Iwai <tiwai@suse.de>
-
由 Rickard Strandqvist 提交于
The NULL check was done to late, and there it was a risk of a possible null pointer dereference. This was partially found by using a static code analysis program called cppcheck. Signed-off-by: NRickard Strandqvist <rickard_strandqvist@spectrumdigital.se> Reviewed-by: NStefan Hajnoczi <stefanha@gmail.com> Signed-off-by: NGreg Kroah-Hartman <gregkh@linuxfoundation.org> Signed-off-by: NTakashi Iwai <tiwai@suse.de>
-
- 16 5月, 2014 1 次提交
-
-
由 Jerry Snitselaar 提交于
Fix coding style warnings reported by checkpath. Signed-off-by: NJerry Snitselaar <dev@snitselaar.org> Signed-off-by: NGreg Kroah-Hartman <gregkh@linuxfoundation.org>
-
- 17 4月, 2014 1 次提交
-
-
由 Fabian Mewes 提交于
Use the more common kernel coding style. Signed-off-by: NFabian Mewes <architekt@coding4coffee.org> Reviewed-by: NStefan Hajnoczi <stefanha@gmail.com> Signed-off-by: NGreg Kroah-Hartman <gregkh@linuxfoundation.org>
-
- 28 10月, 2013 2 次提交
-
-
由 Rashika Kheria 提交于
This patch fixes the following sparse warnings in toneport.c- drivers/staging/line6/toneport.c:329:48: warning: incorrect type in argument 1 (different base types) drivers/staging/line6/toneport.c:329:48: expected short [signed] product drivers/staging/line6/toneport.c:329:48: got restricted __le16 [usertype] idProduct drivers/staging/line6/toneport.c:385:48: warning: incorrect type in argument 1 (different base types) drivers/staging/line6/toneport.c:385:48: expected short [signed] product drivers/staging/line6/toneport.c:385:48: got restricted __le16 [usertype] idProduct drivers/staging/line6/toneport.c:438:64: warning: incorrect type in argument 1 (different base types) drivers/staging/line6/toneport.c:438:64: expected short [signed] product drivers/staging/line6/toneport.c:438:64: got restricted __le16 [usertype] idProduct Signed-off-by: NRashika Kheria <rashika.kheria@gmail.com> Signed-off-by: NGreg Kroah-Hartman <gregkh@linuxfoundation.org>
-
由 Rashika Kheria 提交于
This patch fixes the following sparse warning in toneport.c- warning: restricted __le16 degrades to integer Signed-off-by: NRashika Kheria <rashika.kheria@gmail.com> Signed-off-by: NGreg Kroah-Hartman <gregkh@linuxfoundation.org>
-
- 17 9月, 2013 1 次提交
-
-
由 Dan Carpenter 提交于
"source" comes from the user in snd_ctl_elem_write() so it needs to be checked. Signed-off-by: NDan Carpenter <dan.carpenter@oracle.com> Reviewed-by: NStefan Hajnoczi <stefanha@gmail.com> Signed-off-by: NGreg Kroah-Hartman <gregkh@linuxfoundation.org>
-