media: i2c: Kconfig: Make MAX9271 a module
authorJacopo Mondi <jacopo+renesas@jmondi.org>
Tue, 9 Feb 2021 11:09:21 +0000 (12:09 +0100)
committerMauro Carvalho Chehab <mchehab+huawei@kernel.org>
Tue, 9 Feb 2021 14:14:26 +0000 (15:14 +0100)
With the introduction of the RDACM21 camera module support in commit
a59f853b3b4b ("media: i2c: Add driver for RDACM21 camera module") the
symbols defined by the max9271 library were exported twice if multiple
users of the library were compiled in at the same time.

In example:
WARNING: modpost: drivers/media/i2c/rdacm21-camera_module:
'max9271_set_serial_link' exported twice. Previous export was in
drivers/media/i2c/rdacm20-camera_module.ko

Fix this by making the max9271 file a module and have the driver
using its functions select it.

Fixes: a59f853b3b4b ("media: i2c: Add driver for RDACM21 camera module")
Reported-by: Stephen Rothwell <sfr@canb.auug.org.au>
Reviewed-by: Geert Uytterhoeven <geert+renesas@glider.be>
Acked-by: Sakari Ailus <sakari.ailus@linux.intel.com>
Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Suggested-by: Mauro Carvalho Chehab <mchehab@kernel.org>
Signed-off-by: Jacopo Mondi <jacopo+renesas@jmondi.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
drivers/media/i2c/Kconfig
drivers/media/i2c/Makefile

index 2d3dc0d..462c0e0 100644 (file)
@@ -1240,12 +1240,16 @@ config VIDEO_NOON010PC30
 
 source "drivers/media/i2c/m5mols/Kconfig"
 
+config VIDEO_MAX9271_LIB
+       tristate
+
 config VIDEO_RDACM20
        tristate "IMI RDACM20 camera support"
        depends on I2C
        select V4L2_FWNODE
        select VIDEO_V4L2_SUBDEV_API
        select MEDIA_CONTROLLER
+       select VIDEO_MAX9271_LIB
        help
          This driver supports the IMI RDACM20 GMSL camera, used in
          ADAS systems.
@@ -1259,6 +1263,7 @@ config VIDEO_RDACM21
        select V4L2_FWNODE
        select VIDEO_V4L2_SUBDEV_API
        select MEDIA_CONTROLLER
+       select VIDEO_MAX9271_LIB
        help
          This driver supports the IMI RDACM21 GMSL camera, used in
          ADAS systems.
index 6bd22d6..0c067be 100644 (file)
@@ -125,10 +125,9 @@ obj-$(CONFIG_VIDEO_IMX319) += imx319.o
 obj-$(CONFIG_VIDEO_IMX334)     += imx334.o
 obj-$(CONFIG_VIDEO_IMX355)     += imx355.o
 obj-$(CONFIG_VIDEO_MAX9286)    += max9286.o
-rdacm20-camera_module-objs     := rdacm20.o max9271.o
-obj-$(CONFIG_VIDEO_RDACM20)    += rdacm20-camera_module.o
-rdacm21-camera_module-objs     := rdacm21.o max9271.o
-obj-$(CONFIG_VIDEO_RDACM21)    += rdacm21-camera_module.o
+obj-$(CONFIG_VIDEO_MAX9271_LIB)        += max9271.o
+obj-$(CONFIG_VIDEO_RDACM20)    += rdacm20.o
+obj-$(CONFIG_VIDEO_RDACM21)    += rdacm21.o
 obj-$(CONFIG_VIDEO_ST_MIPID02) += st-mipid02.o
 
 obj-$(CONFIG_SDR_MAX2175) += max2175.o