LKML Archive on lore.kernel.org
help / color / mirror / Atom feed
* [PATCH 1/5] media: omap3isp: fix warning for !CONFIG_PM
@ 2018-05-25 15:25 Arnd Bergmann
2018-05-25 15:25 ` [PATCH 2/5] media: v4l: cadence: include linux/slab.h Arnd Bergmann
` (3 more replies)
0 siblings, 4 replies; 6+ messages in thread
From: Arnd Bergmann @ 2018-05-25 15:25 UTC (permalink / raw)
To: Laurent Pinchart, Mauro Carvalho Chehab
Cc: Arnd Bergmann, Sakari Ailus, Sebastian Reichel, Hans Verkuil,
Pavel Machek, linux-media, linux-kernel
The final version of the COMPILE_TEST patch for this driver missed
one warning about suspend/resume functions that can now appear
on platforms that don't always set CONFIG_PM:
drivers/media/platform/omap3isp/isp.c:1008:13: error: 'isp_resume_modules' defined but not used [-Werror=unused-function]
static void isp_resume_modules(struct isp_device *isp)
^~~~~~~~~~~~~~~~~~
drivers/media/platform/omap3isp/isp.c:974:12: error: 'isp_suspend_modules' defined but not used [-Werror=unused-function]
static int isp_suspend_modules(struct isp_device *isp)
This marks the respective functions as __maybe_unused as an easy
workaround.
Fixes: 243131134be4 ("media: omap3isp: Allow it to build with COMPILE_TEST")
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
---
drivers/media/platform/omap3isp/isp.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/drivers/media/platform/omap3isp/isp.c b/drivers/media/platform/omap3isp/isp.c
index f22cf351e3ee..a658c12eead1 100644
--- a/drivers/media/platform/omap3isp/isp.c
+++ b/drivers/media/platform/omap3isp/isp.c
@@ -971,7 +971,7 @@ static void isp_resume_module_pipeline(struct media_entity *me)
* Returns 0 if suspend left in idle state all the submodules properly,
* or returns 1 if a general Reset is required to suspend the submodules.
*/
-static int isp_suspend_modules(struct isp_device *isp)
+static int __maybe_unused isp_suspend_modules(struct isp_device *isp)
{
unsigned long timeout;
@@ -1005,7 +1005,7 @@ static int isp_suspend_modules(struct isp_device *isp)
* isp_resume_modules - Resume ISP submodules.
* @isp: OMAP3 ISP device
*/
-static void isp_resume_modules(struct isp_device *isp)
+static void __maybe_unused isp_resume_modules(struct isp_device *isp)
{
omap3isp_stat_resume(&isp->isp_aewb);
omap3isp_stat_resume(&isp->isp_af);
--
2.9.0
^ permalink raw reply [flat|nested] 6+ messages in thread
* [PATCH 2/5] media: v4l: cadence: include linux/slab.h
2018-05-25 15:25 [PATCH 1/5] media: omap3isp: fix warning for !CONFIG_PM Arnd Bergmann
@ 2018-05-25 15:25 ` Arnd Bergmann
2018-05-28 6:56 ` Maxime Ripard
2018-05-25 15:25 ` [PATCH 3/5] media: cx231xx: fix RC_CORE dependency Arnd Bergmann
` (2 subsequent siblings)
3 siblings, 1 reply; 6+ messages in thread
From: Arnd Bergmann @ 2018-05-25 15:25 UTC (permalink / raw)
To: Maxime Ripard, Mauro Carvalho Chehab
Cc: Arnd Bergmann, Sakari Ailus, Niklas Söderlund,
Benoit Parrot, linux-media, linux-kernel
I ran into a randconfig build error with the new driver:
drivers/media/platform/cadence/cdns-csi2tx.c: In function 'csi2tx_probe':
drivers/media/platform/cadence/cdns-csi2tx.c:477:11: error: implicit declaration of function 'kzalloc'; did you mean 'd_alloc'? [-Werror=implicit-function-declaration]
kzalloc() is declared in linux/slab.h, so let's include this to make it
build in all configurations.
Fixes: 84b477e6d4bc ("media: v4l: cadence: Add Cadence MIPI-CSI2 TX driver")
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
---
drivers/media/platform/cadence/cdns-csi2rx.c | 1 +
drivers/media/platform/cadence/cdns-csi2tx.c | 1 +
2 files changed, 2 insertions(+)
diff --git a/drivers/media/platform/cadence/cdns-csi2rx.c b/drivers/media/platform/cadence/cdns-csi2rx.c
index a0f02916006b..43e43c7b3e98 100644
--- a/drivers/media/platform/cadence/cdns-csi2rx.c
+++ b/drivers/media/platform/cadence/cdns-csi2rx.c
@@ -13,6 +13,7 @@
#include <linux/of_graph.h>
#include <linux/phy/phy.h>
#include <linux/platform_device.h>
+#include <linux/slab.h>
#include <media/v4l2-ctrls.h>
#include <media/v4l2-device.h>
diff --git a/drivers/media/platform/cadence/cdns-csi2tx.c b/drivers/media/platform/cadence/cdns-csi2tx.c
index dfa1d88d955b..40d0de690ff4 100644
--- a/drivers/media/platform/cadence/cdns-csi2tx.c
+++ b/drivers/media/platform/cadence/cdns-csi2tx.c
@@ -13,6 +13,7 @@
#include <linux/of.h>
#include <linux/of_graph.h>
#include <linux/platform_device.h>
+#include <linux/slab.h>
#include <media/v4l2-ctrls.h>
#include <media/v4l2-device.h>
--
2.9.0
^ permalink raw reply [flat|nested] 6+ messages in thread
* [PATCH 3/5] media: cx231xx: fix RC_CORE dependency
2018-05-25 15:25 [PATCH 1/5] media: omap3isp: fix warning for !CONFIG_PM Arnd Bergmann
2018-05-25 15:25 ` [PATCH 2/5] media: v4l: cadence: include linux/slab.h Arnd Bergmann
@ 2018-05-25 15:25 ` Arnd Bergmann
2018-05-25 15:25 ` [PATCH 4/5] media: marvel-ccic: allow ccic and mmp drivers to coexist Arnd Bergmann
2018-05-25 15:25 ` [PATCH 5/5] media: omap2: fix compile-testing with FB_OMAP2=m Arnd Bergmann
3 siblings, 0 replies; 6+ messages in thread
From: Arnd Bergmann @ 2018-05-25 15:25 UTC (permalink / raw)
To: Mauro Carvalho Chehab, Brad Love
Cc: Arnd Bergmann, Hans Verkuil, Oleh Kravchenko, linux-media, linux-kernel
With CONFIG_RC_CORE=m and VIDEO_CX231XX=y, we get a link failure:
drivers/media/usb/cx231xx/cx231xx-input.o: In function `cx231xx_ir_init':
cx231xx-input.c:(.text+0xd4): undefined reference to `rc_allocate_device'
This narrows down the dependency so that only valid configurations
are allowed.
Fixes: 84545d2a1436 ("media: cx231xx: Remove RC_CORE dependency")
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
---
drivers/media/usb/cx231xx/Kconfig | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/media/usb/cx231xx/Kconfig b/drivers/media/usb/cx231xx/Kconfig
index 0f13192634c7..9e5b3e7c3ef5 100644
--- a/drivers/media/usb/cx231xx/Kconfig
+++ b/drivers/media/usb/cx231xx/Kconfig
@@ -15,7 +15,7 @@ config VIDEO_CX231XX
config VIDEO_CX231XX_RC
bool "Conexant cx231xx Remote Controller additional support"
- depends on RC_CORE
+ depends on RC_CORE=y || RC_CORE=VIDEO_CX231XX
depends on VIDEO_CX231XX
default y
---help---
--
2.9.0
^ permalink raw reply [flat|nested] 6+ messages in thread
* [PATCH 4/5] media: marvel-ccic: allow ccic and mmp drivers to coexist
2018-05-25 15:25 [PATCH 1/5] media: omap3isp: fix warning for !CONFIG_PM Arnd Bergmann
2018-05-25 15:25 ` [PATCH 2/5] media: v4l: cadence: include linux/slab.h Arnd Bergmann
2018-05-25 15:25 ` [PATCH 3/5] media: cx231xx: fix RC_CORE dependency Arnd Bergmann
@ 2018-05-25 15:25 ` Arnd Bergmann
2018-05-25 15:25 ` [PATCH 5/5] media: omap2: fix compile-testing with FB_OMAP2=m Arnd Bergmann
3 siblings, 0 replies; 6+ messages in thread
From: Arnd Bergmann @ 2018-05-25 15:25 UTC (permalink / raw)
To: Jonathan Corbet, Mauro Carvalho Chehab
Cc: Arnd Bergmann, Philippe Ombredanne, Bhumika Goyal, Sakari Ailus,
Hans Verkuil, Greg Kroah-Hartman, linux-media, linux-kernel
Randconfig builds fail when one of the two is a built-in driver and
the other one is a loadable module:
drivers/media/platform/marvell-ccic/mcam-core.o: In function `mccic_register':
mcam-core.c:(.text+0x2594): undefined reference to `__this_module'
drivers/media/platform/marvell-ccic/mcam-core.o:(.rodata+0x50): undefined reference to `__this_module'
The problem is that mcam-core.c can not be built both ways at the smae
time. However, we can make kbuild take care of that by making the core
driver a separate module, which can be either built-in or loadable
as needed.
Making it a separate module requires exporting a few symbols and
adding the module license from the header.
Fixes: 0a9c643c8faa ("media: marvel-ccic: re-enable mmp-driver build")
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
---
drivers/media/platform/marvell-ccic/Makefile | 9 ++++-----
drivers/media/platform/marvell-ccic/mcam-core.c | 9 ++++++++-
2 files changed, 12 insertions(+), 6 deletions(-)
diff --git a/drivers/media/platform/marvell-ccic/Makefile b/drivers/media/platform/marvell-ccic/Makefile
index 05a792c579a2..b3a4d0cdccb8 100644
--- a/drivers/media/platform/marvell-ccic/Makefile
+++ b/drivers/media/platform/marvell-ccic/Makefile
@@ -1,6 +1,5 @@
-obj-$(CONFIG_VIDEO_CAFE_CCIC) += cafe_ccic.o
-cafe_ccic-y := cafe-driver.o mcam-core.o
-
-obj-$(CONFIG_VIDEO_MMP_CAMERA) += mmp_camera.o
-mmp_camera-y := mmp-driver.o mcam-core.o
+obj-$(CONFIG_VIDEO_CAFE_CCIC) += cafe_ccic.o mcam-core.o
+cafe_ccic-y := cafe-driver.o
+obj-$(CONFIG_VIDEO_MMP_CAMERA) += mmp_camera.o mcam-core.o
+mmp_camera-y := mmp-driver.o
diff --git a/drivers/media/platform/marvell-ccic/mcam-core.c b/drivers/media/platform/marvell-ccic/mcam-core.c
index 80670eeee142..dfdbd4354b74 100644
--- a/drivers/media/platform/marvell-ccic/mcam-core.c
+++ b/drivers/media/platform/marvell-ccic/mcam-core.c
@@ -1720,6 +1720,7 @@ int mccic_irq(struct mcam_camera *cam, unsigned int irqs)
}
return handled;
}
+EXPORT_SYMBOL_GPL(mccic_irq);
/* ---------------------------------------------------------------------- */
/*
@@ -1830,7 +1831,7 @@ int mccic_register(struct mcam_camera *cam)
v4l2_device_unregister(&cam->v4l2_dev);
return ret;
}
-
+EXPORT_SYMBOL_GPL(mccic_register);
void mccic_shutdown(struct mcam_camera *cam)
{
@@ -1850,6 +1851,7 @@ void mccic_shutdown(struct mcam_camera *cam)
v4l2_ctrl_handler_free(&cam->ctrl_handler);
v4l2_device_unregister(&cam->v4l2_dev);
}
+EXPORT_SYMBOL_GPL(mccic_shutdown);
/*
* Power management
@@ -1868,6 +1870,7 @@ void mccic_suspend(struct mcam_camera *cam)
}
mutex_unlock(&cam->s_mutex);
}
+EXPORT_SYMBOL_GPL(mccic_suspend);
int mccic_resume(struct mcam_camera *cam)
{
@@ -1898,4 +1901,8 @@ int mccic_resume(struct mcam_camera *cam)
}
return ret;
}
+EXPORT_SYMBOL_GPL(mccic_resume);
#endif /* CONFIG_PM */
+
+MODULE_LICENSE("GPL v2");
+MODULE_AUTHOR("Jonathan Corbet <corbet@lwn.net>");
--
2.9.0
^ permalink raw reply [flat|nested] 6+ messages in thread
* [PATCH 5/5] media: omap2: fix compile-testing with FB_OMAP2=m
2018-05-25 15:25 [PATCH 1/5] media: omap3isp: fix warning for !CONFIG_PM Arnd Bergmann
` (2 preceding siblings ...)
2018-05-25 15:25 ` [PATCH 4/5] media: marvel-ccic: allow ccic and mmp drivers to coexist Arnd Bergmann
@ 2018-05-25 15:25 ` Arnd Bergmann
3 siblings, 0 replies; 6+ messages in thread
From: Arnd Bergmann @ 2018-05-25 15:25 UTC (permalink / raw)
To: Mauro Carvalho Chehab, Arnd Bergmann; +Cc: linux-media, linux-kernel
Compile-testing with FB_OMAP2=m results in a link error:
drivers/media/platform/omap/omap_vout.o: In function `vidioc_streamoff':
omap_vout.c:(.text+0x1028): undefined reference to `omap_dispc_unregister_isr'
drivers/media/platform/omap/omap_vout.o: In function `omap_vout_release':
omap_vout.c:(.text+0x1330): undefined reference to `omap_dispc_unregister_isr'
drivers/media/platform/omap/omap_vout.o: In function `vidioc_streamon':
omap_vout.c:(.text+0x2dd4): undefined reference to `omap_dispc_register_isr'
drivers/media/platform/omap/omap_vout.o: In function `omap_vout_remove':
In order to enable compile-testing but still keep the correct dependency,
this changes the Kconfig logic so we only allow CONFIG_COMPILE_TEST
building when FB_OMAP is completely disabled, or have use the old
dependency on FB_OMAP to ensure VIDEO_OMAP2_VOUT is also a loadable
module when FB_OMAP2 is.
Fixes: d8555fd2f452 ("media: omap2: allow building it with COMPILE_TEST && DRM_OMAP")
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
---
drivers/media/platform/omap/Kconfig | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/media/platform/omap/Kconfig b/drivers/media/platform/omap/Kconfig
index a414bcbb9b08..d827b6c285a6 100644
--- a/drivers/media/platform/omap/Kconfig
+++ b/drivers/media/platform/omap/Kconfig
@@ -6,7 +6,7 @@ config VIDEO_OMAP2_VOUT_VRFB
config VIDEO_OMAP2_VOUT
tristate "OMAP2/OMAP3 V4L2-Display driver"
depends on MMU
- depends on FB_OMAP2 || COMPILE_TEST
+ depends on FB_OMAP2 || (COMPILE_TEST && FB_OMAP2=n)
depends on ARCH_OMAP2 || ARCH_OMAP3 || COMPILE_TEST
select VIDEOBUF_GEN
select VIDEOBUF_DMA_CONTIG
--
2.9.0
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [PATCH 2/5] media: v4l: cadence: include linux/slab.h
2018-05-25 15:25 ` [PATCH 2/5] media: v4l: cadence: include linux/slab.h Arnd Bergmann
@ 2018-05-28 6:56 ` Maxime Ripard
0 siblings, 0 replies; 6+ messages in thread
From: Maxime Ripard @ 2018-05-28 6:56 UTC (permalink / raw)
To: Arnd Bergmann
Cc: Mauro Carvalho Chehab, Sakari Ailus, Niklas Söderlund,
Benoit Parrot, linux-media, linux-kernel
[-- Attachment #1: Type: text/plain, Size: 810 bytes --]
On Fri, May 25, 2018 at 05:25:09PM +0200, Arnd Bergmann wrote:
> I ran into a randconfig build error with the new driver:
>
> drivers/media/platform/cadence/cdns-csi2tx.c: In function 'csi2tx_probe':
> drivers/media/platform/cadence/cdns-csi2tx.c:477:11: error: implicit declaration of function 'kzalloc'; did you mean 'd_alloc'? [-Werror=implicit-function-declaration]
>
> kzalloc() is declared in linux/slab.h, so let's include this to make it
> build in all configurations.
>
> Fixes: 84b477e6d4bc ("media: v4l: cadence: Add Cadence MIPI-CSI2 TX driver")
> Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Acked-by: Maxime Ripard <maxime.ripard@bootlin.com>
Thanks!
Maxime
--
Maxime Ripard, Bootlin (formerly Free Electrons)
Embedded Linux and Kernel engineering
https://bootlin.com
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 833 bytes --]
^ permalink raw reply [flat|nested] 6+ messages in thread
end of thread, other threads:[~2018-05-28 6:56 UTC | newest]
Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2018-05-25 15:25 [PATCH 1/5] media: omap3isp: fix warning for !CONFIG_PM Arnd Bergmann
2018-05-25 15:25 ` [PATCH 2/5] media: v4l: cadence: include linux/slab.h Arnd Bergmann
2018-05-28 6:56 ` Maxime Ripard
2018-05-25 15:25 ` [PATCH 3/5] media: cx231xx: fix RC_CORE dependency Arnd Bergmann
2018-05-25 15:25 ` [PATCH 4/5] media: marvel-ccic: allow ccic and mmp drivers to coexist Arnd Bergmann
2018-05-25 15:25 ` [PATCH 5/5] media: omap2: fix compile-testing with FB_OMAP2=m Arnd Bergmann
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).