All of lore.kernel.org
 help / color / mirror / Atom feed
From: Guennadi Liakhovetski <g.liakhovetski@gmx.de>
To: linux-media@vger.kernel.org
Subject: [PATCH 59/59] V4L: soc-camera: remove soc-camera client bus-param operations and supporting code
Date: Fri, 29 Jul 2011 12:56:59 +0200	[thread overview]
Message-ID: <1311937019-29914-60-git-send-email-g.liakhovetski@gmx.de> (raw)
In-Reply-To: <1311937019-29914-1-git-send-email-g.liakhovetski@gmx.de>

soc-camera has been completely ported over to V4L2 subdevice mbus-config
operations, soc-camera client bus-param operations and supporting code
can now be removed.

Signed-off-by: Guennadi Liakhovetski <g.liakhovetski@gmx.de>
---
 drivers/media/video/soc_camera.c |   34 ------------------------
 include/media/soc_camera.h       |   52 ++++++--------------------------------
 2 files changed, 8 insertions(+), 78 deletions(-)

diff --git a/drivers/media/video/soc_camera.c b/drivers/media/video/soc_camera.c
index e05d1c7..ac23916 100644
--- a/drivers/media/video/soc_camera.c
+++ b/drivers/media/video/soc_camera.c
@@ -141,40 +141,6 @@ unsigned long soc_camera_apply_board_flags(struct soc_camera_link *icl,
 }
 EXPORT_SYMBOL(soc_camera_apply_board_flags);
 
-/**
- * soc_camera_apply_sensor_flags() - apply platform SOCAM_SENSOR_INVERT_* flags
- * @icl:	camera platform parameters
- * @flags:	flags to be inverted according to platform configuration
- * @return:	resulting flags
- */
-unsigned long soc_camera_apply_sensor_flags(struct soc_camera_link *icl,
-					    unsigned long flags)
-{
-	unsigned long f;
-
-	/* If only one of the two polarities is supported, switch to the opposite */
-	if (icl->flags & SOCAM_SENSOR_INVERT_HSYNC) {
-		f = flags & (SOCAM_HSYNC_ACTIVE_HIGH | SOCAM_HSYNC_ACTIVE_LOW);
-		if (f == SOCAM_HSYNC_ACTIVE_HIGH || f == SOCAM_HSYNC_ACTIVE_LOW)
-			flags ^= SOCAM_HSYNC_ACTIVE_HIGH | SOCAM_HSYNC_ACTIVE_LOW;
-	}
-
-	if (icl->flags & SOCAM_SENSOR_INVERT_VSYNC) {
-		f = flags & (SOCAM_VSYNC_ACTIVE_HIGH | SOCAM_VSYNC_ACTIVE_LOW);
-		if (f == SOCAM_VSYNC_ACTIVE_HIGH || f == SOCAM_VSYNC_ACTIVE_LOW)
-			flags ^= SOCAM_VSYNC_ACTIVE_HIGH | SOCAM_VSYNC_ACTIVE_LOW;
-	}
-
-	if (icl->flags & SOCAM_SENSOR_INVERT_PCLK) {
-		f = flags & (SOCAM_PCLK_SAMPLE_RISING | SOCAM_PCLK_SAMPLE_FALLING);
-		if (f == SOCAM_PCLK_SAMPLE_RISING || f == SOCAM_PCLK_SAMPLE_FALLING)
-			flags ^= SOCAM_PCLK_SAMPLE_RISING | SOCAM_PCLK_SAMPLE_FALLING;
-	}
-
-	return flags;
-}
-EXPORT_SYMBOL(soc_camera_apply_sensor_flags);
-
 #define pixfmtstr(x) (x) & 0xff, ((x) >> 8) & 0xff, ((x) >> 16) & 0xff, \
 	((x) >> 24) & 0xff
 
diff --git a/include/media/soc_camera.h b/include/media/soc_camera.h
index 73337cf..1864e22 100644
--- a/include/media/soc_camera.h
+++ b/include/media/soc_camera.h
@@ -12,6 +12,7 @@
 #ifndef SOC_CAMERA_H
 #define SOC_CAMERA_H
 
+#include <linux/bitops.h>
 #include <linux/device.h>
 #include <linux/mutex.h>
 #include <linux/pm.h>
