forked from grate-driver/linux
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
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: Eugen Hristev <eugen.hristev@microchip.com> Signed-off-by: Hans Verkuil <hverkuil-cisco@xs4all.nl> Signed-off-by: Mauro Carvalho Chehab <mchehab@kernel.org>
- Loading branch information
Showing
14 changed files
with
133 additions
and
84 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,9 +1,3 @@ | ||
# 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 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,47 @@ | ||
# SPDX-License-Identifier: GPL-2.0-only | ||
|
||
comment "Atmel media platform drivers" | ||
|
||
config VIDEO_ATMEL_ISC | ||
tristate "ATMEL Image Sensor Controller (ISC) support (DEPRECATED)" | ||
depends on V4L_PLATFORM_DRIVERS | ||
depends on VIDEO_DEV && COMMON_CLK | ||
depends on ARCH_AT91 || COMPILE_TEST | ||
depends on !VIDEO_MICROCHIP_ISC_BASE || 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. | ||
|
||
This driver is deprecated and is scheduled for removal by | ||
the beginning of 2026. See the TODO file for more information. | ||
|
||
config VIDEO_ATMEL_XISC | ||
tristate "ATMEL eXtended Image Sensor Controller (XISC) support (DEPRECATED)" | ||
depends on V4L_PLATFORM_DRIVERS | ||
depends on VIDEO_DEV && COMMON_CLK | ||
depends on ARCH_AT91 || COMPILE_TEST | ||
depends on !VIDEO_MICROCHIP_ISC_BASE || 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. | ||
|
||
This driver is deprecated and is scheduled for removal by | ||
the beginning of 2026. See the TODO file for more information. | ||
|
||
config VIDEO_ATMEL_ISC_BASE | ||
tristate | ||
default n | ||
help | ||
ATMEL ISC and XISC common code base. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,8 @@ | ||
# 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_ISC_BASE) += atmel-isc-common.o | ||
obj-$(CONFIG_VIDEO_ATMEL_ISC) += atmel-isc.o | ||
obj-$(CONFIG_VIDEO_ATMEL_XISC) += atmel-xisc.o |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,34 @@ | ||
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. | ||
|
||
The replacement driver is named VIDEO_MICROCHIP_ISC or | ||
VIDEO_MICROCHIP_XISC depending on the product flavor. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
File renamed without changes.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.