Skip to contentSkip to conversation

omap3isp: Remove legacy platform data support

PATCH New Laurent Pinchart 4 participants 13 messages Jul 16, 2015 – Nov 9, 2015

Subsystems (4)
lore
Share & tools
lore
#0 lore raw

cover omap3isp: Remove legacy platform data support

Hello,

Now that all users of the OMAP3 ISP have switched to DT, this patch series removes support for legacy platform data support in the omap3isp driver. It also drops the OMAP3 ISP device instantiation board code that is now unused.

Patch 2/2 depends on 1/2. From a conflict resolution point of view it would be easier to merge the whole series through the linux-media tree. Tony, would that be fine with you ? If so could you please ack patch 1/2 ?

Laurent Pinchart (2):
ARM: OMAP2+: Remove legacy OMAP3 ISP instantiation
v4l: omap3isp: Drop platform data support

 arch/arm/mach-omap2/devices.c               |  53 ----------
 arch/arm/mach-omap2/devices.h               |  19 ----
 drivers/media/platform/Kconfig              |   2 +-
 drivers/media/platform/omap3isp/isp.c       | 133 ++++-------------------
 drivers/media/platform/omap3isp/isp.h       |   7 +-
 drivers/media/platform/omap3isp/ispcsiphy.h |   2 +-
 drivers/media/platform/omap3isp/ispvideo.c  |   9 +-
 drivers/media/platform/omap3isp/omap3isp.h  | 132 +++++++++++++++++++++++
 include/media/omap3isp.h                    | 158 ----------------------------
 9 files changed, 158 insertions(+), 357 deletions(-)
 delete mode 100644 arch/arm/mach-omap2/devices.h
 create mode 100644 drivers/media/platform/omap3isp/omap3isp.h
 delete mode 100644 include/media/omap3isp.h
Signature · 3 lines
Regards,

Laurent Pinchart
#1 lore raw

PATCH 1/2 ARM: OMAP2+: Remove legacy OMAP3 ISP instantiation

The OMAP3 ISP is now fully supported in DT, remove its instantiation from C code.

---
 arch/arm/mach-omap2/devices.c | 53 -------------------------------------------
 arch/arm/mach-omap2/devices.h | 19 ----------------
 2 files changed, 72 deletions(-)
 delete mode 100644 arch/arm/mach-omap2/devices.h
arch/arm/mach-omap2/devices.c +0 -53
index a69bd67e9028..9374da313e8e 100644
@@ -33,7 +33,6 @@
 #include "common.h"
 #include "mux.h"
 #include "control.h"
-#include "devices.h"
 #include "display.h"
 
 #define L3_MODULES_MAX_LEN 12
@@ -67,58 +66,6 @@ static int __init omap3_l3_init(void)
 }
 omap_postcore_initcall(omap3_l3_init);
 
