Commit 25dfa02c authored by Ben Dooks's avatar Ben Dooks Committed by Mauro Carvalho Chehab

[media] rcar_vin: copy flags from pdata

The platform data is a single word, so simply copy
it into the device's private data structure than
keeping a copy of the pointer.

This will make changing to device-tree binding
easier as it is one allocation instead of two.
Signed-off-by: default avatarBen Dooks <ben.dooks@codethink.co.uk>
Signed-off-by: default avatarGuennadi Liakhovetski <g.liakhovetski@gmx.de>
Signed-off-by: default avatarMauro Carvalho Chehab <m.chehab@samsung.com>
parent 057c2a2e
...@@ -126,13 +126,13 @@ struct rcar_vin_priv { ...@@ -126,13 +126,13 @@ struct rcar_vin_priv {
int sequence; int sequence;
/* State of the VIN module in capturing mode */ /* State of the VIN module in capturing mode */
enum rcar_vin_state state; enum rcar_vin_state state;
struct rcar_vin_platform_data *pdata;
struct soc_camera_host ici; struct soc_camera_host ici;
struct list_head capture; struct list_head capture;
#define MAX_BUFFER_NUM 3 #define MAX_BUFFER_NUM 3
struct vb2_buffer *queue_buf[MAX_BUFFER_NUM]; struct vb2_buffer *queue_buf[MAX_BUFFER_NUM];
struct vb2_alloc_ctx *alloc_ctx; struct vb2_alloc_ctx *alloc_ctx;
enum v4l2_field field; enum v4l2_field field;
unsigned int pdata_flags;
unsigned int vb_count; unsigned int vb_count;
unsigned int nr_hw_slots; unsigned int nr_hw_slots;
bool request_to_stop; bool request_to_stop;
...@@ -275,12 +275,12 @@ static int rcar_vin_setup(struct rcar_vin_priv *priv) ...@@ -275,12 +275,12 @@ static int rcar_vin_setup(struct rcar_vin_priv *priv)
break; break;
case V4L2_MBUS_FMT_YUYV8_2X8: case V4L2_MBUS_FMT_YUYV8_2X8:
/* BT.656 8bit YCbCr422 or BT.601 8bit YCbCr422 */ /* BT.656 8bit YCbCr422 or BT.601 8bit YCbCr422 */
vnmc |= priv->pdata->flags & RCAR_VIN_BT656 ? vnmc |= priv->pdata_flags & RCAR_VIN_BT656 ?
VNMC_INF_YUV8_BT656 : VNMC_INF_YUV8_BT601; VNMC_INF_YUV8_BT656 : VNMC_INF_YUV8_BT601;
break; break;
case V4L2_MBUS_FMT_YUYV10_2X10: case V4L2_MBUS_FMT_YUYV10_2X10:
/* BT.656 10bit YCbCr422 or BT.601 10bit YCbCr422 */ /* BT.656 10bit YCbCr422 or BT.601 10bit YCbCr422 */
vnmc |= priv->pdata->flags & RCAR_VIN_BT656 ? vnmc |= priv->pdata_flags & RCAR_VIN_BT656 ?
VNMC_INF_YUV10_BT656 : VNMC_INF_YUV10_BT601; VNMC_INF_YUV10_BT656 : VNMC_INF_YUV10_BT601;
break; break;
default: default:
...@@ -797,7 +797,7 @@ static int rcar_vin_set_bus_param(struct soc_camera_device *icd) ...@@ -797,7 +797,7 @@ static int rcar_vin_set_bus_param(struct soc_camera_device *icd)
/* Make choises, based on platform preferences */ /* Make choises, based on platform preferences */
if ((common_flags & V4L2_MBUS_HSYNC_ACTIVE_HIGH) && if ((common_flags & V4L2_MBUS_HSYNC_ACTIVE_HIGH) &&
(common_flags & V4L2_MBUS_HSYNC_ACTIVE_LOW)) { (common_flags & V4L2_MBUS_HSYNC_ACTIVE_LOW)) {
if (priv->pdata->flags & RCAR_VIN_HSYNC_ACTIVE_LOW) if (priv->pdata_flags & RCAR_VIN_HSYNC_ACTIVE_LOW)
common_flags &= ~V4L2_MBUS_HSYNC_ACTIVE_HIGH; common_flags &= ~V4L2_MBUS_HSYNC_ACTIVE_HIGH;
else else
common_flags &= ~V4L2_MBUS_HSYNC_ACTIVE_LOW; common_flags &= ~V4L2_MBUS_HSYNC_ACTIVE_LOW;
...@@ -805,7 +805,7 @@ static int rcar_vin_set_bus_param(struct soc_camera_device *icd) ...@@ -805,7 +805,7 @@ static int rcar_vin_set_bus_param(struct soc_camera_device *icd)
if ((common_flags & V4L2_MBUS_VSYNC_ACTIVE_HIGH) && if ((common_flags & V4L2_MBUS_VSYNC_ACTIVE_HIGH) &&
(common_flags & V4L2_MBUS_VSYNC_ACTIVE_LOW)) { (common_flags & V4L2_MBUS_VSYNC_ACTIVE_LOW)) {
if (priv->pdata->flags & RCAR_VIN_VSYNC_ACTIVE_LOW) if (priv->pdata_flags & RCAR_VIN_VSYNC_ACTIVE_LOW)
common_flags &= ~V4L2_MBUS_VSYNC_ACTIVE_HIGH; common_flags &= ~V4L2_MBUS_VSYNC_ACTIVE_HIGH;
else else
common_flags &= ~V4L2_MBUS_VSYNC_ACTIVE_LOW; common_flags &= ~V4L2_MBUS_VSYNC_ACTIVE_LOW;
...@@ -1445,7 +1445,7 @@ static int rcar_vin_probe(struct platform_device *pdev) ...@@ -1445,7 +1445,7 @@ static int rcar_vin_probe(struct platform_device *pdev)
priv->ici.drv_name = dev_name(&pdev->dev); priv->ici.drv_name = dev_name(&pdev->dev);
priv->ici.ops = &rcar_vin_host_ops; priv->ici.ops = &rcar_vin_host_ops;
priv->pdata = pdata; priv->pdata_flags = pdata->flags;
priv->chip = pdev->id_entry->driver_data; priv->chip = pdev->id_entry->driver_data;
spin_lock_init(&priv->lock); spin_lock_init(&priv->lock);
INIT_LIST_HEAD(&priv->capture); INIT_LIST_HEAD(&priv->capture);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment