[alsa-devel] [PATCH 00/25 v2] ALSA: support AMDTP variants
Takashi Sakamoto
o-takashi at sakamocchi.jp
Tue Aug 25 13:47:23 CEST 2015
Hi,
On Aug 25 2015 14:24, Takashi Iwai wrote:
> On Mon, 24 Aug 2015 08:26:56 +0200,
> Takashi Iwai wrote:
>>
>> On Sun, 23 Aug 2015 16:58:44 +0200,
>> Takashi Sakamoto wrote:
>>>
>>> On 2015年08月23日 17:04, Takashi Iwai wrote:
>>>> On Sat, 22 Aug 2015 11:19:16 +0200,
>>>> Takashi Sakamoto wrote:
>>>>>
>>>>> This patchset for Linux 4.3 updates my previous one:
>>>>
>>>> Sorry this seems too late for 4.3. If this got reviewed and acked by
>>>> Clemens or other, I would take it. But otherwise it's too intrusive
>>>> to take in the last day of the development cycle.
>>>>
>>>>
>>>> Takashi
>>>
>>> OK.
>>
>> Now 4.2-rc8 was released unexpectedly, so we have a chance to review
>> for one more week. Let's see.
>
> So I started a quick review from the bottom, and as already posted,
> there are obvious errors, and I stopped reading at that point.
>
> Here are a few suggestions:
>
> - In general, the series is way too big and contains a wide variety of
> changes. Better to split to smaller patch series. This makes much
> easier to review, and more importantly to merge. Otherwise a
> failure in one patch would block the whole series.
I agree with it, of course. If possible, I'd like to post small changes
because a large patchset really exhausts me.
But this patchset is for new device drivers, sigh. The changes are just
for devices supported by this patchset, and have no advantages to the
other devices already supported by the other drivers. What is even
worse, it can bring disadvantages or overhead to current stack.
Therefore, it's meaning less to apply a part of the patchset.
> - __u32 or such is basically for API exposed to user space. In
> kernel, better to use u32 instead.
>
> - When you write a new code, consider using EXPORT_SYMBOL_GPL()
> instead of EXPORT_SYMBOL().
>
> - Re-read each patch once before submission as if you were a reviewer;
> this often helps to catch the typos or simple mistakes.
I always have several nights for self-reviewing, nevertheless patchset
includes such a trivial mistakes... (This is one of reasons that I don't
like to post such a large patchset.)
For all that, the last part of this patchset is a bot worse. I concide
it, sorry. MIDI functionality of TASCAM FireWire series is enough
complicated to me and I always have a headache at considering about is
(then make some easy mistakes).
> Also, I see quite a few code duplications in the series. For example,
> PCM read/write/silence loop is almost identical except for a few lines
> of differences inside the loop. Ditto for MIDI accessors. Can they
> be shared somehow better?
I think you mention about the codes in data block processing, such as
read_pcm_s32() in sound/firewire/amdtp-am824.c (originally in amdtp.c).
These functions are called as frequently as 8,000 times per second, thus
it's preferrable to keep the size as small as possible for CPU usage.
While, each data block processing includes quite similar codes. In this
meaning, your idea is valid, indeed. But currently, I adhere to the way
to implement different data block processing as what the shape is.
There's no public specification about it and I prefer to keep the codes
as easy to read as possible.
Thanks
Takashi Sakamoto
More information about the Alsa-devel
mailing list