@@ -194,8 +195,6 @@ struct soc_camera_format_xlate {
 };
 
 struct soc_camera_ops {
-	unsigned long (*query_bus_param)(struct soc_camera_device *);
-	int (*set_bus_param)(struct soc_camera_device *, unsigned long);
 	const struct v4l2_queryctrl *controls;
 	int num_controls;
 };
@@ -238,53 +237,18 @@ static inline struct v4l2_queryctrl const *soc_camera_find_qctrl(
 	return NULL;
 }
 
-#define SOCAM_MASTER			(1 << 0)
-#define SOCAM_SLAVE			(1 << 1)
-#define SOCAM_HSYNC_ACTIVE_HIGH		(1 << 2)
-#define SOCAM_HSYNC_ACTIVE_LOW		(1 << 6)
-#define SOCAM_VSYNC_ACTIVE_HIGH		(1 << 4)
-#define SOCAM_VSYNC_ACTIVE_LOW		(1 << 5)
-#define SOCAM_DATAWIDTH_4		(1 << 3)
-#define SOCAM_DATAWIDTH_8		(1 << 7)
-#define SOCAM_DATAWIDTH_9		(1 << 8)
-#define SOCAM_DATAWIDTH_10		(1 << 9)
-#define SOCAM_DATAWIDTH_15		(1 << 14)
-#define SOCAM_DATAWIDTH_16		(1 << 15)
-#define SOCAM_PCLK_SAMPLE_RISING	(1 << 12)
-#define SOCAM_PCLK_SAMPLE_FALLING	(1 << 13)
-#define SOCAM_DATA_ACTIVE_HIGH		(1 << 10)
-#define SOCAM_DATA_ACTIVE_LOW		(1 << 11)
-#define SOCAM_MIPI_1LANE		(1 << 16)
-#define SOCAM_MIPI_2LANE		(1 << 17)
-#define SOCAM_MIPI_3LANE		(1 << 18)
-#define SOCAM_MIPI_4LANE		(1 << 19)
-#define SOCAM_MIPI	(SOCAM_MIPI_1LANE | SOCAM_MIPI_2LANE | \
-			SOCAM_MIPI_3LANE | SOCAM_MIPI_4LANE)
+#define SOCAM_DATAWIDTH(x)	BIT((x) - 1)
+#define SOCAM_DATAWIDTH_4	SOCAM_DATAWIDTH(4)
+#define SOCAM_DATAWIDTH_8	SOCAM_DATAWIDTH(8)
+#define SOCAM_DATAWIDTH_9	SOCAM_DATAWIDTH(9)
+#define SOCAM_DATAWIDTH_10	SOCAM_DATAWIDTH(10)
+#define SOCAM_DATAWIDTH_15	SOCAM_DATAWIDTH(15)
+#define SOCAM_DATAWIDTH_16	SOCAM_DATAWIDTH(16)
 
 #define SOCAM_DATAWIDTH_MASK (SOCAM_DATAWIDTH_4 | SOCAM_DATAWIDTH_8 | \
 			      SOCAM_DATAWIDTH_9 | SOCAM_DATAWIDTH_10 | \
 			      SOCAM_DATAWIDTH_15 | SOCAM_DATAWIDTH_16)
 
-static inline unsigned long soc_camera_bus_param_compatible(
-			unsigned long camera_flags, unsigned long bus_flags)
-{
-	unsigned long common_flags, hsync, vsync, pclk, data, buswidth, mode;
-	unsigned long mipi;
-
-	common_flags = camera_flags & bus_flags;
-
-	hsync = common_flags & (SOCAM_HSYNC_ACTIVE_HIGH | SOCAM_HSYNC_ACTIVE_LOW);
-	vsync = common_flags & (SOCAM_VSYNC_ACTIVE_HIGH | SOCAM_VSYNC_ACTIVE_LOW);
-	pclk = common_flags & (SOCAM_PCLK_SAMPLE_RISING | SOCAM_PCLK_SAMPLE_FALLING);
-	data = common_flags & (SOCAM_DATA_ACTIVE_HIGH | SOCAM_DATA_ACTIVE_LOW);
-	mode = common_flags & (SOCAM_MASTER | SOCAM_SLAVE);
-	buswidth = common_flags & SOCAM_DATAWIDTH_MASK;
-	mipi = common_flags & SOCAM_MIPI;
-
-	return ((!hsync || !vsync || !pclk || !data || !mode || !buswidth) && !mipi) ? 0 :
-		common_flags;
-}
-
 static inline void soc_camera_limit_side(int *start, int *length,
 		unsigned int start_min,
 		unsigned int length_min, unsigned int length_max)
