Re: sound/pci/ctxfi/ctdaio.c: duplicate function removal question
From: David Laight
Date: Sun Dec 29 2024 - 04:02:41 EST
On Tue, 24 Dec 2024 23:16:17 +0000
Ethan Carter Edwards <ethan@xxxxxxxxxxxxxxxxx> wrote:
> Hello all,
>
> First of all, happy holidays.
>
> I was browsing the ctdaio.c code and I noticed a lot of
> duplicate code and functions, specifically:
>
> dao_set_{right,left}_input and
> dao_clear_{right,left}_input functions.
>
> The functions are pretty much identical. They only
> differ in the side (left, right). What was the original
> idea in doing this? Wouldn't it make more since to just
> have an ENUM (left, right) as an argument that would
> determine the side and just reduce the function to
> dao_set_input and dao_clear_input.
Hmmm... you'd have a lot of conditionals inside the function.
They also look like a memory leak just waiting to happen.
I guess that an earlier implementation used a separate kmalloc()
for each imappers[].
Why is imappers[] an array of pointers not an array of the items?
Each is just 8 bytes plus a 'list_head' (2 pointers?).
David
>
> I would be more than happy to send in a patch doing
> these changes, but before I did I wanted to ask if
> there was a reason the code was written in this way.
> I am pretty new to kernel development.
>
> Thanks,
> Ethan
> --
> Ethan Carter Edwards
> CompTIA A+, Security+, and ISC2 (CC)
> Ham Radio: AE4CE
> Website: https://ethancedwards.com
>
>