lkml.org 
[lkml]   [2022]   [Nov]   [4]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
SubjectRe: [PATCH v11 1/6] media: atmel: atmel-isc: move to staging
From
Hi Eugen,

On 02/11/2022 14:14, Eugen Hristev wrote:
> 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 next step is to readd the driver 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 when
> the future Microchip ISC driver will be added to media subsystem.
>
> Signed-off-by: Eugen Hristev <eugen.hristev@microchip.com>
> ---
> MAINTAINERS | 4 +-
> drivers/media/platform/atmel/Kconfig | 36 -----------------
> drivers/media/platform/atmel/Makefile | 6 ---
> drivers/staging/media/Kconfig | 2 +
> drivers/staging/media/Makefile | 1 +
> drivers/staging/media/atmel/Kconfig | 40 +++++++++++++++++++
> drivers/staging/media/atmel/Makefile | 8 ++++
> .../media}/atmel/atmel-isc-base.c | 20 +++++-----
> .../media}/atmel/atmel-isc-clk.c | 8 ++--
> .../media}/atmel/atmel-isc-regs.h | 0
> .../media}/atmel/atmel-isc.h | 16 ++++----
> .../media}/atmel/atmel-sama5d2-isc.c | 18 ++++-----
> .../media}/atmel/atmel-sama7g5-isc.c | 18 ++++-----
> 13 files changed, 93 insertions(+), 84 deletions(-)
> create mode 100644 drivers/staging/media/atmel/Kconfig
> create mode 100644 drivers/staging/media/atmel/Makefile
> rename drivers/{media/platform => staging/media}/atmel/atmel-isc-base.c (99%)
> rename drivers/{media/platform => staging/media}/atmel/atmel-isc-clk.c (97%)
> rename drivers/{media/platform => staging/media}/atmel/atmel-isc-regs.h (100%)
> rename drivers/{media/platform => staging/media}/atmel/atmel-isc.h (96%)
> rename drivers/{media/platform => staging/media}/atmel/atmel-sama5d2-isc.c (97%)
> rename drivers/{media/platform => staging/media}/atmel/atmel-sama7g5-isc.c (97%)

A new 'deprecated' directory was created for drivers that are marked
as deprecated (like this one). Please update this patch for that.

Also add a TODO file explaining why it is deprecated, what replaces
it, and when it will be removed (I would set that to 2-3 years in
the future).

The Kconfig should also be updated to prevent building this deprecated
driver if the new driver is selected, unless COMPILE_TEST is also set.

To be honest, I wonder if it wouldn't be better to do the move to
staging as the last patch of the series. It's more logical in the
patch sequence.

Regards,

Hans

