Skip to content

Make all media drivers build with COMPILE_TEST

Mauro Carvalho Chehab dri-devel linux-arm-kernel linux-fbdev linux-media linux-omap linux-samsung-soc 2 versions In review

Get series with b4
b4 am [email protected]

Versions newest first · linked by author and title

  1. v2 Latest19 patches 9 repliesIn review
  2. v116 patches 20 repliesSuperseded

Changes in v2 from the cover letter

- did some changes as per Laurent's feedback from the past series;
- added a patch to compile both si470x drivers at the same time;
- added patches to also build all media staging drivers.

Patches in v2 No applies recorded yet

#Subject and filesSizeRepliesApplied
1/19omap: omap-iommu.h: allow building drivers with COMPILE_TESTinclude/linux/omap-iommu.h+5 -00 replies
2/19media: omap3isp: allow it to build with COMPILE_TESTdrivers/media/platform/Kconfig drivers/media/platform/omap3isp/isp.c+11 -41 reply
3/19media: omap3isp/isp: remove an unused static vardrivers/media/platform/omap3isp/isp.c+0 -70 replies
4/19media: fsl-viu: mark static functions as suchdrivers/media/platform/fsl-viu.c+6 -60 replies
5/19media: fsl-viu: allow building it with COMPILE_TESTdrivers/media/platform/Kconfig drivers/media/platform/fsl-viu.c+9 -10 replies
6/19media: cec_gpio: allow building CEC_GPIO with COMPILE_TESTdrivers/media/platform/Kconfig+1 -10 replies
7/19media: exymos4-is: allow compile test for EXYNOS FIMC-LITEdrivers/media/platform/exynos4-is/Kconfig+1 -30 replies
8/19media: mmp-camera.h: add missing platform datainclude/linux/platform_data/media/mmp-camera.h+19 -00 replies
9/19media: marvel-ccic: re-enable mmp-driver builddrivers/media/platform/marvell-ccic/Kconfig+3 -20 replies
10/19media: mmp-driver: make two functions staticdrivers/media/platform/marvell-ccic/mmp-driver.c+2 -20 replies
11/19media: davinci: allow building isif codedrivers/media/platform/davinci/Kconfig drivers/media/platform/davinci/isif.c+2 -30 replies
12/19media: davinci: allow build vpbe_display with COMPILE_TESTdrivers/media/platform/davinci/Kconfig drivers/media/platform/davinci/vpbe_display.c drivers/media/platform/davinci/vpbe_osd.c +1 more+10 -10 replies
13/19media: vpbe_venc: don't store return codes if they won't be useddrivers/media/platform/davinci/vpbe_venc.c+2 -40 replies
14/19media: davinci: get rid of lots of kernel-doc warningsdrivers/media/platform/davinci/vpbe.c drivers/media/platform/davinci/vpbe_display.c drivers/media/platform/davinci/vpbe_osd.c+36 -340 replies
15/19omap2: omapfb: allow building it with COMPILE_TESTdrivers/video/fbdev/omap2/Kconfig+1 -12 replies
16/19media: omap: allow building it with COMPILE_TESTdrivers/media/platform/omap/Kconfig+4 -40 replies
17/19media: omap4iss: make it build with COMPILE_TESTdrivers/staging/media/omap4iss/Kconfig+2 -11 reply
18/19media: si470x: allow build both USB and I2C at the same timedrivers/media/radio/Kconfig drivers/media/radio/si470x/Kconfig drivers/media/radio/si470x/Makefile +4 more+95 -455 replies
19/19media: staging: davinci_vpfe: allow building with COMPILE_TESTdrivers/staging/media/davinci_vpfe/Kconfig drivers/staging/media/davinci_vpfe/Makefile drivers/staging/media/davinci_vpfe/TODO+8 -10 replies

Reviews trailers per patch

3 of 19 patches have a Reviewed-by or Acked-by.

PatchLaurent PinchartTomi Valkeinen
1/19
2/19
3/19R-b
4/19
5/19
6/19
7/19
8/19
9/19
10/19
11/19
12/19
13/19
14/19
15/19A-b
16/19
17/19A-b
18/19
19/19

Trailers given in replies are filled; those carried in the patches from earlier versions are outlined with dashes.

Read the v2 thread

Cover letter [PATCH v2 00/19] Make all media drivers build with COMPILE_TEST

The current media policy has been for a while to only accept new drivers that compile with COMPILE_TEST.

However, there are still several drivers under that doesn't build with COMPILE_TEST.

So, this series makes the existing ones also compatible with it.

Not building with COMPILE_TEST is a bad thing, for several reasons.

The main ones is that:

1) the licence the Kernel community has for Coverity only builds for x86. So, drivers that don't build on such archtecture were likely never tested by it.

