From: Tobias Hoffmann <smilingthax@googlemail.com>
To: Daniel Mack <daniel@zonque.org>
Cc: tiwai@suse.de, alsa-devel@alsa-project.org, robin@gareus.org,
clemens@ladisch.de,
David Henningsson <david.henningsson@canonical.com>
Subject: Re: [WIP PATCH] Scarlett mixer interface for 6i6, 18i6, 18i8 and 18i20.
Date: Thu, 09 Oct 2014 12:13:33 +0200 [thread overview]
Message-ID: <54365FCD.3070207@googlemail.com> (raw)
In-Reply-To: <543647D3.9070004@zonque.org>
On 09/10/14 10:31, Daniel Mack wrote:
>
>>>> +#if 0 /* rg debug XXX */
>>>> + snd_printk(KERN_ERR "req ctl value: req = %#x, rtype = %#x, wValue = %#x, wIndex = %#x, size = %d\n",
>>>> + bRequest, (USB_RECIP_INTERFACE | USB_TYPE_CLASS | USB_DIR_IN), wValue, idx, size);
>>>> +#endif
>>> That can be moved to snd_printdd()
>> These are left overs from Robins code, even I didn't need them. It's
>> probably safe to just remove all the
>> #if 0 /* rg debug XXX */ ... #endif
>> from the patch.
> Sure it's safe, as dead code doesn't do anything :) The question is
> whether the line produces any useful information for people having
> trouble with their device. If so, we can just convert it to snd_printdd().
Well, yes. I was looking for a short word for "no one will miss it",
when I wrote "safe"...
> > The "Save to HW" enum uses a special kcontrol .get/.put combo:
>> .get always returns 0, and .put issues a special command to the hardware.
>>
>> I not 100% sure what the "best" return value of the .put function would
>> be in that case.
>> AFAIUI, .put functions have to return whether the value has changed...
>> and here:
>> - something happend (supporting return 1;)
>> - but .get still returns 0 (supporting return 0;)
> Ah, I see. Yes, I'd consider that a misuse of the ALSA control API, as
> you're not dealing with an actual control here. I think that should
> become a hwdep interface then.
I think I've seen the same idea ("abuse") in another driver(?).
>
>> But I found this...:
>>> +static struct snd_kcontrol_new usb_scarlett_ctl_save = {
>>> + .iface = SNDRV_CTL_ELEM_IFACE_MIXER,
>>> + .name = "",
>>> + .info = scarlett_ctl_enum_info,
>>> + .get = scarlett_ctl_save_get,
>>> + .get = scarlett_ctl_save_put,
>>> +};
>> BUG! .get is set twice instead of .get and .put...
> Right, so the code in .put was never actually used, right? Did the
> compiler not warn about that?
No, it does not warn...
I do have some memories of testing that code (i.e. the printk was
called), and of experimenting with .get / .put for that particular
control, esp. concerning alsactl store/restore.
I will do a full compile / test cycle, when David has incorporated all
the comments into a new patch.
> ARRAY_SIZE(s18i8_text) == 35, so .len = (ARRAY_SIZE()-8) ?
> I not sure that's helpful...
> The better way to think about it is:
> .opt_matrix.len = .mix_start + 1,
> .opt_master.len = .opt_matrix.len + .matrix_out // == ARRAY_SIZE()
> Hmm, yes. I was just thinking about something that makes the values look
> a bit less magical.
Maybe a comment at the first such definition helps.
Tobias
next prev parent reply other threads:[~2014-10-09 10:13 UTC|newest]
Thread overview: 16+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-10-07 15:16 [WIP PATCH] Scarlett mixer interface for 6i6, 18i6, 18i8 and 18i20 David Henningsson
2014-10-07 15:24 ` Tobias Hoffmann
2014-10-08 19:04 ` Daniel Mack
2014-10-08 21:21 ` Robin Gareus
2014-10-08 22:06 ` Tobias Hoffmann
2014-10-09 8:39 ` Takashi Iwai
2014-10-08 22:49 ` Tobias Hoffmann
2014-10-09 8:31 ` Daniel Mack
2014-10-09 10:13 ` Tobias Hoffmann [this message]
2014-10-13 13:30 ` David Henningsson
2014-10-09 8:35 ` Takashi Iwai
2014-10-13 10:58 ` Tobias Hoffmann
2014-10-13 11:38 ` Clemens Ladisch
2014-10-13 12:02 ` Tobias Hoffmann
2014-10-13 12:09 ` Clemens Ladisch
2014-10-13 12:21 ` Tobias Hoffmann
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=54365FCD.3070207@googlemail.com \
--to=smilingthax@googlemail.com \
--cc=alsa-devel@alsa-project.org \
--cc=clemens@ladisch.de \
--cc=daniel@zonque.org \
--cc=david.henningsson@canonical.com \
--cc=robin@gareus.org \
--cc=tiwai@suse.de \
/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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.