Message ID | 20210208182006.178740-1-jacopo+renesas@jmondi.org (mailing list archive) |
---|---|
State | Superseded |
Delegated to: | Kieran Bingham |
Headers | show |
Series | media: i2c: Kconfig: Make MAX9271 a module | expand |
Hi Jacopo, On Mon, Feb 08, 2021 at 07:20:06PM +0100, Jacopo Mondi wrote: > 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 rdacm21 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> > Suggested-by: Mauro Carvalho Chehab <mchehab@kernel.org> > Signed-off-by: Jacopo Mondi <jacopo+renesas@jmondi.org> > --- > drivers/media/i2c/Kconfig | 5 +++++ > drivers/media/i2c/Makefile | 7 +++---- > 2 files changed, 8 insertions(+), 4 deletions(-) > > diff --git a/drivers/media/i2c/Kconfig b/drivers/media/i2c/Kconfig > index 2d3dc0d82f9e..84645f751da3 100644 > --- a/drivers/media/i2c/Kconfig > +++ b/drivers/media/i2c/Kconfig > @@ -1240,12 +1240,16 @@ config VIDEO_NOON010PC30 > > source "drivers/media/i2c/m5mols/Kconfig" > > +config VIDEO_MAX9271 How about calling this VIDEO_MAX9271_HELPER instead? It's not a driver in the proper sense of the word. Acked-by: Sakari Ailus <sakari.ailus@linux.intel.com> > + 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 > 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 > help > This driver supports the IMI RDACM21 GMSL camera, used in > ADAS systems. > diff --git a/drivers/media/i2c/Makefile b/drivers/media/i2c/Makefile > index 6bd22d63e1a7..c34a7de3158b 100644 > --- a/drivers/media/i2c/Makefile > +++ b/drivers/media/i2c/Makefile > @@ -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) += 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
Hi Jacopo, Thanks for your patch! On Mon, Feb 8, 2021 at 7:22 PM Jacopo Mondi <jacopo+renesas@jmondi.org> wrote: > 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 rdacm21 file a module and have the driver max9271 > using its functions select it. > > Fixes: a59f853b3b4b ("media: i2c: Add driver for RDACM21 camera module") > Reported-by: Stephen Rothwell <sfr@canb.auug.org.au> > Suggested-by: Mauro Carvalho Chehab <mchehab@kernel.org> > Signed-off-by: Jacopo Mondi <jacopo+renesas@jmondi.org> With the above fixed: Reviewed-by: Geert Uytterhoeven <geert+renesas@glider.be> Gr{oetje,eeting}s, Geert -- Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@linux-m68k.org In personal conversations with technical people, I call myself a hacker. But when I'm talking to journalists I just say "programmer" or something like that. -- Linus Torvalds
Hi Sakari and Jacopo, On Mon, Feb 08, 2021 at 10:21:47PM +0200, Sakari Ailus wrote: > On Mon, Feb 08, 2021 at 07:20:06PM +0100, Jacopo Mondi wrote: > > 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 rdacm21 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> > > Suggested-by: Mauro Carvalho Chehab <mchehab@kernel.org> > > Signed-off-by: Jacopo Mondi <jacopo+renesas@jmondi.org> > > --- > > drivers/media/i2c/Kconfig | 5 +++++ > > drivers/media/i2c/Makefile | 7 +++---- > > 2 files changed, 8 insertions(+), 4 deletions(-) > > > > diff --git a/drivers/media/i2c/Kconfig b/drivers/media/i2c/Kconfig > > index 2d3dc0d82f9e..84645f751da3 100644 > > --- a/drivers/media/i2c/Kconfig > > +++ b/drivers/media/i2c/Kconfig > > @@ -1240,12 +1240,16 @@ config VIDEO_NOON010PC30 > > > > source "drivers/media/i2c/m5mols/Kconfig" > > > > +config VIDEO_MAX9271 > > How about calling this VIDEO_MAX9271_HELPER instead? It's not a driver in > the proper sense of the word. Not all Kconfig symbols refer to drivers. Should we rename V4L2_FWNODE to V4L2_FWNODE_HELPER ? :-) Of course the MAX9271 name may lead someone to believe that the symbol refers to a driver. If you think we should really make this explicit, I'd have a preference for LIB instead of HELPER. Either way, Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com> > Acked-by: Sakari Ailus <sakari.ailus@linux.intel.com> > > > + 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 > > 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 > > help > > This driver supports the IMI RDACM21 GMSL camera, used in > > ADAS systems. > > diff --git a/drivers/media/i2c/Makefile b/drivers/media/i2c/Makefile > > index 6bd22d63e1a7..c34a7de3158b 100644 > > --- a/drivers/media/i2c/Makefile > > +++ b/drivers/media/i2c/Makefile > > @@ -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) += 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
On Tue, Feb 09, 2021 at 12:26:33AM +0200, Laurent Pinchart wrote: > Hi Sakari and Jacopo, > > On Mon, Feb 08, 2021 at 10:21:47PM +0200, Sakari Ailus wrote: > > On Mon, Feb 08, 2021 at 07:20:06PM +0100, Jacopo Mondi wrote: > > > 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 rdacm21 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> > > > Suggested-by: Mauro Carvalho Chehab <mchehab@kernel.org> > > > Signed-off-by: Jacopo Mondi <jacopo+renesas@jmondi.org> > > > --- > > > drivers/media/i2c/Kconfig | 5 +++++ > > > drivers/media/i2c/Makefile | 7 +++---- > > > 2 files changed, 8 insertions(+), 4 deletions(-) > > > > > > diff --git a/drivers/media/i2c/Kconfig b/drivers/media/i2c/Kconfig > > > index 2d3dc0d82f9e..84645f751da3 100644 > > > --- a/drivers/media/i2c/Kconfig > > > +++ b/drivers/media/i2c/Kconfig > > > @@ -1240,12 +1240,16 @@ config VIDEO_NOON010PC30 > > > > > > source "drivers/media/i2c/m5mols/Kconfig" > > > > > > +config VIDEO_MAX9271 > > > > How about calling this VIDEO_MAX9271_HELPER instead? It's not a driver in > > the proper sense of the word. > > Not all Kconfig symbols refer to drivers. Should we rename V4L2_FWNODE > to V4L2_FWNODE_HELPER ? :-) > > Of course the MAX9271 name may lead someone to believe that the symbol > refers to a driver. If you think we should really make this explicit, > I'd have a preference for LIB instead of HELPER. LIB sounds good to me, too. > > Either way, > > Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com> > > > Acked-by: Sakari Ailus <sakari.ailus@linux.intel.com> > > > > > + 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 > > > 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 > > > help > > > This driver supports the IMI RDACM21 GMSL camera, used in > > > ADAS systems. > > > diff --git a/drivers/media/i2c/Makefile b/drivers/media/i2c/Makefile > > > index 6bd22d63e1a7..c34a7de3158b 100644 > > > --- a/drivers/media/i2c/Makefile > > > +++ b/drivers/media/i2c/Makefile > > > @@ -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) += 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 > > -- > Regards, > > Laurent Pinchart
On Mon, Feb 08, 2021 at 07:20:06PM +0100, Jacopo Mondi wrote: > 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 rdacm21 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> > Suggested-by: Mauro Carvalho Chehab <mchehab@kernel.org> > Signed-off-by: Jacopo Mondi <jacopo+renesas@jmondi.org> That file needs a MODULE_LICENSE now otherwise there will be a fatal build error: ERROR: modpost: missing MODULE_LICENSE() in drivers/media/i2c/max9271.o Cheers, Nathan > --- > drivers/media/i2c/Kconfig | 5 +++++ > drivers/media/i2c/Makefile | 7 +++---- > 2 files changed, 8 insertions(+), 4 deletions(-) > > diff --git a/drivers/media/i2c/Kconfig b/drivers/media/i2c/Kconfig > index 2d3dc0d82f9e..84645f751da3 100644 > --- a/drivers/media/i2c/Kconfig > +++ b/drivers/media/i2c/Kconfig > @@ -1240,12 +1240,16 @@ config VIDEO_NOON010PC30 > > source "drivers/media/i2c/m5mols/Kconfig" > > +config VIDEO_MAX9271 > + 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 > 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 > help > This driver supports the IMI RDACM21 GMSL camera, used in > ADAS systems. > diff --git a/drivers/media/i2c/Makefile b/drivers/media/i2c/Makefile > index 6bd22d63e1a7..c34a7de3158b 100644 > --- a/drivers/media/i2c/Makefile > +++ b/drivers/media/i2c/Makefile > @@ -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) += 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 > -- > 2.30.0 >
diff --git a/drivers/media/i2c/Kconfig b/drivers/media/i2c/Kconfig index 2d3dc0d82f9e..84645f751da3 100644 --- a/drivers/media/i2c/Kconfig +++ b/drivers/media/i2c/Kconfig @@ -1240,12 +1240,16 @@ config VIDEO_NOON010PC30 source "drivers/media/i2c/m5mols/Kconfig" +config VIDEO_MAX9271 + 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 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 help This driver supports the IMI RDACM21 GMSL camera, used in ADAS systems. diff --git a/drivers/media/i2c/Makefile b/drivers/media/i2c/Makefile index 6bd22d63e1a7..c34a7de3158b 100644 --- a/drivers/media/i2c/Makefile +++ b/drivers/media/i2c/Makefile @@ -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) += 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
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 rdacm21 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> Suggested-by: Mauro Carvalho Chehab <mchehab@kernel.org> Signed-off-by: Jacopo Mondi <jacopo+renesas@jmondi.org> --- drivers/media/i2c/Kconfig | 5 +++++ drivers/media/i2c/Makefile | 7 +++---- 2 files changed, 8 insertions(+), 4 deletions(-) -- 2.30.0