From: Andy Shevchenko
Sent: 21 July 2023 11:42
On Fri, Jul 21, 2023 at 12:08:46PM +0200, Takashi Iwai wrote:
On Fri, 21 Jul 2023 12:01:46 +0200, Andy Shevchenko wrote:
The sockptr_t (despite the naming) is a generic type to hold kernel or user pointer and there are respective APIs to copy data to or from it. Replace open coded variants in the driver by them.
While I see the benefit, I feel this is very confusing. If we use the API for a generic use, it should be renamed at first.
Also, the current function actually follows the call pattern, and we know in the caller side whether it's called for a kernel pointer or a user pointer. So, if any, the PCM core callbacks should be revised to use a generic pointer instead of fiddling in each driver side.
Any suggestion for the name? And I believe for the bigger series the new callback should be added first.
It would also be better to replace the current sockptr_t with a structure that contains separate user and kernel addresses (instead of a union of the pointer types and a flag).
The size of the structure wouldn't change and the code might even come out better.
There is also scope for adding a length and passing the structure by reference instead of by value.
David
- Registered Address Lakeside, Bramley Road, Mount Farm, Milton Keynes, MK1 1PT, UK Registration No: 1397386 (Wales)