-#if defined(CONFIG_IOMMU_API)
-
-#include <linux/platform_data/iommu-omap.h>
-
-static struct resource omap3isp_resources[] = {
-	{
-		.start		= OMAP3430_ISP_BASE,
-		.end		= OMAP3430_ISP_BASE + 0x12fc,
-		.flags		= IORESOURCE_MEM,
-	},
-	{
-		.start		= OMAP3430_ISP_BASE2,
-		.end		= OMAP3430_ISP_BASE2 + 0x0600,
-		.flags		= IORESOURCE_MEM,
-	},
-	{
-		.start		= 24 + OMAP_INTC_START,
-		.flags		= IORESOURCE_IRQ,
-	}
-};
-
-static struct platform_device omap3isp_device = {
-	.name		= "omap3isp",
-	.id		= -1,
-	.num_resources	= ARRAY_SIZE(omap3isp_resources),
-	.resource	= omap3isp_resources,
-};
-
-static struct omap_iommu_arch_data omap3_isp_iommu = {
-	.name = "mmu_isp",
-};
-
-int omap3_init_camera(struct isp_platform_data *pdata)
-{
-	if (of_have_populated_dt())
-		omap3_isp_iommu.name = "480bd400.mmu";
-
-	omap3isp_device.dev.platform_data = pdata;
-	omap3isp_device.dev.archdata.iommu = &omap3_isp_iommu;
-
-	return platform_device_register(&omap3isp_device);
-}
-
-#else /* !CONFIG_IOMMU_API */
-
-int omap3_init_camera(struct isp_platform_data *pdata)
-{
-	return 0;
-}
-
-#endif
-
 #if defined(CONFIG_OMAP2PLUS_MBOX) || defined(CONFIG_OMAP2PLUS_MBOX_MODULE)
 static inline void __init omap_init_mbox(void)
 {
arch/arm/mach-omap2/devices.h deleted +0 -19
deleted file mode 100644
index f61eb6e5d136..000000000000
@@ -1,19 +0,0 @@
-/*
- * arch/arm/mach-omap2/devices.h
- *
- * OMAP2 platform device setup/initialization
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- */
-
-#ifndef __ARCH_ARM_MACH_OMAP_DEVICES_H
-#define __ARCH_ARM_MACH_OMAP_DEVICES_H
-
-struct isp_platform_data;
-
-int omap3_init_camera(struct isp_platform_data *pdata);
-
-#endif
Signature · 1 line
2.3.6
maintainer
#2 lore raw

PATCH 1/2 ARM: OMAP2+: Remove legacy OMAP3 ISP instantiation

Quoted 2 lines · Laurent Pinchart

The OMAP3 ISP is now fully supported in DT, remove its instantiation from C code.

Please feel to queue this along with the second patch in this series, this should not cause any merge conflicts:

#3 lore raw

PATCH 1/2 ARM: OMAP2+: Remove legacy OMAP3 ISP instantiation

Hi Sakari,

Quoted 8 lines · Tony Lindgren
Quoted 2 lines · Laurent Pinchart

The OMAP3 ISP is now fully supported in DT, remove its instantiation from C code.

Please feel to queue this along with the second patch in this series, this should not cause any merge conflicts:

Just wondering if you have already queued this, I see the v4l changes in linux-next, but not this patch. Also, can you confirm if this series is making it into 4.3?

regards
Suman

#4 lore raw

PATCH 1/2 ARM: OMAP2+: Remove legacy OMAP3 ISP instantiation

Hi Tony,

Quoted 7 lines · Suman Anna

Hi Sakari,

Quoted 4 lines · Tony Lindgren
Quoted 2 lines · Laurent Pinchart

The OMAP3 ISP is now fully supported in DT, remove its instantiation from C code.

Quoted 9 lines
Quoted 4 lines

Please feel to queue this along with the second patch in this series, this should not cause any merge conflicts:

Just wondering if you have already queued this, I see the v4l changes in linux-next, but not this patch. Also, can you confirm if this series is making it into 4.3?

This patch is not in 4.3-rc1, can you pick this up for the next merge window? I am gonna send out some additional cleanup patches (removing legacy mailbox and iommu pieces) on top on this patch. The second patch in this series did make it.

regards
Suman

maintainer
#5 lore raw

PATCH 1/2 ARM: OMAP2+: Remove legacy OMAP3 ISP instantiation

Quoted 20 lines · Suman Anna

Hi Tony,

Quoted 7 lines · Suman Anna

Hi Sakari,

Quoted 4 lines · Tony Lindgren
Quoted 2 lines · Laurent Pinchart

The OMAP3 ISP is now fully supported in DT, remove its instantiation from C code.

Quoted 9 lines
Quoted 4 lines

Please feel to queue this along with the second patch in this series, this should not cause any merge conflicts:

Just wondering if you have already queued this, I see the v4l changes in linux-next, but not this patch. Also, can you confirm if this series is making it into 4.3?

Quoted 4 lines

This patch is not in 4.3-rc1, can you pick this up for the next merge window? I am gonna send out some additional cleanup patches (removing legacy mailbox and iommu pieces) on top on this patch. The second patch in this series did make it.

OK tagging this one for next, will apply once I'm done with fixes.

Tony

maintainer
#6 lore raw

PATCH 1/2 ARM: OMAP2+: Remove legacy OMAP3 ISP instantiation

Quoted 21 lines · Tony Lindgren
Quoted 20 lines · Suman Anna

Hi Tony,

Quoted 16 lines · Suman Anna

Hi Sakari,

Quoted 8 lines · Tony Lindgren
Quoted 2 lines · Laurent Pinchart

The OMAP3 ISP is now fully supported in DT, remove its instantiation from C code.

Please feel to queue this along with the second patch in this series, this should not cause any merge conflicts:

Just wondering if you have already queued this, I see the v4l changes in linux-next, but not this patch. Also, can you confirm if this series is making it into 4.3?

Quoted 6 lines
Quoted 4 lines

This patch is not in 4.3-rc1, can you pick this up for the next merge window? I am gonna send out some additional cleanup patches (removing legacy mailbox and iommu pieces) on top on this patch. The second patch in this series did make it.

OK tagging this one for next, will apply once I'm done with fixes.

Applying into omap-for-v4.4/cleanup finally thanks.

Tony

#7 lore raw

PATCH 1/2 ARM: OMAP2+: Remove legacy OMAP3 ISP instantiation

Hi Tony,

Quoted 17 lines · On Monday 12 October 2015 10:05:59 Tony Lindgren wrote:
Quoted 16 lines · Tony Lindgren
Quoted 15 lines · Suman Anna
Quoted 13 lines · Suman Anna
Quoted 8 lines · Tony Lindgren

* Laurent Pinchart [150716 05:57]:
The OMAP3 ISP is now fully supported in DT, remove its instantiation

Quoted 1 line

from C code.

Please feel to queue this along with the second patch in this series, this should not cause any merge conflicts:

Just wondering if you have already queued this, I see the v4l changes in linux-next, but not this patch. Also, can you confirm if this series is making it into 4.3?

Quoted 8 lines
Quoted 6 lines
Quoted 4 lines

This patch is not in 4.3-rc1, can you pick this up for the next merge window? I am gonna send out some additional cleanup patches (removing legacy mailbox and iommu pieces) on top on this patch. The second patch in this series did make it.

OK tagging this one for next, will apply once I'm done with fixes.

Applying into omap-for-v4.4/cleanup finally thanks.

Is see that the patch is in your master branch but not your for-next branch. Will it make it to v4.4-rc1 ?

Signature · 3 lines
Regards,

Laurent Pinchart
#8 lore raw

PATCH 1/2 ARM: OMAP2+: Remove legacy OMAP3 ISP instantiation

In reply to Laurent Pinchart

Hi Laurent,

Quoted 9 lines · Laurent Pinchart

The OMAP3 ISP is now fully supported in DT, remove its instantiation from C code.

---
 arch/arm/mach-omap2/devices.c | 53 -------------------------------------------
 arch/arm/mach-omap2/devices.h | 19 ----------------
 2 files changed, 72 deletions(-)
 delete mode 100644 arch/arm/mach-omap2/devices.h

If you remove the definitions, arch/arm/mach-omap2/board-cm-t35.c will no longer compile. Could you remove the camera support there as well?

My understanding is the board might be supported in DT but I'm not sure about camera.

Cc Mike and Igor.

Signature · 4 lines
Regards,

Sakari Ailus
sakari.ailus at iki.fi
#9 lore raw

PATCH 1/2 ARM: OMAP2+: Remove legacy OMAP3 ISP instantiation

Hi Sakari,

Quoted 12 lines · On Thursday 16 July 2015 18:45:22 Sakari Ailus wrote:
Quoted 10 lines · Laurent Pinchart

The OMAP3 ISP is now fully supported in DT, remove its instantiation from C code.

---

 arch/arm/mach-omap2/devices.c | 53 --------------------------------------
 arch/arm/mach-omap2/devices.h | 19 ----------------
 2 files changed, 72 deletions(-)
 delete mode 100644 arch/arm/mach-omap2/devices.h
Quoted 7 lines

If you remove the definitions, arch/arm/mach-omap2/board-cm-t35.c will no longer compile. Could you remove the camera support there as well?

My understanding is the board might be supported in DT but I'm not sure about camera.

Cc Mike and Igor.

commit 11cd7b8c2773d01e4b40e38568ae62c471a2ea10

Author: Tony Lindgren <[email protected]>
Date:   Mon May 4 10:48:07 2015 -0700

ARM: OMAP2+: Remove legacy booting support for cm-t35

Merged in v4.2-rc1 :-)

