2019-05-19 13:07:45 +01:00
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2020-04-15 09:46:06 +02:00
|
|
|
|
2020-04-15 09:55:10 +02:00
|
|
|
|
2020-04-15 09:46:06 +02:00
|
|
|
|
2017-07-02 15:37:58 -04:00
|
|
|
|
2020-04-15 09:55:10 +02:00
|
|
|
|
2017-07-02 15:37:58 -04:00
|
|
|
|
2009-05-18 22:00:34 -03:00
|
|
|
|
|
|
|
|
|
2007-05-10 15:45:57 +02:00
|
|
|
|
2009-05-18 22:00:34 -03:00
|
|
|
|
2020-03-24 10:15:43 +01:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2012-05-28 08:17:47 -03:00
|
|
|
|
2015-12-04 10:38:59 -02:00
|
|
|
|
2009-05-18 22:00:34 -03:00
|
|
|
|
2020-03-24 11:36:10 +01:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2020-03-26 09:44:13 +01:00
|
|
|
|
2022-09-08 12:43:34 +02:00
|
|
|
|
2020-03-24 11:36:10 +01:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2020-03-24 14:24:41 +01:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2020-03-24 11:36:10 +01:00
|
|
|
|
2008-04-29 21:38:44 -03:00
|
|
|
|
2012-05-28 08:17:47 -03:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2020-03-25 16:33:35 +01:00
|
|
|
|
|
|
|
|
|
2020-03-24 11:36:10 +01:00
|
|
|
|
2019-03-20 06:39:44 -04:00
|
|
|
|
2012-05-28 08:17:47 -03:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2020-03-25 16:33:35 +01:00
|
|
|
|
|
|
|
|
|
2020-03-24 11:36:10 +01:00
|
|
|
|
2019-03-20 06:39:44 -04:00
|
|
|
|
2012-05-28 08:17:47 -03:00
|
|
|
|
|
|
|
|
|
2020-04-14 11:00:30 +02:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2012-05-28 08:17:47 -03:00
|
|
|
|
|
|
|
|
|
2020-03-25 16:33:35 +01:00
|
|
|
|
|
|
|
|
|
2020-03-24 11:36:10 +01:00
|
|
|
|
2019-03-20 06:39:44 -04:00
|
|
|
|
2012-05-28 08:17:47 -03:00
|
|
|
|
|
|
|
|
|
2020-04-14 11:00:30 +02:00
|
|
|
|
|
|
|
|
|
2012-05-28 08:17:47 -03:00
|
|
|
|
|
|
|
|
|
2020-03-25 16:33:35 +01:00
|
|
|
|
|
|
|
|
|
2020-03-24 11:36:10 +01:00
|
|
|
|
2019-03-20 06:39:44 -04:00
|
|
|
|
2012-05-28 08:17:47 -03:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2015-12-04 10:38:59 -02:00
|
|
|
|
2012-05-28 08:17:47 -03:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2020-04-14 11:00:30 +02:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2014-07-12 21:43:12 -03:00
|
|
|
|
2020-03-25 16:33:35 +01:00
|
|
|
|
|
|
|
|
|
2020-03-24 11:36:10 +01:00
|
|
|
|
2019-03-20 06:39:44 -04:00
|
|
|
|
2014-07-12 21:43:12 -03:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2020-03-24 10:27:15 +01:00
|
|
|
|
2020-03-25 16:33:35 +01:00
|
|
|
|
|
|
|
|
|
2020-03-24 11:36:10 +01:00
|
|
|
|
2020-03-24 10:27:15 +01:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2021-03-10 15:58:16 +01:00
|
|
|
|
2020-03-24 10:27:15 +01:00
|
|
|
|
media: split test drivers from platform directory
When the first test device was added (vivi.c), there were just
one file. I was too lazy on that time to create a separate
directory just for it, so I kept it together with platform.
Now, we have vivid, vicodec, vim2m and vimc. Also, a new
virtual driver has been prepared to support DVB API.
So, it is time to solve this mess, by placing test stuff
on a separate directory.
It should be noticed that we also have some skeleton drivers
(for V4L and for DVB). For now, we'll keep them separate,
as they're not really test drivers, but instead, just
examples. The DVB frontend ones will likely be part of a new DVB
test driver. By that time, it should make sense to move them
here as well.
Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
2020-03-24 10:39:43 +01:00
|
|
|
|
2020-03-25 16:33:35 +01:00
|
|
|
|
|
|
|
|
|
2020-03-24 11:36:10 +01:00
|
|
|
|
media: split test drivers from platform directory
When the first test device was added (vivi.c), there were just
one file. I was too lazy on that time to create a separate
directory just for it, so I kept it together with platform.
Now, we have vivid, vicodec, vim2m and vimc. Also, a new
virtual driver has been prepared to support DVB API.
So, it is time to solve this mess, by placing test stuff
on a separate directory.
It should be noticed that we also have some skeleton drivers
(for V4L and for DVB). For now, we'll keep them separate,
as they're not really test drivers, but instead, just
examples. The DVB frontend ones will likely be part of a new DVB
test driver. By that time, it should make sense to move them
here as well.
Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
2020-03-24 10:39:43 +01:00
|
|
|
|
2021-11-07 18:19:23 +00:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
media: split test drivers from platform directory
When the first test device was added (vivi.c), there were just
one file. I was too lazy on that time to create a separate
directory just for it, so I kept it together with platform.
Now, we have vivid, vicodec, vim2m and vimc. Also, a new
virtual driver has been prepared to support DVB API.
So, it is time to solve this mess, by placing test stuff
on a separate directory.
It should be noticed that we also have some skeleton drivers
(for V4L and for DVB). For now, we'll keep them separate,
as they're not really test drivers, but instead, just
examples. The DVB frontend ones will likely be part of a new DVB
test driver. By that time, it should make sense to move them
here as well.
Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
2020-03-24 10:39:43 +01:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2020-03-24 10:25:09 +01:00
|
|
|
|
2020-03-24 11:36:10 +01:00
|
|
|
|
media: split test drivers from platform directory
When the first test device was added (vivi.c), there were just
one file. I was too lazy on that time to create a separate
directory just for it, so I kept it together with platform.
Now, we have vivid, vicodec, vim2m and vimc. Also, a new
virtual driver has been prepared to support DVB API.
So, it is time to solve this mess, by placing test stuff
on a separate directory.
It should be noticed that we also have some skeleton drivers
(for V4L and for DVB). For now, we'll keep them separate,
as they're not really test drivers, but instead, just
examples. The DVB frontend ones will likely be part of a new DVB
test driver. By that time, it should make sense to move them
here as well.
Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
2020-03-24 10:39:43 +01:00
|
|
|
|
2018-12-05 12:23:54 -05:00
|
|
|
|
2020-03-24 14:09:23 +01:00
|
|
|
|
|
|
|
|
|
2008-04-29 21:38:44 -03:00
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
2020-04-14 11:00:30 +02:00
|
|
|
|
|
|
|
|
|
media: Kconfig: cleanup VIDEO_DEV dependencies
media Kconfig has two entries associated to V4L API:
VIDEO_DEV and VIDEO_V4L2.
On Kernel 2.6.x, there were two V4L APIs, each one with its own flag.
VIDEO_DEV were meant to:
1) enable Video4Linux and make its Kconfig options to appear;
2) it makes the Kernel build the V4L core.
while VIDEO_V4L2 where used to distinguish between drivers that
implement the newer API and drivers that implemented the former one.
With time, such meaning changed, specially after the removal of
all V4L version 1 drivers.
At the current implementation, VIDEO_DEV only does (1): it enables
the media options related to V4L, that now has:
menu "Video4Linux options"
visible if VIDEO_DEV
source "drivers/media/v4l2-core/Kconfig"
endmenu
but it doesn't affect anymore the V4L core drivers.
The rationale is that the V4L2 core has a "soft" dependency
at the I2C bus, and now requires to select a number of other
Kconfig options:
config VIDEO_V4L2
tristate
depends on (I2C || I2C=n) && VIDEO_DEV
select RATIONAL
select VIDEOBUF2_V4L2 if VIDEOBUF2_CORE
default (I2C || I2C=n) && VIDEO_DEV
In the past, merging them would be tricky, but it seems that it is now
possible to merge those symbols, in order to simplify V4L dependencies.
Let's keep VIDEO_DEV, as this one is used on some make *defconfig
configurations.
Suggested-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Reviewed-by: Jacopo Mondi <jacopo@jmondi.org>
Reviewed-by: Neil Armstrong <narmstrong@baylibre.com> # for meson-vdec & meson-ge2d
Acked-by: Andrzej Pietrasiewicz <andrzejtp2010@gmail.com>
Acked-by: Łukasz Stelmach <l.stelmach@samsung.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@kernel.org>
2022-03-13 07:25:46 +01:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2020-03-24 14:09:23 +01:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
2020-03-24 13:59:23 +01:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2008-04-29 21:38:44 -03:00
|
|
|
|
|
|
|
|
|
2012-05-28 08:17:47 -03:00
|
|
|
|
2008-04-29 21:38:44 -03:00
|
|
|
|
2006-04-09 15:43:41 -03:00
|
|
|
|
2008-04-29 21:38:44 -03:00
|
|
|
|
2022-05-17 01:15:15 +08:00
|
|
|
|
2012-05-28 08:17:47 -03:00
|
|
|
|
2018-03-07 09:51:17 -05:00
|
|
|
|
2020-04-15 10:06:59 +02:00
|
|
|
|
2008-04-29 21:38:44 -03:00
|
|
|
|
2017-12-28 09:24:20 -05:00
|
|
|
|
2020-03-24 14:09:23 +01:00
|
|
|
|
|
|
|
|
|
2017-12-28 09:24:20 -05:00
|
|
|
|
2020-03-24 14:09:23 +01:00
|
|
|
|
2017-12-28 09:24:20 -05:00
|
|
|
|
2020-03-24 14:09:23 +01:00
|
|
|
|
|
|
|
|
|
2011-05-23 09:43:35 -03:00
|
|
|
|
2020-03-25 11:15:15 +01:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2020-03-24 10:14:15 +01:00
|
|
|
|
2020-03-25 11:15:15 +01:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2020-03-24 10:14:15 +01:00
|
|
|
|
2020-03-25 11:15:15 +01:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2012-08-14 16:07:25 -03:00
|
|
|
|
2020-03-25 11:15:15 +01:00
|
|
|
|
|
|
|
|
|
2020-03-24 14:09:23 +01:00
|
|
|
|
2008-04-29 21:38:44 -03:00
|
|
|
|
2020-03-26 09:44:13 +01:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2022-03-13 06:47:32 +01:00
|
|
|
|
|
|
|
|
|
2012-06-14 16:35:56 -03:00
|
|
|
|
2012-08-20 10:02:05 -03:00
|
|
|
|
2020-03-24 10:27:15 +01:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2012-08-20 10:02:05 -03:00
|
|
|
|
2012-06-14 16:36:01 -03:00
|
|
|
|
2020-03-24 10:27:15 +01:00
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
2020-04-15 14:35:52 +01:00
|
|
|
|
2020-04-16 10:25:59 +02:00
|
|
|
|
2020-04-15 14:35:52 +01:00
|
|
|
|
|
|
|
|
|
2012-06-14 16:35:55 -03:00
|
|
|
|
|
|
|
|
|
2022-03-13 06:47:32 +01:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2020-03-24 14:09:23 +01:00
|
|
|
|
|
|
|
|
|
2012-08-20 10:02:05 -03:00
|
|
|
|
2016-09-15 12:18:14 -03:00
|
|
|
|
2012-08-20 10:02:05 -03:00
|
|
|
|
|
|
|
|
|
2019-07-27 10:31:29 -03:00
|
|
|
|
2019-11-21 04:19:37 +01:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2019-07-27 10:31:29 -03:00
|
|
|
|
2020-03-24 14:24:41 +01:00
|
|
|
|
|
|
|
|
|
[media] Fix build when drivers are builtin and frontend modules
There are a large number of reports that the media build is
not compiling when some drivers are compiled as builtin, while
the needed frontends are compiled as module.
On the last one of such reports:
From: kbuild test robot <fengguang.wu@intel.com>
Subject: saa7134-dvb.c:undefined reference to `zl10039_attach'
The .config file has:
CONFIG_VIDEO_SAA7134=y
CONFIG_VIDEO_SAA7134_DVB=y
# CONFIG_MEDIA_ATTACH is not set
CONFIG_DVB_ZL10039=m
And it produces all those errors:
drivers/built-in.o: In function `set_type':
tuner-core.c:(.text+0x2f263e): undefined reference to `tea5767_attach'
tuner-core.c:(.text+0x2f273e): undefined reference to `tda9887_attach'
drivers/built-in.o: In function `tuner_probe':
tuner-core.c:(.text+0x2f2d20): undefined reference to `tea5767_autodetection'
drivers/built-in.o: In function `av7110_attach':
av7110.c:(.text+0x330bda): undefined reference to `ves1x93_attach'
av7110.c:(.text+0x330bf7): undefined reference to `stv0299_attach'
av7110.c:(.text+0x330c63): undefined reference to `tda8083_attach'
av7110.c:(.text+0x330d09): undefined reference to `ves1x93_attach'
av7110.c:(.text+0x330d33): undefined reference to `tda8083_attach'
av7110.c:(.text+0x330d5d): undefined reference to `stv0297_attach'
av7110.c:(.text+0x330dbe): undefined reference to `stv0299_attach'
drivers/built-in.o: In function `tuner_attach_dtt7520x':
ngene-cards.c:(.text+0x3381cb): undefined reference to `dvb_pll_attach'
drivers/built-in.o: In function `demod_attach_lg330x':
ngene-cards.c:(.text+0x33828a): undefined reference to `lgdt330x_attach'
drivers/built-in.o: In function `demod_attach_stv0900':
ngene-cards.c:(.text+0x3383d5): undefined reference to `stv090x_attach'
drivers/built-in.o: In function `cineS2_probe':
ngene-cards.c:(.text+0x338b7f): undefined reference to `drxk_attach'
drivers/built-in.o: In function `configure_tda827x_fe':
saa7134-dvb.c:(.text+0x346ae7): undefined reference to `tda10046_attach'
drivers/built-in.o: In function `dvb_init':
saa7134-dvb.c:(.text+0x347283): undefined reference to `mt352_attach'
saa7134-dvb.c:(.text+0x3472cd): undefined reference to `mt352_attach'
saa7134-dvb.c:(.text+0x34731c): undefined reference to `tda10046_attach'
saa7134-dvb.c:(.text+0x34733c): undefined reference to `tda10046_attach'
saa7134-dvb.c:(.text+0x34735c): undefined reference to `tda10046_attach'
saa7134-dvb.c:(.text+0x347378): undefined reference to `tda10046_attach'
saa7134-dvb.c:(.text+0x3473db): undefined reference to `tda10046_attach'
drivers/built-in.o:saa7134-dvb.c:(.text+0x347502): more undefined references to `tda10046_attach' follow
drivers/built-in.o: In function `dvb_init':
saa7134-dvb.c:(.text+0x347812): undefined reference to `mt352_attach'
saa7134-dvb.c:(.text+0x347951): undefined reference to `mt312_attach'
saa7134-dvb.c:(.text+0x3479a9): undefined reference to `mt312_attach'
>> saa7134-dvb.c:(.text+0x3479c1): undefined reference to `zl10039_attach'
This is happening because a builtin module can't use directly a symbol
found on a module. By enabling CONFIG_MEDIA_ATTACH, the configuration
becomes valid, as dvb_attach() macro loads the module if needed, making
the symbol available to the builtin module.
While this bug started to appear after the patches that use IS_DEFINED
macro (like changeset 7b34be71db533f3e0cf93d53cf62d036cdb5418a), this
bug is a way ancient than that.
The thing is that, before the IS_DEFINED() patches, the logic used to be:
&& defined(MODULE))
struct dvb_frontend *zl10039_attach(struct dvb_frontend *fe,
u8 i2c_addr,
struct i2c_adapter *i2c);
static inline struct dvb_frontend *zl10039_attach(struct dvb_frontend *fe,
u8 i2c_addr,
struct i2c_adapter *i2c)
{
printk(KERN_WARNING "%s: driver disabled by Kconfig\n", __func__);
return NULL;
}
The above code, with the .config file used, was evoluting to FALSE
(instead of TRUE as it should be, as CONFIG_DVB_ZL10039 is 'm'),
and were adding the static inline code at saa7134-dvb, instead
of the external call. So, while it weren't producing any compilation
error, the code weren't working either.
So, as the overhead for using CONFIG_MEDIA_ATTACH is minimal, just
enable it, if MODULES is defined.
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2013-06-20 10:35:53 -03:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2012-08-20 10:02:05 -03:00
|
|
|
|
2016-09-15 12:18:14 -03:00
|
|
|
|
2012-08-20 14:48:02 -03:00
|
|
|
|
2012-08-20 10:02:05 -03:00
|
|
|
|
|
|
|
|
|
2020-03-24 14:09:23 +01:00
|
|
|
|
|
|
|
|
|
2009-05-18 22:00:34 -03:00
|
|
|
|