Browse Source

media: imx258: Check the rotation property has a value of 180

The driver only supports streaming images flipped horizontally and
vertically. In order to ensure that all current users will be fine if or
when support for upright streaming is added, require the presence of the
"rotation" control now.

Signed-off-by: Sakari Ailus <sakari.ailus@linux.intel.com>
Tested-by: "Lai, Jim" <jim.lai@intel.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab+samsung@kernel.org>
Sakari Ailus 7 years ago
parent
commit
17121d12a5
1 changed files with 8 additions and 0 deletions
  1. 8 0
      drivers/media/i2c/imx258.c

+ 8 - 0
drivers/media/i2c/imx258.c

@@ -1221,6 +1221,14 @@ static int imx258_probe(struct i2c_client *client)
 	if (val != 19200000)
 	if (val != 19200000)
 		return -EINVAL;
 		return -EINVAL;
 
 
+	/*
+	 * Check that the device is mounted upside down. The driver only
+	 * supports a single pixel order right now.
+	 */
+	ret = device_property_read_u32(&client->dev, "rotation", &val);
+	if (ret || val != 180)
+		return -EINVAL;
+
 	imx258 = devm_kzalloc(&client->dev, sizeof(*imx258), GFP_KERNEL);
 	imx258 = devm_kzalloc(&client->dev, sizeof(*imx258), GFP_KERNEL);
 	if (!imx258)
 	if (!imx258)
 		return -ENOMEM;
 		return -ENOMEM;