-- 
1.7.2.5


  parent reply	other threads:[~2011-07-29 10:57 UTC|newest]

Thread overview: 62+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-07-29 10:56 [PATCH 00/59] Convert soc-camera to .[gs]_mbus_config() subdev operations Guennadi Liakhovetski
2011-07-29 10:56 ` [PATCH 01/59] V4L: sh_mobile_ceu_camera: output image sizes must be a multiple of 4 Guennadi Liakhovetski
2011-07-29 10:56 ` [PATCH 02/59] V4L: sh_mobile_ceu_camera: don't try to improve client scaling, if perfect Guennadi Liakhovetski
2011-07-29 10:56 ` [PATCH 03/59] V4L: sh_mobile_ceu_camera: fix field addresses in interleaved mode Guennadi Liakhovetski
2011-07-29 10:56 ` [PATCH 04/59] V4L: sh_mobile_ceu_camera: remove duplicated code Guennadi Liakhovetski
2011-07-29 10:56 ` [PATCH 05/59] V4L: imx074: support the new mbus-config subdev ops Guennadi Liakhovetski
2011-07-29 10:56 ` [PATCH 06/59] V4L: soc-camera: add helper functions for new bus configuration type Guennadi Liakhovetski
2011-07-29 10:56 ` [PATCH 07/59] V4L: mt9m001: support the new mbus-config subdev ops Guennadi Liakhovetski
2011-07-29 10:56 ` [PATCH 08/59] V4L: mt9m111: " Guennadi Liakhovetski
2011-07-29 10:56 ` [PATCH 09/59] V4L: mt9t031: " Guennadi Liakhovetski
2011-07-29 10:56 ` [PATCH 10/59] V4L: mt9t112: " Guennadi Liakhovetski
2011-07-29 10:56 ` [PATCH 11/59] V4L: mt9v022: " Guennadi Liakhovetski
2011-07-29 10:56 ` [PATCH 12/59] V4L: ov2640: " Guennadi Liakhovetski
2011-07-29 10:56 ` [PATCH 13/59] V4L: ov5642: " Guennadi Liakhovetski
2011-07-29 10:56 ` [PATCH 14/59] V4L: ov6650: " Guennadi Liakhovetski
2011-07-29 10:56 ` [PATCH 15/59] V4L: ov772x: rename macros to not pollute the global namespace Guennadi Liakhovetski
2011-07-29 10:56 ` [PATCH 16/59] V4L: ov772x: support the new mbus-config subdev ops Guennadi Liakhovetski
2011-07-29 10:56 ` [PATCH 17/59] V4L: ov9640: " Guennadi Liakhovetski
2011-07-29 10:56 ` [PATCH 18/59] V4L: ov9740: " Guennadi Liakhovetski
2011-07-29 10:56 ` [PATCH 19/59] V4L: rj54n1cb0c: " Guennadi Liakhovetski
2011-07-29 10:56 ` [PATCH 20/59] ARM: ap4evb: switch imx074 configuration to default number of lanes Guennadi Liakhovetski
2011-07-29 10:56 ` [PATCH 21/59] V4L: sh_mobile_csi2: verify client compatibility Guennadi Liakhovetski
2011-07-29 10:56 ` [PATCH 22/59] V4L: sh_mobile_csi2: support the new mbus-config subdev ops Guennadi Liakhovetski
2011-07-29 10:56 ` [PATCH 23/59] V4L: tw9910: remove a not really implemented cropping support Guennadi Liakhovetski
2011-07-29 10:56 ` [PATCH 24/59] V4L: tw9910: support the new mbus-config subdev ops Guennadi Liakhovetski
2011-07-29 10:56 ` [PATCH 25/59] V4L: soc_camera_platform: " Guennadi Liakhovetski
2011-07-29 10:56 ` [PATCH 26/59] V4L: soc-camera: compatible bus-width flags Guennadi Liakhovetski
2011-07-29 10:56 ` [PATCH 27/59] ARM: mach-shmobile: convert mackerel to mediabus flags Guennadi Liakhovetski
2011-07-29 10:56 ` [PATCH 28/59] sh: convert ap325rxa " Guennadi Liakhovetski
2011-07-29 10:56 ` [PATCH 29/59] ARM: PXA: use gpio_set_value_cansleep() on pcm990 Guennadi Liakhovetski
     [not found]   ` <CAMPhdO8V=y+se-vuozXW2_w6Y2cP2L7FVpiG7zXWS_WBcQvgqQ@mail.gmail.com>