>
> diff --git a/MAINTAINERS b/MAINTAINERS
> index 307775bfbf99..8b28d8d4c55e 100644
> --- a/MAINTAINERS
> +++ b/MAINTAINERS
> @@ -13488,8 +13488,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/atmel/atmel-isc*
> +F: drivers/staging/media/atmel/atmel-sama*-isc*
> F: include/linux/atmel-isc-media.h
>
> MICROCHIP ISI DRIVER
> diff --git a/drivers/media/platform/atmel/Kconfig b/drivers/media/platform/atmel/Kconfig
> index f399dba62e17..f438a98542e8 100644
> --- a/drivers/media/platform/atmel/Kconfig
> +++ b/drivers/media/platform/atmel/Kconfig
> @@ -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
> diff --git a/drivers/media/platform/atmel/Makefile b/drivers/media/platform/atmel/Makefile
> index 794e8f739287..86f77030e6e2 100644
> --- a/drivers/media/platform/atmel/Makefile
> +++ b/drivers/media/platform/atmel/Makefile
> @@ -1,10 +1,4 @@
> # 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
> obj-$(CONFIG_VIDEO_MICROCHIP_CSI2DC) += microchip-csi2dc.o
> diff --git a/drivers/staging/media/Kconfig b/drivers/staging/media/Kconfig
> index d4f03b203ae5..072fab838374 100644
> --- a/drivers/staging/media/Kconfig
> +++ b/drivers/staging/media/Kconfig
> @@ -20,6 +20,8 @@ menuconfig STAGING_MEDIA
> if STAGING_MEDIA && MEDIA_SUPPORT
>
> # Please keep them in alphabetic order
> +source "drivers/staging/media/atmel/Kconfig"
> +
> source "drivers/staging/media/atomisp/Kconfig"
>
> source "drivers/staging/media/imx/Kconfig"
> diff --git a/drivers/staging/media/Makefile b/drivers/staging/media/Makefile
> index a387692b84f2..dbfeb03ea41f 100644
> --- a/drivers/staging/media/Makefile
> +++ b/drivers/staging/media/Makefile
> @@ -1,4 +1,5 @@
> # SPDX-License-Identifier: GPL-2.0
> +obj-$(CONFIG_VIDEO_ATMEL_ISC_BASE) += atmel/
> obj-$(CONFIG_INTEL_ATOMISP) += atomisp/
> obj-$(CONFIG_VIDEO_CPIA2) += deprecated/cpia2/
> obj-$(CONFIG_VIDEO_IMX_MEDIA) += imx/
> diff --git a/drivers/staging/media/atmel/Kconfig b/drivers/staging/media/atmel/Kconfig
> new file mode 100644
> index 000000000000..73cef959f236
> --- /dev/null
> +++ b/drivers/staging/media/atmel/Kconfig
> @@ -0,0 +1,40 @@
> +# SPDX-License-Identifier: GPL-2.0-only
> +
> +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.
> +
> diff --git a/drivers/staging/media/atmel/Makefile b/drivers/staging/media/atmel/Makefile
> new file mode 100644
> index 000000000000..34eaeeac5bba
> --- /dev/null
> +++ b/drivers/staging/media/atmel/Makefile
> @@ -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
> diff --git a/drivers/media/platform/atmel/atmel-isc-base.c b/drivers/staging/media/atmel/atmel-isc-base.c
> similarity index 99%
> rename from drivers/media/platform/atmel/atmel-isc-base.c
> rename to drivers/staging/media/atmel/atmel-isc-base.c
> index 9e5317a7d516..99e61bbfc9bc 100644
> --- a/drivers/media/platform/atmel/atmel-isc-base.c
> +++ b/drivers/staging/media/atmel/atmel-isc-base.c
> @@ -1221,7 +1221,7 @@ static const struct v4l2_file_operations isc_fops = {
> .poll = vb2_fop_poll,
> };
>
> -irqreturn_t isc_interrupt(int irq, void *dev_id)
> +irqreturn_t atmel_isc_interrupt(int irq, void *dev_id)
> {
> struct isc_device *isc = (struct isc_device *)dev_id;
> struct regmap *regmap = isc->regmap;
> @@ -1267,7 +1267,7 @@ irqreturn_t isc_interrupt(int irq, void *dev_id)
>
> return ret;
> }
> -EXPORT_SYMBOL_GPL(isc_interrupt);
> +EXPORT_SYMBOL_GPL(atmel_isc_interrupt);
>
> static void isc_hist_count(struct isc_device *isc, u32 *min, u32 *max)
> {
> @@ -1934,14 +1934,14 @@ static int isc_async_complete(struct v4l2_async_notifier *notifier)
> return ret;
> }
>
> -const struct v4l2_async_notifier_operations isc_async_ops = {
> +const struct v4l2_async_notifier_operations atmel_isc_async_ops = {
> .bound = isc_async_bound,
> .unbind = isc_async_unbind,
> .complete = isc_async_complete,
> };
> -EXPORT_SYMBOL_GPL(isc_async_ops);
> +EXPORT_SYMBOL_GPL(atmel_isc_async_ops);
>
> -void isc_subdev_cleanup(struct isc_device *isc)
> +void atmel_isc_subdev_cleanup(struct isc_device *isc)
> {
> struct isc_subdev_entity *subdev_entity;
>
> @@ -1952,9 +1952,9 @@ void isc_subdev_cleanup(struct isc_device *isc)
>
> INIT_LIST_HEAD(&isc->subdev_entities);
> }
> -EXPORT_SYMBOL_GPL(isc_subdev_cleanup);
> +EXPORT_SYMBOL_GPL(atmel_isc_subdev_cleanup);
>
> -int isc_pipeline_init(struct isc_device *isc)
> +int atmel_isc_pipeline_init(struct isc_device *isc)
> {
> struct device *dev = isc->dev;
> struct regmap *regmap = isc->regmap;
> @@ -1993,17 +1993,17 @@ int isc_pipeline_init(struct isc_device *isc)
>
> return 0;
> }
> -EXPORT_SYMBOL_GPL(isc_pipeline_init);
> +EXPORT_SYMBOL_GPL(atmel_isc_pipeline_init);
>
> /* regmap configuration */
> #define ATMEL_ISC_REG_MAX 0xd5c
> -const struct regmap_config isc_regmap_config = {
> +const struct regmap_config atmel_isc_regmap_config = {
> .reg_bits = 32,
> .reg_stride = 4,
> .val_bits = 32,
> .max_register = ATMEL_ISC_REG_MAX,
> };
> -EXPORT_SYMBOL_GPL(isc_regmap_config);
> +EXPORT_SYMBOL_GPL(atmel_isc_regmap_config);
>
> MODULE_AUTHOR("Songjun Wu");
> MODULE_AUTHOR("Eugen Hristev");
> diff --git a/drivers/media/platform/atmel/atmel-isc-clk.c b/drivers/staging/media/atmel/atmel-isc-clk.c
> similarity index 97%
> rename from drivers/media/platform/atmel/atmel-isc-clk.c
> rename to drivers/staging/media/atmel/atmel-isc-clk.c
> index 2059fe376b00..d442b5f4c931 100644
> --- a/drivers/media/platform/atmel/atmel-isc-clk.c
> +++ b/drivers/staging/media/atmel/atmel-isc-clk.c
> @@ -277,7 +277,7 @@ static int isc_clk_register(struct isc_device *isc, unsigned int id)
> return 0;
> }
>
> -int isc_clk_init(struct isc_device *isc)
> +int atmel_isc_clk_init(struct isc_device *isc)
> {
> unsigned int i;
> int ret;
> @@ -293,9 +293,9 @@ int isc_clk_init(struct isc_device *isc)
>
> return 0;
> }
> -EXPORT_SYMBOL_GPL(isc_clk_init);
> +EXPORT_SYMBOL_GPL(atmel_isc_clk_init);
>
> -void isc_clk_cleanup(struct isc_device *isc)
> +void atmel_isc_clk_cleanup(struct isc_device *isc)
> {
> unsigned int i;
>
> @@ -308,4 +308,4 @@ void isc_clk_cleanup(struct isc_device *isc)
> clk_unregister(isc_clk->clk);
> }
> }
> -EXPORT_SYMBOL_GPL(isc_clk_cleanup);
> +EXPORT_SYMBOL_GPL(atmel_isc_clk_cleanup);
> diff --git a/drivers/media/platform/atmel/atmel-isc-regs.h b/drivers/staging/media/atmel/atmel-isc-regs.h
> similarity index 100%
> rename from drivers/media/platform/atmel/atmel-isc-regs.h
> rename to drivers/staging/media/atmel/atmel-isc-regs.h
> diff --git a/drivers/media/platform/atmel/atmel-isc.h b/drivers/staging/media/atmel/atmel-isc.h
> similarity index 96%
> rename from drivers/media/platform/atmel/atmel-isc.h
> rename to drivers/staging/media/atmel/atmel-isc.h
> index ff60ba020cb9..dfc030b5a08f 100644
> --- a/drivers/media/platform/atmel/atmel-isc.h
> +++ b/drivers/staging/media/atmel/atmel-isc.h
> @@ -350,13 +350,13 @@ struct isc_device {
> u32 formats_list_size;
> };
>
> -extern const struct regmap_config isc_regmap_config;
> -extern const struct v4l2_async_notifier_operations isc_async_ops;
> -
> -irqreturn_t isc_interrupt(int irq, void *dev_id);
> -int isc_pipeline_init(struct isc_device *isc);
> -int isc_clk_init(struct isc_device *isc);
> -void isc_subdev_cleanup(struct isc_device *isc);
> -void isc_clk_cleanup(struct isc_device *isc);
> +extern const struct regmap_config atmel_isc_regmap_config;
> +extern const struct v4l2_async_notifier_operations atmel_isc_async_ops;
> +
> +irqreturn_t atmel_isc_interrupt(int irq, void *dev_id);
> +int atmel_isc_pipeline_init(struct isc_device *isc);
> +int atmel_isc_clk_init(struct isc_device *isc);
> +void atmel_isc_subdev_cleanup(struct isc_device *isc);
> +void atmel_isc_clk_cleanup(struct isc_device *isc);
>
> #endif
> diff --git a/drivers/media/platform/atmel/atmel-sama5d2-isc.c b/drivers/staging/media/atmel/atmel-sama5d2-isc.c
> similarity index 97%
> rename from drivers/media/platform/atmel/atmel-sama5d2-isc.c
> rename to drivers/staging/media/atmel/atmel-sama5d2-isc.c
> index 9881d89a645b..ba0614f981a2 100644
> --- a/drivers/media/platform/atmel/atmel-sama5d2-isc.c
> +++ b/drivers/staging/media/atmel/atmel-sama5d2-isc.c
> @@ -408,7 +408,7 @@ static int atmel_isc_probe(struct platform_device *pdev)
> if (IS_ERR(io_base))
> return PTR_ERR(io_base);
>
> - isc->regmap = devm_regmap_init_mmio(dev, io_base, &isc_regmap_config);
> + isc->regmap = devm_regmap_init_mmio(dev, io_base, &atmel_isc_regmap_config);
> if (IS_ERR(isc->regmap)) {
> ret = PTR_ERR(isc->regmap);
> dev_err(dev, "failed to init register map: %d\n", ret);
> @@ -419,7 +419,7 @@ static int atmel_isc_probe(struct platform_device *pdev)
> if (irq < 0)
> return irq;
>
> - ret = devm_request_irq(dev, irq, isc_interrupt, 0,
> + ret = devm_request_irq(dev, irq, atmel_isc_interrupt, 0,
> "atmel-sama5d2-isc", isc);
> if (ret < 0) {
> dev_err(dev, "can't register ISR for IRQ %u (ret=%i)\n",
> @@ -464,7 +464,7 @@ static int atmel_isc_probe(struct platform_device *pdev)
> /* sama5d2-isc : ISPCK is required and mandatory */
> isc->ispck_required = true;
>
> - ret = isc_pipeline_init(isc);
> + ret = atmel_isc_pipeline_init(isc);
> if (ret)
> return ret;
>
> @@ -481,7 +481,7 @@ static int atmel_isc_probe(struct platform_device *pdev)
> return ret;
> }
>
> - ret = isc_clk_init(isc);
> + ret = atmel_isc_clk_init(isc);
> if (ret) {
> dev_err(dev, "failed to init isc clock: %d\n", ret);
> goto unprepare_hclk;
> @@ -523,7 +523,7 @@ static int atmel_isc_probe(struct platform_device *pdev)
> goto cleanup_subdev;
> }
>
> - subdev_entity->notifier.ops = &isc_async_ops;
> + subdev_entity->notifier.ops = &atmel_isc_async_ops;
>
> ret = v4l2_async_nf_register(&isc->v4l2_dev,
> &subdev_entity->notifier);
> @@ -567,7 +567,7 @@ static int atmel_isc_probe(struct platform_device *pdev)
> pm_runtime_disable(dev);
>
> cleanup_subdev:
> - isc_subdev_cleanup(isc);
> + atmel_isc_subdev_cleanup(isc);
>
> unregister_v4l2_device:
> v4l2_device_unregister(&isc->v4l2_dev);
> @@ -575,7 +575,7 @@ static int atmel_isc_probe(struct platform_device *pdev)
> unprepare_hclk:
> clk_disable_unprepare(isc->hclock);
>
> - isc_clk_cleanup(isc);
> + atmel_isc_clk_cleanup(isc);
>
> return ret;
> }
> @@ -586,14 +586,14 @@ static int atmel_isc_remove(struct platform_device *pdev)
>
> pm_runtime_disable(&pdev->dev);
>
> - isc_subdev_cleanup(isc);
> + atmel_isc_subdev_cleanup(isc);
>
> v4l2_device_unregister(&isc->v4l2_dev);
>
> clk_disable_unprepare(isc->ispck);
> clk_disable_unprepare(isc->hclock);
>
> - isc_clk_cleanup(isc);
> + atmel_isc_clk_cleanup(isc);
>
> return 0;
> }
> diff --git a/drivers/media/platform/atmel/atmel-sama7g5-isc.c b/drivers/staging/media/atmel/atmel-sama7g5-isc.c
> similarity index 97%
> rename from drivers/media/platform/atmel/atmel-sama7g5-isc.c
> rename to drivers/staging/media/atmel/atmel-sama7g5-isc.c
> index 8b11aa8340d7..01ababdfcbd9 100644
> --- a/drivers/media/platform/atmel/atmel-sama7g5-isc.c
> +++ b/drivers/staging/media/atmel/atmel-sama7g5-isc.c
> @@ -397,7 +397,7 @@ static int microchip_xisc_probe(struct platform_device *pdev)
> if (IS_ERR(io_base))
> return PTR_ERR(io_base);
>
> - isc->regmap = devm_regmap_init_mmio(dev, io_base, &isc_regmap_config);
> + isc->regmap = devm_regmap_init_mmio(dev, io_base, &atmel_isc_regmap_config);
> if (IS_ERR(isc->regmap)) {
> ret = PTR_ERR(isc->regmap);
> dev_err(dev, "failed to init register map: %d\n", ret);
> @@ -408,7 +408,7 @@ static int microchip_xisc_probe(struct platform_device *pdev)
> if (irq < 0)
> return irq;
>
> - ret = devm_request_irq(dev, irq, isc_interrupt, 0,
> + ret = devm_request_irq(dev, irq, atmel_isc_interrupt, 0,
> "microchip-sama7g5-xisc", isc);
> if (ret < 0) {
> dev_err(dev, "can't register ISR for IRQ %u (ret=%i)\n",
> @@ -453,7 +453,7 @@ static int microchip_xisc_probe(struct platform_device *pdev)
> /* sama7g5-isc : ISPCK does not exist, ISC is clocked by MCK */
> isc->ispck_required = false;
>
> - ret = isc_pipeline_init(isc);
> + ret = atmel_isc_pipeline_init(isc);
> if (ret)
> return ret;
>
> @@ -470,7 +470,7 @@ static int microchip_xisc_probe(struct platform_device *pdev)
> return ret;
> }
>
> - ret = isc_clk_init(isc);
> + ret = atmel_isc_clk_init(isc);
> if (ret) {
> dev_err(dev, "failed to init isc clock: %d\n", ret);
> goto unprepare_hclk;
> @@ -513,7 +513,7 @@ static int microchip_xisc_probe(struct platform_device *pdev)
> goto cleanup_subdev;
> }
>
> - subdev_entity->notifier.ops = &isc_async_ops;
> + subdev_entity->notifier.ops = &atmel_isc_async_ops;
>
> ret = v4l2_async_nf_register(&isc->v4l2_dev,
> &subdev_entity->notifier);
> @@ -536,7 +536,7 @@ static int microchip_xisc_probe(struct platform_device *pdev)
> return 0;
>
> cleanup_subdev:
> - isc_subdev_cleanup(isc);
> + atmel_isc_subdev_cleanup(isc);
>
> unregister_v4l2_device:
> v4l2_device_unregister(&isc->v4l2_dev);
> @@ -544,7 +544,7 @@ static int microchip_xisc_probe(struct platform_device *pdev)
> unprepare_hclk:
> clk_disable_unprepare(isc->hclock);
>
> - isc_clk_cleanup(isc);
> + atmel_isc_clk_cleanup(isc);
>
> return ret;
> }
> @@ -555,13 +555,13 @@ static int microchip_xisc_remove(struct platform_device *pdev)
>
> pm_runtime_disable(&pdev->dev);
>
> - isc_subdev_cleanup(isc);
> + atmel_isc_subdev_cleanup(isc);
>
> v4l2_device_unregister(&isc->v4l2_dev);
>
> clk_disable_unprepare(isc->hclock);
>
> - isc_clk_cleanup(isc);
> + atmel_isc_clk_cleanup(isc);
>
> return 0;
> }

\
 
 \ /
  Last update: 2022-11-04 10:27    [W:0.260 / U:0.084 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site