![Shuah Khan](/assets/img/avatar_default.png)
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. Signed-off-by: Shuah Khan <shuah@kernel.org> Signed-off-by: Hans Verkuil <hverkuil-cisco@xs4all.nl> Signed-off-by: Mauro Carvalho Chehab <mchehab+samsung@kernel.org>
44 lines
929 B
Makefile
44 lines
929 B
Makefile
# SPDX-License-Identifier: GPL-2.0
|
|
#
|
|
# Makefile for the kernel multimedia device drivers.
|
|
#
|
|
|
|
media-objs := media-device.o media-devnode.o media-entity.o \
|
|
media-request.o
|
|
|
|
ifeq ($(CONFIG_MEDIA_CONTROLLER),y)
|
|
ifeq ($(CONFIG_USB),y)
|
|
media-objs += media-dev-allocator.o
|
|
endif
|
|
endif
|
|
|
|
#
|
|
# I2C drivers should come before other drivers, otherwise they'll fail
|
|
# when compiled as builtin drivers
|
|
#
|
|
obj-y += i2c/ tuners/
|
|
obj-$(CONFIG_DVB_CORE) += dvb-frontends/
|
|
|
|
#
|
|
# Now, let's link-in the media core
|
|
#
|
|
ifeq ($(CONFIG_MEDIA_CONTROLLER),y)
|
|
obj-$(CONFIG_MEDIA_SUPPORT) += media.o
|
|
endif
|
|
|
|
obj-$(CONFIG_VIDEO_DEV) += v4l2-core/
|
|
obj-$(CONFIG_DVB_CORE) += dvb-core/
|
|
|
|
# There are both core and drivers at RC subtree - merge before drivers
|
|
obj-y += rc/
|
|
|
|
obj-$(CONFIG_CEC_CORE) += cec/
|
|
|
|
#
|
|
# Finally, merge the drivers that require the core
|
|
#
|
|
|
|
obj-y += common/ platform/ pci/ usb/ mmc/ firewire/ spi/
|
|
obj-$(CONFIG_VIDEO_DEV) += radio/
|
|
|