mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2026-05-05 09:49:58 -04:00
media: i2c: imx219: simplify getting state container
The pointer to 'struct v4l2_subdev' is stored in drvdata via
v4l2_i2c_subdev_init() so there is no point of a dance like:
struct i2c_client *client = to_i2c_client(struct device *dev)
struct v4l2_subdev *sd = i2c_get_clientdata(client);
This allows to remove local variable 'client' and few pointer
dereferences.
Signed-off-by: Krzysztof Kozlowski <krzk@kernel.org>
Signed-off-by: Sakari Ailus <sakari.ailus@linux.intel.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
This commit is contained in:
committed by
Mauro Carvalho Chehab
parent
69baf338fc
commit
37bb22ed9c
@@ -1114,22 +1114,21 @@ static int imx219_set_stream(struct v4l2_subdev *sd, int enable)
|
||||
/* Power/clock management functions */
|
||||
static int imx219_power_on(struct device *dev)
|
||||
{
|
||||
struct i2c_client *client = to_i2c_client(dev);
|
||||
struct v4l2_subdev *sd = i2c_get_clientdata(client);
|
||||
struct v4l2_subdev *sd = dev_get_drvdata(dev);
|
||||
struct imx219 *imx219 = to_imx219(sd);
|
||||
int ret;
|
||||
|
||||
ret = regulator_bulk_enable(IMX219_NUM_SUPPLIES,
|
||||
imx219->supplies);
|
||||
if (ret) {
|
||||
dev_err(&client->dev, "%s: failed to enable regulators\n",
|
||||
dev_err(dev, "%s: failed to enable regulators\n",
|
||||
__func__);
|
||||
return ret;
|
||||
}
|
||||
|
||||
ret = clk_prepare_enable(imx219->xclk);
|
||||
if (ret) {
|
||||
dev_err(&client->dev, "%s: failed to enable clock\n",
|
||||
dev_err(dev, "%s: failed to enable clock\n",
|
||||
__func__);
|
||||
goto reg_off;
|
||||
}
|
||||
@@ -1148,8 +1147,7 @@ static int imx219_power_on(struct device *dev)
|
||||
|
||||
static int imx219_power_off(struct device *dev)
|
||||
{
|
||||
struct i2c_client *client = to_i2c_client(dev);
|
||||
struct v4l2_subdev *sd = i2c_get_clientdata(client);
|
||||
struct v4l2_subdev *sd = dev_get_drvdata(dev);
|
||||
struct imx219 *imx219 = to_imx219(sd);
|
||||
|
||||
gpiod_set_value_cansleep(imx219->reset_gpio, 0);
|
||||
@@ -1161,8 +1159,7 @@ static int imx219_power_off(struct device *dev)
|
||||
|
||||
static int __maybe_unused imx219_suspend(struct device *dev)
|
||||
{
|
||||
struct i2c_client *client = to_i2c_client(dev);
|
||||
struct v4l2_subdev *sd = i2c_get_clientdata(client);
|
||||
struct v4l2_subdev *sd = dev_get_drvdata(dev);
|
||||
struct imx219 *imx219 = to_imx219(sd);
|
||||
|
||||
if (imx219->streaming)
|
||||
@@ -1173,8 +1170,7 @@ static int __maybe_unused imx219_suspend(struct device *dev)
|
||||
|
||||
static int __maybe_unused imx219_resume(struct device *dev)
|
||||
{
|
||||
struct i2c_client *client = to_i2c_client(dev);
|
||||
struct v4l2_subdev *sd = i2c_get_clientdata(client);
|
||||
struct v4l2_subdev *sd = dev_get_drvdata(dev);
|
||||
struct imx219 *imx219 = to_imx219(sd);
|
||||
int ret;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user