[alsa-devel] [PATCH v13 2/6] media: change au0828 to use Media Device Allocator API
shuah
shuah at kernel.org
Fri Mar 29 15:14:24 CET 2019
On 3/29/19 2:27 AM, Hans Verkuil wrote:
> On 3/29/19 1:04 AM, Shuah Khan wrote:
>> Media Device Allocator API to allows multiple drivers share a media device.
>> This API solves a very common use-case for media devices where one physical
>> device (an USB stick) provides both audio and video. When such media device
>> exposes a standard USB Audio class, a proprietary Video class, two or more
>> independent drivers will share a single physical USB bridge. In such cases,
>> it is necessary to coordinate access to the shared resource.
>>
>> Using this API, drivers can allocate a media device with the shared struct
>> device as the key. Once the media device is allocated by a driver, other
>> drivers can get a reference to it. The media device is released when all
>> the references are released.
>>
>> Change au0828 to use Media Device Allocator API to allocate media device
>> with the parent usb struct device as the key, so it can be shared with the
>> snd_usb_audio driver.
>>
>> Signed-off-by: Shuah Khan <shuah at kernel.org>
>> ---
>> drivers/media/usb/au0828/Kconfig | 2 ++
>> drivers/media/usb/au0828/au0828-core.c | 13 +++++--------
>> drivers/media/usb/au0828/au0828.h | 1 +
>> 3 files changed, 8 insertions(+), 8 deletions(-)
>>
>> diff --git a/drivers/media/usb/au0828/Kconfig b/drivers/media/usb/au0828/Kconfig
>> index 65fc067eb864..98de6e24329e 100644
>> --- a/drivers/media/usb/au0828/Kconfig
>> +++ b/drivers/media/usb/au0828/Kconfig
>> @@ -2,6 +2,8 @@
>> config VIDEO_AU0828
>> tristate "Auvitek AU0828 support"
>> depends on I2C && INPUT && DVB_CORE && USB && VIDEO_V4L2
>> + select MEDIA_CONTROLLER
>> + select MEDIA_CONTROLLER_DVB
>
> Is it required to select MEDIA_CONTROLLER_DVB? Does something fail to work
> if this is unset?
>
Need this enabled for dvb driver to use media controller. api.
e.g dvb_register_media_device() does all its media controller code
when MEDIA_CONTROLLER_DVB is enabled.
See drivers/media/dvb-core/dvbdev.c
The config still says experimental:
config MEDIA_CONTROLLER_DVB
bool "Enable Media controller for DVB (EXPERIMENTAL)"
depends on MEDIA_CONTROLLER && DVB_CORE
---help---
Enable the media controller API support for DVB.
This is currently experimental.
Is that still accurate? Should be updated?
thanks,
-- Shuah
More information about the Alsa-devel
mailing list