lkml.org 
[lkml]   [2022]   [Nov]   [4]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
From
SubjectRe: [PATCH v11 1/6] media: atmel: atmel-isc: move to staging
Date
On 11/4/22 11:26, Hans Verkuil wrote:
> 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.

Hi Hans,

I had the feeling to do this as first patch, because it would be strange
for me to first add a second driver with a different name that would
duplicate much of the code, and after that move this driver to staging.
But if you feel it's better like that, I can definitely reorder them, it
will need a few changes in the commit messages, but no worries about that.
I have built both drivers in the same time and had no issues. I only had
to rename the exported symbols in the old driver with a prefix. I think
it's a good approach to not duplicate in any way exported symbols.

Thanks for having a look,
Eugen

>
> 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 15:34    [W:0.072 / U:1.412 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site