Re: [PATCH v2 2/3] media: i2c: Add IMX290 CMOS image sensor driver
From: Sakari Ailus <sakari.ailus@iki.fi>
Date: 2019-08-29 20:17:28
Also in:
linux-devicetree, linux-media, lkml
From: Sakari Ailus <sakari.ailus@iki.fi>
Date: 2019-08-29 20:17:28
Also in:
linux-devicetree, linux-media, lkml
Hi Manivannan, On Thu, Aug 29, 2019 at 10:34:15PM +0530, Manivannan Sadhasivam wrote: ...
quoted
quoted
+static int imx290_set_fmt(struct v4l2_subdev *sd, + struct v4l2_subdev_pad_config *cfg, + struct v4l2_subdev_format *fmt) +{ + struct imx290 *imx290 = to_imx290(sd); + const struct imx290_mode *mode; + struct v4l2_mbus_framefmt *format; + int i, ret = 0;Note that sub-device drivers need to serialise access through the uAPI to their own data.You mean guarding with mutex?
Yes, please. ...
quoted
quoted
+static int imx290_get_regulators(struct device *dev, struct imx290 *imx290) +{ + unsigned int i; + + for (i = 0; i < IMX290_NUM_SUPPLIES; i++) + imx290->supplies[i].supply = imx290_supply_name[i]; + + return devm_regulator_bulk_get(dev, IMX290_NUM_SUPPLIES, + imx290->supplies); +} +
...
quoted
quoted
+ ret = imx290_get_regulators(dev, imx290); + if (ret < 0) { + dev_err(dev, "Cannot get regulators\n"); + return ret; + } + + imx290->rst_gpio = devm_gpiod_get_optional(dev, "reset", GPIOD_ASIS); + if (IS_ERR(imx290->rst_gpio)) { + dev_err(dev, "Cannot get reset gpio\n");Remember to put the regulators from now on. Or grab them later.Shouldn't that happen by default with devm_regulator* APIs?
Ah, I missed you were using the devm variant. Please ignore the comment then. -- Regards, Sakari Ailus _______________________________________________ linux-arm-kernel mailing list linux-arm-kernel@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-arm-kernel