2011-08-03 16:37     ` Guennadi Liakhovetski
2011-07-29 10:56 ` [PATCH 30/59] V4L: atmel-isi: convert to the new mbus-config subdev operations Guennadi Liakhovetski
2011-07-29 10:56 ` [PATCH 31/59] V4L: mx1_camera: " Guennadi Liakhovetski
2011-07-29 10:56 ` [PATCH 32/59] V4L: mx2_camera: " Guennadi Liakhovetski
2011-07-29 10:56 ` [PATCH 33/59] V4L: ov2640: remove undefined struct Guennadi Liakhovetski
2011-07-29 10:56 ` [PATCH 34/59] V4L: mx3_camera: convert to the new mbus-config subdev operations Guennadi Liakhovetski
2011-07-29 10:56 ` [PATCH 35/59] V4L: mt9m001, mt9v022: add a clarifying comment Guennadi Liakhovetski
2011-07-29 10:56 ` [PATCH 36/59] V4L: omap1_camera: convert to the new mbus-config subdev operations Guennadi Liakhovetski
2011-07-29 10:56 ` [PATCH 37/59] V4L: pxa_camera: " Guennadi Liakhovetski
2011-07-29 10:56 ` [PATCH 38/59] V4L: sh_mobile_ceu_camera: " Guennadi Liakhovetski
2011-07-29 10:56 ` [PATCH 39/59] V4L: soc-camera: camera client operations no longer compulsory Guennadi Liakhovetski
2011-07-29 10:56 ` [PATCH 40/59] V4L: mt9m001: remove superfluous soc-camera client operations Guennadi Liakhovetski
2011-07-29 10:56 ` [PATCH 41/59] V4L: mt9m111: " Guennadi Liakhovetski
2011-07-29 10:56 ` [PATCH 42/59] V4L: imx074: " Guennadi Liakhovetski
2011-07-29 10:56 ` [PATCH 43/59] V4L: mt9t031: " Guennadi Liakhovetski
2011-07-29 10:56 ` [PATCH 44/59] V4L: mt9t112: " Guennadi Liakhovetski
2011-07-29 10:56 ` [PATCH 45/59] V4L: mt9v022: " Guennadi Liakhovetski
2011-07-29 10:56 ` [PATCH 46/59] V4L: ov2640: " Guennadi Liakhovetski
2011-07-29 10:56 ` [PATCH 47/59] V4L: ov5642: " Guennadi Liakhovetski
2011-07-29 10:56 ` [PATCH 48/59] V4L: ov6650: " Guennadi Liakhovetski
2011-07-29 10:56 ` [PATCH 49/59] sh: ap3rxa: remove redundant soc-camera platform data fields Guennadi Liakhovetski
2011-07-29 10:56 ` [PATCH 50/59] sh: migor: remove unused ov772x buswidth flag Guennadi Liakhovetski
2011-07-29 10:56 ` [PATCH 51/59] V4L: ov772x: remove superfluous soc-camera client operations Guennadi Liakhovetski
2011-07-29 10:56 ` [PATCH 52/59] V4L: ov9640: " Guennadi Liakhovetski
2011-07-29 10:56 ` [PATCH 53/59] V4L: ov9740: " Guennadi Liakhovetski
2011-07-29 10:56 ` [PATCH 54/59] V4L: rj54n1cb0c: " Guennadi Liakhovetski
2011-07-29 10:56 ` [PATCH 55/59] V4L: sh_mobile_csi2: " Guennadi Liakhovetski
2011-07-29 10:56 ` [PATCH 56/59] ARM: mach-shmobile: mackerel doesn't need legacy SOCAM_* flags anymore Guennadi Liakhovetski
2011-07-29 10:56 ` [PATCH 57/59] V4L: soc_camera_platform: remove superfluous soc-camera client operations Guennadi Liakhovetski
2011-07-29 10:56 ` [PATCH 58/59] V4L: tw9910: " Guennadi Liakhovetski
2011-07-29 10:56 ` Guennadi Liakhovetski [this message]
2011-08-01 10:51 ` [PATCH 00/59] Convert soc-camera to .[gs]_mbus_config() subdev operations Janusz Krzysztofik

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1311937019-29914-60-git-send-email-g.liakhovetski@gmx.de \
    --to=g.liakhovetski@gmx.de \
    --cc=linux-media@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.