Commit fc6836b3 authored by Eugen Hristev's avatar Eugen Hristev Committed by Hans Verkuil
Browse files

media: atmel: atmel-isc: move to staging



The Atmel ISC driver is not compliant with media controller specification.
In order to evolve this driver, it has to move to media controller, to
support enhanced features and future products which embed it.
The move to media controller involves several changes which are
not backwards compatible with the current usability of the driver.

The best example is the way the format is propagated from the top video
driver /dev/videoX down to the sensor.

In a simple configuration sensor ==> isc , the isc just calls subdev s_fmt
and controls the sensor directly. This is achieved by having a lot of code
inside the driver that will query the subdev at probe time and make a list
of formats which are usable.
Basically the user has nothing to configure, as the isc will handle
everything at the top level. This is an easy way to capture, but also comes
with the drawback of lack of flexibility.
In a more complicated pipeline
sensor ==> controller 1 ==> controller 2 ==> isc
this will not be achievable, as controller 1 and controller 2 might be
media-controller configurable, and will not propagate the formats down to
the sensor.

After discussions with the media maintainers, the decision is to move
Atmel ISC to staging as-is, to keep the Kconfig symbols and the users
to the driver in staging. Thus, all the existing users of the non
media-controller paradigm will continue to be happy and use the old config
way.

The new driver was added in the media subsystem with a different
symbol, with the conversion to media controller done, and new users
of the driver will be able to use all the new features.

This patch is merely a file move to staging, not affecting any of the
users.

The exported symbols had to be renamed to atmel_* to avoid duplication with
the new Microchip ISC driver.

Signed-off-by: default avatarEugen Hristev <eugen.hristev@microchip.com>
Signed-off-by: default avatarHans Verkuil <hverkuil-cisco@xs4all.nl>
parent 05255605
Loading
Loading
Loading
Loading
+2 −2
Original line number Diff line number Diff line
@@ -13493,8 +13493,8 @@ L: linux-media@vger.kernel.org
S:	Supported
F:	Documentation/devicetree/bindings/media/atmel,isc.yaml
F:	Documentation/devicetree/bindings/media/microchip,xisc.yaml
F:	drivers/media/platform/atmel/atmel-isc*
F:	drivers/media/platform/atmel/atmel-sama*-isc*
F:	drivers/staging/media/deprecated/atmel/atmel-isc*
F:	drivers/staging/media/deprecated/atmel/atmel-sama*-isc*
F:	drivers/media/platform/microchip/microchip-isc*
F:	drivers/media/platform/microchip/microchip-sama*-isc*
F:	include/linux/atmel-isc-media.h
+0 −36
Original line number Diff line number Diff line
@@ -2,42 +2,6 @@

comment "Atmel media platform drivers"

config VIDEO_ATMEL_ISC
	tristate "ATMEL Image Sensor Controller (ISC) support"
	depends on V4L_PLATFORM_DRIVERS
	depends on VIDEO_DEV && COMMON_CLK
	depends on ARCH_AT91 || COMPILE_TEST
	select MEDIA_CONTROLLER
	select VIDEO_V4L2_SUBDEV_API
	select VIDEOBUF2_DMA_CONTIG
	select REGMAP_MMIO
	select V4L2_FWNODE
	select VIDEO_ATMEL_ISC_BASE
	help
	   This module makes the ATMEL Image Sensor Controller available
	   as a v4l2 device.

config VIDEO_ATMEL_XISC
	tristate "ATMEL eXtended Image Sensor Controller (XISC) support"
	depends on V4L_PLATFORM_DRIVERS
	depends on VIDEO_DEV && COMMON_CLK
	depends on ARCH_AT91 || COMPILE_TEST
	select VIDEOBUF2_DMA_CONTIG
	select REGMAP_MMIO
	select V4L2_FWNODE
	select VIDEO_ATMEL_ISC_BASE
	select MEDIA_CONTROLLER
	select VIDEO_V4L2_SUBDEV_API
	help
	   This module makes the ATMEL eXtended Image Sensor Controller
	   available as a v4l2 device.

config VIDEO_ATMEL_ISC_BASE
	tristate
	default n
	help
	  ATMEL ISC and XISC common code base.

config VIDEO_ATMEL_ISI
	tristate "ATMEL Image Sensor Interface (ISI) support"
	depends on V4L_PLATFORM_DRIVERS
+0 −6
Original line number Diff line number Diff line
# SPDX-License-Identifier: GPL-2.0-only
atmel-isc-objs = atmel-sama5d2-isc.o
atmel-xisc-objs = atmel-sama7g5-isc.o
atmel-isc-common-objs = atmel-isc-base.o atmel-isc-clk.o

obj-$(CONFIG_VIDEO_ATMEL_ISI) += atmel-isi.o
obj-$(CONFIG_VIDEO_ATMEL_ISC_BASE) += atmel-isc-common.o
obj-$(CONFIG_VIDEO_ATMEL_ISC) += atmel-isc.o
obj-$(CONFIG_VIDEO_ATMEL_XISC) += atmel-xisc.o
+1 −0
Original line number Diff line number Diff line
@@ -51,6 +51,7 @@ menuconfig STAGING_MEDIA_DEPRECATED
	  If in doubt, say N here.

if STAGING_MEDIA_DEPRECATED
source "drivers/staging/media/deprecated/atmel/Kconfig"
source "drivers/staging/media/deprecated/cpia2/Kconfig"
source "drivers/staging/media/deprecated/fsl-viu/Kconfig"
source "drivers/staging/media/deprecated/meye/Kconfig"
+1 −0
Original line number Diff line number Diff line
# SPDX-License-Identifier: GPL-2.0
obj-$(CONFIG_VIDEO_ATMEL_ISC_BASE)	+= deprecated/atmel/
obj-$(CONFIG_INTEL_ATOMISP)     += atomisp/
obj-$(CONFIG_VIDEO_CPIA2)	+= deprecated/cpia2/
obj-$(CONFIG_VIDEO_IMX_MEDIA)	+= imx/
Loading