2) That affects my per-patch handling process, with should be quick enough to not delay my patch handling process. So, I only build for one architecture (i386).

3) When appliying a patch, I always run two static code analyzers (W=1, smatch and sparse). Those drivers weren't checked by me. At the end of the day, that leads to a lower quality check for the drivers that don't build on i386.

There are two situations on this patch series that proof the lower quality of those drivers:

- There is a case of a driver that was added broken in 2013. Only two years later, someone noticed and "fixed" it by markin it as BROKEN!

- 5 patches in this series (about 1/3) are just to fix build issues on those drivers, most of them due to gcc warnings.

With this patch series, all "config FOO" and "menuconfig FOO" symbols under media will be built with allyes config.

Tested with:

	$ make ARCH=i386 allyesconfig
	$ for i in  $(grep "config " $(find drivers/staging/media/ -name Kconfig) $(find drivers/media/ -name Kconfig) |grep -v "\#.*Kconfig"|cut -d' ' -f 2) ; do if [ "$(grep $i .config)" == "" ]; then echo $i; fi;done

v2:

- did some changes as per Laurent's feedback from the past series;
- added a patch to compile both si470x drivers at the same time;
- added patches to also build all media staging drivers.

I opted to preserve patch 03/16 (omap3isp build) as I don't see any strong reason why this driver should not be allowed to build with COMPILE_TEST.

Mauro Carvalho Chehab (19):
omap: omap-iommu.h: allow building drivers with COMPILE_TEST
media: omap3isp: allow it to build with COMPILE_TEST
media: omap3isp/isp: remove an unused static var
media: fsl-viu: mark static functions as such
media: fsl-viu: allow building it with COMPILE_TEST
media: cec_gpio: allow building CEC_GPIO with COMPILE_TEST
media: exymos4-is: allow compile test for EXYNOS FIMC-LITE
media: mmp-camera.h: add missing platform data
media: marvel-ccic: re-enable mmp-driver build
media: mmp-driver: make two functions static
media: davinci: allow building isif code
media: davinci: allow build vpbe_display with COMPILE_TEST
media: vpbe_venc: don't store return codes if they won't be used
media: davinci: get rid of lots of kernel-doc warnings
omap2: omapfb: allow building it with COMPILE_TEST
media: omap: allow building it with COMPILE_TEST
media: omap4iss: make it build with COMPILE_TEST
media: si470x: allow build both USB and I2C at the same time
media: staging: davinci_vpfe: allow building with COMPILE_TEST

 drivers/media/platform/Kconfig                   | 12 ++---
 drivers/media/platform/davinci/Kconfig           |  6 ++-
 drivers/media/platform/davinci/isif.c            |  2 -
 drivers/media/platform/davinci/vpbe.c            | 38 ++++++++-------
 drivers/media/platform/davinci/vpbe_display.c    | 21 ++++----
 drivers/media/platform/davinci/vpbe_osd.c        | 16 ++++---
 drivers/media/platform/davinci/vpbe_venc.c       |  9 ++--
 drivers/media/platform/exynos4-is/Kconfig        |  4 +-
 drivers/media/platform/fsl-viu.c                 | 20 +++++---
 drivers/media/platform/marvell-ccic/Kconfig      |  5 +-
 drivers/media/platform/marvell-ccic/mmp-driver.c |  4 +-
 drivers/media/platform/omap/Kconfig              |  8 ++--
 drivers/media/platform/omap3isp/isp.c            | 14 +++---
 drivers/media/radio/Kconfig                      |  4 --
 drivers/media/radio/si470x/Kconfig               | 16 ++++++-
 drivers/media/radio/si470x/Makefile              |  8 ++--
 drivers/media/radio/si470x/radio-si470x-common.c | 61 +++++++++++++++++-------
 drivers/media/radio/si470x/radio-si470x-i2c.c    | 18 ++++---
 drivers/media/radio/si470x/radio-si470x-usb.c    | 18 ++++---
 drivers/media/radio/si470x/radio-si470x.h        | 15 +++---
 drivers/staging/media/davinci_vpfe/Kconfig       |  3 +-
 drivers/staging/media/davinci_vpfe/Makefile      |  5 ++
 drivers/staging/media/davinci_vpfe/TODO          |  1 +
 drivers/staging/media/omap4iss/Kconfig           |  3 +-
 drivers/video/fbdev/omap2/Kconfig                |  2 +-
 include/linux/omap-iommu.h                       |  5 ++
 include/linux/platform_data/media/mmp-camera.h   | 19 ++++++++
 27 files changed, 217 insertions(+), 120 deletions(-)
Signature · 1 line
2.14.3