Signature · 3 lines
Regards,

Laurent Pinchart
#10 lore raw

PATCH 1/2 ARM: OMAP2+: Remove legacy OMAP3 ISP instantiation

Quoted 23 lines · Laurent Pinchart

Hi Sakari,

Quoted 12 lines · On Thursday 16 July 2015 18:45:22 Sakari Ailus wrote:
Quoted 10 lines · Laurent Pinchart

The OMAP3 ISP is now fully supported in DT, remove its instantiation from C code.

---

 arch/arm/mach-omap2/devices.c | 53 --------------------------------------
 arch/arm/mach-omap2/devices.h | 19 ----------------
 2 files changed, 72 deletions(-)
 delete mode 100644 arch/arm/mach-omap2/devices.h
Quoted 7 lines

If you remove the definitions, arch/arm/mach-omap2/board-cm-t35.c will no longer compile. Could you remove the camera support there as well?

My understanding is the board might be supported in DT but I'm not sure about camera.

Cc Mike and Igor.

Quoted 8 lines

commit 11cd7b8c2773d01e4b40e38568ae62c471a2ea10

Author: Tony Lindgren <[email protected]>
Date:   Mon May 4 10:48:07 2015 -0700

ARM: OMAP2+: Remove legacy booting support for cm-t35

Merged in v4.2-rc1 :-)

