lkml.org 
[lkml]   [2023]   [Feb]   [10]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
SubjectRe: [RFC PATCH v2 12/22] sound: usb: card: Introduce USB SND platform op callbacks
From
Hi Greg,

On 1/28/2023 5:28 AM, Greg KH wrote:
> On Wed, Jan 25, 2023 at 07:14:14PM -0800, Wesley Cheng wrote:
>> Allow for different platforms to be notified on USB SND connect/disconnect
>> seqeunces. This allows for platform USB SND modules to properly initialize
>> and populate internal structures with references to the USB SND chip
>> device.
>>
>> Signed-off-by: Wesley Cheng <quic_wcheng@quicinc.com>
>> ---
>> sound/usb/card.c | 28 ++++++++++++++++++++++++++++
>> sound/usb/card.h | 20 ++++++++++++++++++++
>> 2 files changed, 48 insertions(+)
>>
>> diff --git a/sound/usb/card.c b/sound/usb/card.c
>> index 26268ffb8274..803230343c16 100644
>> --- a/sound/usb/card.c
>> +++ b/sound/usb/card.c
>> @@ -117,6 +117,24 @@ MODULE_PARM_DESC(skip_validation, "Skip unit descriptor validation (default: no)
>> static DEFINE_MUTEX(register_mutex);
>> static struct snd_usb_audio *usb_chip[SNDRV_CARDS];
>> static struct usb_driver usb_audio_driver;
>> +static struct snd_usb_platform_ops *platform_ops;
>
> You can not have a single "platform_ops" pointer, this HAS to be
> per-bus.
>

Agreed.

> And what is a "platform operations" anyway? Shouldn't this be a driver
> type or something like that? "offload_operations"?
>

The reason for going with platform operations is because every platform
may implement the offloading differently. The offload operations term
is more direct though in terms of explaining what the ops are going to
be used for, so I can see the incentive of moving to that phrase.

>> +
>> +int snd_usb_register_platform_ops(struct snd_usb_platform_ops *ops)
>> +{
>> + if (platform_ops)
>> + return -EEXIST;
>> +
>> + platform_ops = ops;
>> + return 0;
>
> No locking? not good.
>
> But again, this has to be per-USB-bus, it can NOT be system wide for
> obvious reasons.
>

Sure, will change that when moving to per USB bus.

Thanks
Wesley Cheng

\
 
 \ /
  Last update: 2023-03-27 00:18    [W:0.883 / U:0.088 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site