[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <YUiZVCMHaAf4Biiv@paasikivi.fi.intel.com>
Date: Mon, 20 Sep 2021 17:23:16 +0300
From: Sakari Ailus <sakari.ailus@...ux.intel.com>
To: Arnd Bergmann <arnd@...nel.org>
Cc: Mauro Carvalho Chehab <mchehab@...nel.org>,
Arnd Bergmann <arnd@...db.de>,
Daniele Alessandrelli <daniele.alessandrelli@...el.com>,
Martina Krasteva <martinax.krasteva@...el.com>,
Jacopo Mondi <jacopo+renesas@...ndi.org>,
Paul Kocialkowski <paul.kocialkowski@...tlin.com>,
Tianshu Qiu <tian.shu.qiu@...el.com>,
linux-media@...r.kernel.org, linux-kernel@...r.kernel.org
Subject: Re: [PATCH] media: i2c: select V4L2_ASYNC where needed
Hi Anrd,
On Mon, Sep 20, 2021 at 11:58:24AM +0200, Arnd Bergmann wrote:
> From: Arnd Bergmann <arnd@...db.de>
>
> I came across a link failure from randconfig builds:
>
> x86_64-linux-ld: drivers/media/i2c/ths8200.o: in function `ths8200_remove':
> ths8200.c:(.text+0x491): undefined reference to `v4l2_async_unregister_subdev'
> x86_64-linux-ld: drivers/media/i2c/ths8200.o: in function `ths8200_probe':
> ths8200.c:(.text+0xe49): undefined reference to `v4l2_async_register_subdev'
> x86_64-linux-ld: drivers/media/i2c/tw9910.o: in function `tw9910_remove':
> tw9910.c:(.text+0x467): undefined reference to `v4l2_async_unregister_subdev'
> x86_64-linux-ld: drivers/media/i2c/tw9910.o: in function `tw9910_probe':
> tw9910.c:(.text+0x1123): undefined reference to `v4l2_async_register_subdev'
>
> These clearly lack a 'select' statement, but I don't know why
> this started happening only now. I had a bit of a look around to find
> other configs that have the same problem, but could not come up with
> a reliable way and found nothing else through experimentation.
> It is likely that other symbols like these exist that need an extra
> select.
>
> Signed-off-by: Arnd Bergmann <arnd@...db.de>
Probably this one:
commit ff3cc65cadb5d7333fde557b38cbb60b3a6cf496
Author: Sakari Ailus <sakari.ailus@...ux.intel.com>
Date: Fri Mar 5 18:38:39 2021 +0100
media: v4l: async, fwnode: Improve module organisation
The V4L2 async framework is generally used with the V4L2 fwnode, which
also depends on the former. There are a few exceptions but they are
relatively few.
At the same time there is a vast number of systems that need videodev
module, but have no use for v4l2-async that's now part of videodev.
In order to improve, split the v4l2-async into its own module. Selecting
V4L2_FWNODE also selects V4L2_ASYNC.
This also moves the initialisation of the debufs entries for async subdevs
to loading of the v4l2-async module. The directory is named as
"v4l2-async".
Signed-off-by: Sakari Ailus <sakari.ailus@...ux.intel.com>
Reviewed-by: Ezequiel Garcia <ezequiel@...labora.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@...nel.org>
I think I must have missed some drivers using v4l2-async.
Acked-by: Sakari Ailus <sakari.ailus@...ux.intel.com>
--
Sakari Ailus
Powered by blists - more mailing lists