Oh, I missed that one. Good!

Signature · 2 lines
Sakari Ailus
sakari.ailus at iki.fi
#11 lore raw

PATCH 2/2 v4l: omap3isp: Drop platform data support

In reply to Laurent Pinchart

Platforms using the OMAP3 ISP have all switched to DT, drop platform data support.

---
 drivers/media/platform/Kconfig              |   2 +-
 drivers/media/platform/omap3isp/isp.c       | 133 ++++-------------------
 drivers/media/platform/omap3isp/isp.h       |   7 +-
 drivers/media/platform/omap3isp/ispcsiphy.h |   2 +-
 drivers/media/platform/omap3isp/ispvideo.c  |   9 +-
 drivers/media/platform/omap3isp/omap3isp.h  | 132 +++++++++++++++++++++++
 include/media/omap3isp.h                    | 158 ----------------------------
 7 files changed, 158 insertions(+), 285 deletions(-)
 create mode 100644 drivers/media/platform/omap3isp/omap3isp.h
 delete mode 100644 include/media/omap3isp.h
drivers/media/platform/Kconfig +1 -1
index f6bed197130c..ea07c6f793cb 100644
@@ -86,7 +86,7 @@ config VIDEO_M32R_AR_M64278
 config VIDEO_OMAP3
 	tristate "OMAP 3 Camera support"
 	depends on VIDEO_V4L2 && I2C && VIDEO_V4L2_SUBDEV_API && ARCH_OMAP3
-	depends on HAS_DMA
+	depends on HAS_DMA && OF
 	depends on OMAP_IOMMU
 	select ARM_DMA_USE_IOMMU
 	select VIDEOBUF2_DMA_CONTIG
drivers/media/platform/omap3isp/isp.c +20 -113

185 lines not on this page · raw message

drivers/media/platform/omap3isp/isp.h +1 -6
index e579943175c4..5acc2e6511a5 100644
@@ -17,7 +17,6 @@
 #ifndef OMAP3_ISP_CORE_H
 #define OMAP3_ISP_CORE_H
 
-#include <media/omap3isp.h>
 #include <media/v4l2-async.h>
 #include <media/v4l2-device.h>
 #include <linux/clk-provider.h>
@@ -27,6 +26,7 @@
 #include <linux/platform_device.h>
 #include <linux/wait.h>
 
+#include "omap3isp.h"
 #include "ispstat.h"
 #include "ispccdc.h"
 #include "ispreg.h"
@@ -101,15 +101,11 @@ struct regmap;
  * struct isp_res_mapping - Map ISP io resources to ISP revision.
  * @isp_rev: ISP_REVISION_x_x
  * @offset: register offsets of various ISP sub-blocks
- * @syscon_offset: offset of the syscon register for 343x / 3630
- *	    (CONTROL_CSIRXFE / CONTROL_CAMERA_PHY_CTRL, respectively)
- *	    from the syscon base address
  * @phy_type: ISP_PHY_TYPE_{3430,3630}
  */
 struct isp_res_mapping {
 	u32 isp_rev;
 	u32 offset[OMAP3_ISP_IOMEM_LAST];
-	u32 syscon_offset;
 	u32 phy_type;
 };
 
