From a03636cb21af1d22a894a5a863b2ba3c3687da63 Mon Sep 17 00:00:00 2001 From: Hans Verkuil Date: Thu, 12 Dec 2013 09:04:44 -0300 Subject: [PATCH] [media] omap24xx/tcm825x: move to staging for future removal The omap24xx driver and the tcm825x sensor driver are the only two remaining drivers to still use the old deprecated v4l2-int-device API. Nobody maintains these drivers anymore. But unfortunately the v4l2-int-device API is used by out-of-tree drivers (MXC platform). This is a very bad situation since as long as this deprecated API stays in the kernel there is no reason for those out-of-tree drivers to convert. This patch moves v4l2-int-device and the two drivers that depend on it to staging in preparation for their removal. If someone would be interested in getting these drivers to work, then start with this since it's not very far from the state where they used to work: The branch is n800-cam. Porting to up-to-date APIs can then be done. David might have done some work in that area, so check with him first. Signed-off-by: Hans Verkuil Cc: Sakari Ailus Cc: David Cohen Signed-off-by: Mauro Carvalho Chehab --- drivers/media/i2c/Kconfig | 8 ----- drivers/media/i2c/Makefile | 1 - drivers/media/platform/Kconfig | 7 ---- drivers/media/platform/Makefile | 3 -- drivers/media/v4l2-core/Kconfig | 11 ------ drivers/media/v4l2-core/Makefile | 1 - drivers/staging/media/Kconfig | 2 ++ drivers/staging/media/Makefile | 2 ++ drivers/staging/media/omap24xx/Kconfig | 35 +++++++++++++++++++ drivers/staging/media/omap24xx/Makefile | 5 +++ .../media/omap24xx}/omap24xxcam-dma.c | 0 .../media/omap24xx}/omap24xxcam.c | 0 .../media/omap24xx}/omap24xxcam.h | 2 +- .../i2c => staging/media/omap24xx}/tcm825x.c | 2 +- .../i2c => staging/media/omap24xx}/tcm825x.h | 2 +- .../media/omap24xx}/v4l2-int-device.c | 2 +- .../staging/media/omap24xx}/v4l2-int-device.h | 0 17 files changed, 48 insertions(+), 35 deletions(-) create mode 100644 drivers/staging/media/omap24xx/Kconfig create mode 100644 drivers/staging/media/omap24xx/Makefile rename drivers/{media/platform => staging/media/omap24xx}/omap24xxcam-dma.c (100%) rename drivers/{media/platform => staging/media/omap24xx}/omap24xxcam.c (100%) rename drivers/{media/platform => staging/media/omap24xx}/omap24xxcam.h (99%) rename drivers/{media/i2c => staging/media/omap24xx}/tcm825x.c (99%) rename drivers/{media/i2c => staging/media/omap24xx}/tcm825x.h (99%) rename drivers/{media/v4l2-core => staging/media/omap24xx}/v4l2-int-device.c (99%) rename {include/media => drivers/staging/media/omap24xx}/v4l2-int-device.h (100%) diff --git a/drivers/media/i2c/Kconfig b/drivers/media/i2c/Kconfig index 842654d33317..997cd66a1443 100644 --- a/drivers/media/i2c/Kconfig +++ b/drivers/media/i2c/Kconfig @@ -555,14 +555,6 @@ config VIDEO_MT9V032 This is a Video4Linux2 sensor-level driver for the Micron MT9V032 752x480 CMOS sensor. -config VIDEO_TCM825X - tristate "TCM825x camera sensor support" - depends on I2C && VIDEO_V4L2 && VIDEO_V4L2_INT_DEVICE - depends on MEDIA_CAMERA_SUPPORT - ---help--- - This is a driver for the Toshiba TCM825x VGA camera sensor. - It is used for example in Nokia N800. - config VIDEO_SR030PC30 tristate "Siliconfile SR030PC30 sensor support" depends on I2C && VIDEO_V4L2 diff --git a/drivers/media/i2c/Makefile b/drivers/media/i2c/Makefile index e03f1776f4f4..abd25e3fe517 100644 --- a/drivers/media/i2c/Makefile +++ b/drivers/media/i2c/Makefile @@ -57,7 +57,6 @@ obj-$(CONFIG_VIDEO_UPD64083) += upd64083.o obj-$(CONFIG_VIDEO_OV7640) += ov7640.o obj-$(CONFIG_VIDEO_OV7670) += ov7670.o obj-$(CONFIG_VIDEO_OV9650) += ov9650.o -obj-$(CONFIG_VIDEO_TCM825X) += tcm825x.o obj-$(CONFIG_VIDEO_MT9M032) += mt9m032.o obj-$(CONFIG_VIDEO_MT9P031) += mt9p031.o obj-$(CONFIG_VIDEO_MT9T001) += mt9t001.o diff --git a/drivers/media/platform/Kconfig b/drivers/media/platform/Kconfig index 7f6ea6570122..b2a4403940c5 100644 --- a/drivers/media/platform/Kconfig +++ b/drivers/media/platform/Kconfig @@ -91,13 +91,6 @@ config VIDEO_M32R_AR_M64278 To compile this driver as a module, choose M here: the module will be called arv. -config VIDEO_OMAP2 - tristate "OMAP2 Camera Capture Interface driver" - depends on VIDEO_DEV && ARCH_OMAP2 && VIDEO_V4L2_INT_DEVICE - select VIDEOBUF_DMA_SG - ---help--- - This is a v4l2 driver for the TI OMAP2 camera capture interface - config VIDEO_OMAP3 tristate "OMAP 3 Camera support" depends on OMAP_IOVMM && VIDEO_V4L2 && I2C && VIDEO_V4L2_SUBDEV_API && ARCH_OMAP3 diff --git a/drivers/media/platform/Makefile b/drivers/media/platform/Makefile index 1348ba1faf92..e5269da91906 100644 --- a/drivers/media/platform/Makefile +++ b/drivers/media/platform/Makefile @@ -2,8 +2,6 @@ # Makefile for the video capture/playback device drivers. # -omap2cam-objs := omap24xxcam.o omap24xxcam-dma.o - obj-$(CONFIG_VIDEO_VINO) += indycam.o obj-$(CONFIG_VIDEO_VINO) += vino.o @@ -14,7 +12,6 @@ obj-$(CONFIG_VIDEO_VIA_CAMERA) += via-camera.o obj-$(CONFIG_VIDEO_CAFE_CCIC) += marvell-ccic/ obj-$(CONFIG_VIDEO_MMP_CAMERA) += marvell-ccic/ -obj-$(CONFIG_VIDEO_OMAP2) += omap2cam.o obj-$(CONFIG_VIDEO_OMAP3) += omap3isp/ obj-$(CONFIG_VIDEO_VIU) += fsl-viu.o diff --git a/drivers/media/v4l2-core/Kconfig b/drivers/media/v4l2-core/Kconfig index 8c05565a240e..2189bfb2e828 100644 --- a/drivers/media/v4l2-core/Kconfig +++ b/drivers/media/v4l2-core/Kconfig @@ -83,14 +83,3 @@ config VIDEOBUF2_DMA_SG #depends on HAS_DMA select VIDEOBUF2_CORE select VIDEOBUF2_MEMOPS - -config VIDEO_V4L2_INT_DEVICE - tristate "V4L2 int device (DEPRECATED)" - depends on VIDEO_V4L2 - ---help--- - An early framework for a hardware-independent interface for - image sensors and bridges etc. Currently used by omap24xxcam and - tcm825x drivers that should be converted to V4L2 subdev. - - Do not use for new developments. - diff --git a/drivers/media/v4l2-core/Makefile b/drivers/media/v4l2-core/Makefile index 1a85eee581f8..c6ae7bad951e 100644 --- a/drivers/media/v4l2-core/Makefile +++ b/drivers/media/v4l2-core/Makefile @@ -15,7 +15,6 @@ ifeq ($(CONFIG_OF),y) endif obj-$(CONFIG_VIDEO_V4L2) += videodev.o -obj-$(CONFIG_VIDEO_V4L2_INT_DEVICE) += v4l2-int-device.o obj-$(CONFIG_VIDEO_V4L2) += v4l2-common.o obj-$(CONFIG_VIDEO_V4L2) += v4l2-dv-timings.o diff --git a/drivers/staging/media/Kconfig b/drivers/staging/media/Kconfig index 6a202170ab8c..22b0c9d6f046 100644 --- a/drivers/staging/media/Kconfig +++ b/drivers/staging/media/Kconfig @@ -33,6 +33,8 @@ source "drivers/staging/media/go7007/Kconfig" source "drivers/staging/media/msi3101/Kconfig" +source "drivers/staging/media/omap24xx/Kconfig" + source "drivers/staging/media/sn9c102/Kconfig" source "drivers/staging/media/solo6x10/Kconfig" diff --git a/drivers/staging/media/Makefile b/drivers/staging/media/Makefile index 2a154517e105..bedc62aaede6 100644 --- a/drivers/staging/media/Makefile +++ b/drivers/staging/media/Makefile @@ -9,3 +9,5 @@ obj-$(CONFIG_USB_MSI3101) += msi3101/ obj-$(CONFIG_VIDEO_DM365_VPFE) += davinci_vpfe/ obj-$(CONFIG_VIDEO_OMAP4) += omap4iss/ obj-$(CONFIG_USB_SN9C102) += sn9c102/ +obj-$(CONFIG_VIDEO_OMAP2) += omap24xx/ +obj-$(CONFIG_VIDEO_TCM825X) += omap24xx/ diff --git a/drivers/staging/media/omap24xx/Kconfig b/drivers/staging/media/omap24xx/Kconfig new file mode 100644 index 000000000000..82e569a21c46 --- /dev/null +++ b/drivers/staging/media/omap24xx/Kconfig @@ -0,0 +1,35 @@ +config VIDEO_V4L2_INT_DEVICE + tristate + +config VIDEO_OMAP2 + tristate "OMAP2 Camera Capture Interface driver (DEPRECATED)" + depends on VIDEO_DEV && ARCH_OMAP2 + select VIDEOBUF_DMA_SG + select VIDEO_V4L2_INT_DEVICE + ---help--- + This is a v4l2 driver for the TI OMAP2 camera capture interface + + It uses the deprecated int-device API. Since this driver is no + longer actively maintained and nobody is interested in converting + it to the subdev API, this driver will be removed soon. + + If you do want to keep this driver in the kernel, and are willing + to convert it to the subdev API, then please contact the linux-media + mailinglist. + +config VIDEO_TCM825X + tristate "TCM825x camera sensor support (DEPRECATED)" + depends on I2C && VIDEO_V4L2 + depends on MEDIA_CAMERA_SUPPORT + select VIDEO_V4L2_INT_DEVICE + ---help--- + This is a driver for the Toshiba TCM825x VGA camera sensor. + It is used for example in Nokia N800. + + It uses the deprecated int-device API. Since this driver is no + longer actively maintained and nobody is interested in converting + it to the subdev API, this driver will be removed soon. + + If you do want to keep this driver in the kernel, and are willing + to convert it to the subdev API, then please contact the linux-media + mailinglist. diff --git a/drivers/staging/media/omap24xx/Makefile b/drivers/staging/media/omap24xx/Makefile new file mode 100644 index 000000000000..c2e7175599c2 --- /dev/null +++ b/drivers/staging/media/omap24xx/Makefile @@ -0,0 +1,5 @@ +omap2cam-objs := omap24xxcam.o omap24xxcam-dma.o + +obj-$(CONFIG_VIDEO_OMAP2) += omap2cam.o +obj-$(CONFIG_VIDEO_TCM825X) += tcm825x.o +obj-$(CONFIG_VIDEO_V4L2_INT_DEVICE) += v4l2-int-device.o diff --git a/drivers/media/platform/omap24xxcam-dma.c b/drivers/staging/media/omap24xx/omap24xxcam-dma.c similarity index 100% rename from drivers/media/platform/omap24xxcam-dma.c rename to drivers/staging/media/omap24xx/omap24xxcam-dma.c diff --git a/drivers/media/platform/omap24xxcam.c b/drivers/staging/media/omap24xx/omap24xxcam.c similarity index 100% rename from drivers/media/platform/omap24xxcam.c rename to drivers/staging/media/omap24xx/omap24xxcam.c diff --git a/drivers/media/platform/omap24xxcam.h b/drivers/staging/media/omap24xx/omap24xxcam.h similarity index 99% rename from drivers/media/platform/omap24xxcam.h rename to drivers/staging/media/omap24xx/omap24xxcam.h index 7f6f79155537..233bb40cfec3 100644 --- a/drivers/media/platform/omap24xxcam.h +++ b/drivers/staging/media/omap24xx/omap24xxcam.h @@ -28,8 +28,8 @@ #define OMAP24XXCAM_H #include -#include #include +#include "v4l2-int-device.h" /* * diff --git a/drivers/media/i2c/tcm825x.c b/drivers/staging/media/omap24xx/tcm825x.c similarity index 99% rename from drivers/media/i2c/tcm825x.c rename to drivers/staging/media/omap24xx/tcm825x.c index 9252529fc5dd..b1ae8e9c7e14 100644 --- a/drivers/media/i2c/tcm825x.c +++ b/drivers/staging/media/omap24xx/tcm825x.c @@ -28,7 +28,7 @@ #include #include -#include +#include "v4l2-int-device.h" #include "tcm825x.h" diff --git a/drivers/media/i2c/tcm825x.h b/drivers/staging/media/omap24xx/tcm825x.h similarity index 99% rename from drivers/media/i2c/tcm825x.h rename to drivers/staging/media/omap24xx/tcm825x.h index 8ebab953963f..e2d1bcd0bcbe 100644 --- a/drivers/media/i2c/tcm825x.h +++ b/drivers/staging/media/omap24xx/tcm825x.h @@ -17,7 +17,7 @@ #include -#include +#include "v4l2-int-device.h" #define TCM825X_NAME "tcm825x" diff --git a/drivers/media/v4l2-core/v4l2-int-device.c b/drivers/staging/media/omap24xx/v4l2-int-device.c similarity index 99% rename from drivers/media/v4l2-core/v4l2-int-device.c rename to drivers/staging/media/omap24xx/v4l2-int-device.c index f4473494af7a..427a89033a1d 100644 --- a/drivers/media/v4l2-core/v4l2-int-device.c +++ b/drivers/staging/media/omap24xx/v4l2-int-device.c @@ -28,7 +28,7 @@ #include #include -#include +#include "v4l2-int-device.h" static DEFINE_MUTEX(mutex); static LIST_HEAD(int_list); diff --git a/include/media/v4l2-int-device.h b/drivers/staging/media/omap24xx/v4l2-int-device.h similarity index 100% rename from include/media/v4l2-int-device.h rename to drivers/staging/media/omap24xx/v4l2-int-device.h -- 2.39.2