@@ -184,7 +180,6 @@ struct isp_device {
 	u32 revision;
 
 	/* platform HW resources */
-	struct isp_platform_data *pdata;
 	unsigned int irq_num;
 
 	void __iomem *mmio_base[OMAP3_ISP_IOMEM_LAST];
drivers/media/platform/omap3isp/ispcsiphy.h +1 -1
index e17c88beab92..28b63b28f9f7 100644
@@ -17,7 +17,7 @@
 #ifndef OMAP3_ISP_CSI_PHY_H
 #define OMAP3_ISP_CSI_PHY_H
 
-#include <media/omap3isp.h>
+#include "omap3isp.h"
 
 struct isp_csi2_device;
 struct regulator;
drivers/media/platform/omap3isp/ispvideo.c +3 -6
index d285af18df7f..41bb8df91f72 100644
@@ -1018,8 +1018,7 @@ isp_video_streamon(struct file *file, void *fh, enum v4l2_buf_type type)
 
 	pipe->entities = 0;
 
-	if (video->isp->pdata && video->isp->pdata->set_constraints)
-		video->isp->pdata->set_constraints(video->isp, true);
+	/* TODO: Implement PM QoS */
 	pipe->l3_ick = clk_get_rate(video->isp->clock[ISP_CLK_L3_ICK]);
 	pipe->max_rate = pipe->l3_ick;
 
@@ -1100,8 +1099,7 @@ err_set_stream:
 err_check_format:
 	media_entity_pipeline_stop(&video->video.entity);
 err_pipeline_start:
-	if (video->isp->pdata && video->isp->pdata->set_constraints)
-		video->isp->pdata->set_constraints(video->isp, false);
+	/* TODO: Implement PM QoS */
 	/* The DMA queue must be emptied here, otherwise CCDC interrupts that
 	 * will get triggered the next time the CCDC is powered up will try to
 	 * access buffers that might have been freed but still present in the
@@ -1161,8 +1159,7 @@ isp_video_streamoff(struct file *file, void *fh, enum v4l2_buf_type type)
 	video->queue = NULL;
 	video->error = false;
 
-	if (video->isp->pdata && video->isp->pdata->set_constraints)
-		video->isp->pdata->set_constraints(video->isp, false);
+	/* TODO: Implement PM QoS */
 	media_entity_pipeline_stop(&video->video.entity);
 
 done:
drivers/media/platform/omap3isp/omap3isp.h new file +132 -0

132 lines not on this page · raw message

include/media/omap3isp.h deleted +0 -158

158 lines not on this page · raw message

Signature · 1 line
2.3.6
#12 lore raw

cover omap3isp: Remove legacy platform data support

In reply to Laurent Pinchart
Quoted 14 lines · Laurent Pinchart

Hello,

Now that all users of the OMAP3 ISP have switched to DT, this patch series removes support for legacy platform data support in the omap3isp driver. It also drops the OMAP3 ISP device instantiation board code that is now unused.

Patch 2/2 depends on 1/2. From a conflict resolution point of view it would be easier to merge the whole series through the linux-media tree. Tony, would that be fine with you ? If so could you please ack patch 1/2 ?

Laurent Pinchart (2):
ARM: OMAP2+: Remove legacy OMAP3 ISP instantiation
v4l: omap3isp: Drop platform data support

Quoted 13 lines
 arch/arm/mach-omap2/devices.c               |  53 ----------
 arch/arm/mach-omap2/devices.h               |  19 ----
 drivers/media/platform/Kconfig              |   2 +-
 drivers/media/platform/omap3isp/isp.c       | 133 ++++-------------------
 drivers/media/platform/omap3isp/isp.h       |   7 +-
 drivers/media/platform/omap3isp/ispcsiphy.h |   2 +-
 drivers/media/platform/omap3isp/ispvideo.c  |   9 +-
 drivers/media/platform/omap3isp/omap3isp.h  | 132 +++++++++++++++++++++++
 include/media/omap3isp.h                    | 158 ----------------------------
 9 files changed, 158 insertions(+), 357 deletions(-)
 delete mode 100644 arch/arm/mach-omap2/devices.h
 create mode 100644 drivers/media/platform/omap3isp/omap3isp.h
 delete mode 100644 include/media/omap3isp.h

For the set:

Signature · 2 lines
Sakari Ailus
sakari.ailus at iki.fi