media: i2c: imx214: simplify getting state container
Subsystems (23)
PATCH RESEND 1/25 media: i2c: imx214: 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. White at it, use 'dev' directly instead of 'imx214->dev'.
--- drivers/media/i2c/imx214.c | 16 ++++++---------- 1 file changed, 6 insertions(+), 10 deletions(-)
drivers/media/i2c/imx214.c +6 -10
@@ -431,14 +431,13 @@ static inline struct imx214 *to_imx214(struct v4l2_subdev *sd)static int __maybe_unused imx214_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 imx214 *imx214 =to_imx214 (sd);int ret; ret =regulator_bulk_enable (IMX214_NUM_SUPPLIES , imx214->supplies);if (ret <0 ) { -dev_err (imx214->dev,"failed to enable regulators: %d\n" , ret); +dev_err (dev,"failed to enable regulators: %d\n" , ret);return ret; }
@@ -447,7 +446,7 @@ static int __maybe_unused imx214_power_on(struct device *dev) ret =clk_prepare_enable (imx214->xclk);if (ret <0 ) {regulator_bulk_disable (IMX214_NUM_SUPPLIES , imx214->supplies); -dev_err (imx214->dev,"clk prepare enable failed\n" ); +dev_err (dev,"clk prepare enable failed\n" );return ret; }
@@ -459,8 +458,7 @@ static int __maybe_unused imx214_power_on(struct device *dev)static int __maybe_unused imx214_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 imx214 *imx214 =to_imx214 (sd);gpiod_set_value_cansleep (imx214->enable_gpio,0 );
@@ -910,8 +908,7 @@ static int imx214_parse_fwnode(struct device *dev)static int __maybe_unused imx214_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 imx214 *imx214 =to_imx214 (sd);if (imx214->streaming)
@@ -922,8 +919,7 @@ static int __maybe_unused imx214_suspend(struct device *dev)static int __maybe_unused imx214_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 imx214 *imx214 =to_imx214 (sd);int ret;
Signature · 1 line
2.25.1
PATCH RESEND 2/25 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.
--- drivers/media/i2c/imx219.c | 16 ++++++---------- 1 file changed, 6 insertions(+), 10 deletions(-)
drivers/media/i2c/imx219.c +6 -10
@@ -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;
Signature · 1 line
2.25.1
PATCH RESEND 3/25 media: i2c: imx290: simplify getting state container
In reply to Krzysztof KozlowskiThe 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. White at it, use 'dev' directly instead of 'imx290->dev'.
--- drivers/media/i2c/imx290.c | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-)
drivers/media/i2c/imx290.c +4 -6
@@ -842,20 +842,19 @@ static int imx290_set_data_lanes(struct imx290 *imx290)static int imx290_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 imx290 *imx290 =to_imx290 (sd);int ret; ret =clk_prepare_enable (imx290->xclk);if (ret) { -dev_err (imx290->dev,"Failed to enable clock\n" ); +dev_err (dev,"Failed to enable clock\n" );return ret; } ret =regulator_bulk_enable (IMX290_NUM_SUPPLIES , imx290->supplies);if (ret) { -dev_err (imx290->dev,"Failed to enable regulators\n" ); +dev_err (dev,"Failed to enable regulators\n" );clk_disable_unprepare (imx290->xclk);return ret; }
@@ -872,8 +871,7 @@ static int imx290_power_on(struct device *dev)static int imx290_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 imx290 *imx290 =to_imx290 (sd);clk_disable_unprepare (imx290->xclk);
Signature · 1 line
2.25.1
PATCH RESEND 4/25 media: i2c: imx319: simplify getting state container
In reply to Krzysztof KozlowskiThe 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.
--- drivers/media/i2c/imx319.c | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-)
drivers/media/i2c/imx319.c +2 -4
@@ -2179,8 +2179,7 @@ static int imx319_set_stream(struct v4l2_subdev *sd, int enable)static int __maybe_unused imx319_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 imx319 *imx319 =to_imx319 (sd);if (imx319->streaming)
@@ -2191,8 +2190,7 @@ static int __maybe_unused imx319_suspend(struct device *dev)static int __maybe_unused imx319_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 imx319 *imx319 =to_imx319 (sd);int ret;
Signature · 1 line
2.25.1
PATCH RESEND 5/25 media: i2c: imx319: silence unused acpi_device_id warning
In reply to Krzysztof KozlowskiIf driver is built without ACPI, the struct acpi_device_id won't be used:
drivers/media/i2c/imx319.c:2536:36: warning:
'imx319_acpi_ids' defined but not used [-Wunused-const-variable=]
--- drivers/media/i2c/imx319.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
drivers/media/i2c/imx319.c +1 -1
@@ -2533,7 +2533,7 @@ static const struct dev_pm_ops imx319_pm_ops = { SET_SYSTEM_SLEEP_PM_OPS(imx319_suspend, imx319_resume) }; -static const struct acpi_device_id imx319_acpi_ids[] = { +static const struct acpi_device_id imx319_acpi_ids[]__maybe_unused = { {"SONY319A" }, {/* sentinel */ } };
Signature · 1 line
2.25.1
PATCH RESEND 6/25 media: i2c: imx355: simplify getting state container
In reply to Krzysztof KozlowskiThe 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.
--- drivers/media/i2c/imx355.c | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-)
drivers/media/i2c/imx355.c +2 -4
@@ -1480,8 +1480,7 @@ static int imx355_set_stream(struct v4l2_subdev *sd, int enable)static int __maybe_unused imx355_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 imx355 *imx355 =to_imx355 (sd);if (imx355->streaming)
@@ -1492,8 +1491,7 @@ static int __maybe_unused imx355_suspend(struct device *dev)static int __maybe_unused imx355_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 imx355 *imx355 =to_imx355 (sd);int ret;
Signature · 1 line
2.25.1
PATCH RESEND 7/25 media: i2c: imx355: silence unused acpi_device_id warning
In reply to Krzysztof KozlowskiIf driver is built without ACPI, the struct acpi_device_id won't be used:
drivers/media/i2c/imx355.c:1836:36: warning:
'imx355_acpi_ids' defined but not used [-Wunused-const-variable=]
--- drivers/media/i2c/imx355.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
drivers/media/i2c/imx355.c +1 -1
@@ -1833,7 +1833,7 @@ static const struct dev_pm_ops imx355_pm_ops = { SET_SYSTEM_SLEEP_PM_OPS(imx355_suspend, imx355_resume) }; -static const struct acpi_device_id imx355_acpi_ids[] = { +static const struct acpi_device_id imx355_acpi_ids[]__maybe_unused = { {"SONY355A" }, {/* sentinel */ } };
Signature · 1 line
2.25.1
PATCH RESEND 8/25 media: i2c: ad5820: simplify getting state container
In reply to Krzysztof KozlowskiThe 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.
--- drivers/media/i2c/ad5820.c | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-)
drivers/media/i2c/ad5820.c +2 -4
@@ -270,8 +270,7 @@ static const struct v4l2_subdev_internal_ops ad5820_internal_ops = {*/ static int __maybe_unused ad5820_suspend (struct device *dev) { - struct i2c_client *client = container_of(dev, struct i2c_client, dev); -struct v4l2_subdev *subdev =i2c_get_clientdata (client); +struct v4l2_subdev *subdev =dev_get_drvdata (dev);struct ad5820_device *coil =to_ad5820_device (subdev);if (!coil->power_count)
@@ -282,8 +281,7 @@ static int __maybe_unused ad5820_suspend(struct device *dev)static int __maybe_unused ad5820_resume (struct device *dev) { - struct i2c_client *client = container_of(dev, struct i2c_client, dev); -struct v4l2_subdev *subdev =i2c_get_clientdata (client); +struct v4l2_subdev *subdev =dev_get_drvdata (dev);struct ad5820_device *coil =to_ad5820_device (subdev);if (!coil->power_count)
Signature · 1 line
2.25.1
PATCH RESEND 9/25 media: i2c: adp1653: simplify getting state container
In reply to Krzysztof KozlowskiThe 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.
--- drivers/media/i2c/adp1653.c | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-)
drivers/media/i2c/adp1653.c +2 -4
@@ -379,8 +379,7 @@ static const struct v4l2_subdev_internal_ops adp1653_internal_ops = {static int adp1653_suspend (struct device *dev) { -struct i2c_client *client =to_i2c_client (dev); -struct v4l2_subdev *subdev =i2c_get_clientdata (client); +struct v4l2_subdev *subdev =dev_get_drvdata (dev);struct adp1653_flash *flash =to_adp1653_flash (subdev);if (!flash->power_count)
@@ -391,8 +390,7 @@ static int adp1653_suspend(struct device *dev)static int adp1653_resume (struct device *dev) { -struct i2c_client *client =to_i2c_client (dev); -struct v4l2_subdev *subdev =i2c_get_clientdata (client); +struct v4l2_subdev *subdev =dev_get_drvdata (dev);struct adp1653_flash *flash =to_adp1653_flash (subdev);if (!flash->power_count)
Signature · 1 line
2.25.1
PATCH RESEND 10/25 media: i2c: adv7180: simplify getting state container
In reply to Krzysztof KozlowskiThe 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.
--- drivers/media/i2c/adv7180.c | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-)
drivers/media/i2c/adv7180.c +2 -4
@@ -1454,8 +1454,7 @@ MODULE_DEVICE_TABLE(i2c, adv7180_id);#ifdef CONFIG_PM_SLEEP static int adv7180_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 adv7180_state *state =to_state (sd);return adv7180_set_power (state, false);
@@ -1463,8 +1462,7 @@ static int adv7180_suspend(struct device *dev)static int adv7180_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 adv7180_state *state =to_state (sd);int ret;
Signature · 1 line
2.25.1
PATCH RESEND 11/25 media: i2c: ak7375: simplify getting state container
In reply to Krzysztof KozlowskiThe 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.
--- drivers/media/i2c/ak7375.c | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-)
drivers/media/i2c/ak7375.c +2 -5
@@ -196,9 +196,7 @@ static int ak7375_remove(struct i2c_client *client)*/ static int __maybe_unused ak7375_vcm_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 ak7375_device *ak7375_dev =sd_to_ak7375_vcm (sd);int ret, val;
@@ -233,8 +231,7 @@ static int __maybe_unused ak7375_vcm_suspend(struct device *dev)*/ static int __maybe_unused ak7375_vcm_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 ak7375_device *ak7375_dev =sd_to_ak7375_vcm (sd);int ret, val;
Signature · 1 line
2.25.1
PATCH RESEND 12/25 media: i2c: dw9768: simplify getting state container
In reply to Krzysztof KozlowskiThe 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.
--- drivers/media/i2c/dw9768.c | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-)
drivers/media/i2c/dw9768.c +2 -4
@@ -315,8 +315,7 @@ static int dw9768_release(struct dw9768 *dw9768)static int dw9768_runtime_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 dw9768 *dw9768 =sd_to_dw9768 (sd);dw9768_release (dw9768);
@@ -328,8 +327,7 @@ static int dw9768_runtime_suspend(struct device *dev)static int dw9768_runtime_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 dw9768 *dw9768 =sd_to_dw9768 (sd);int ret;
Signature · 1 line
2.25.1
PATCH RESEND 13/25 media: i2c: et8ek8: simplify getting state container
In reply to Krzysztof KozlowskiThe 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.
--- drivers/media/i2c/et8ek8/et8ek8_driver.c | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-)
drivers/media/i2c/et8ek8/et8ek8_driver.c +3 -5
@@ -1237,7 +1237,7 @@ static ssize_t et8ek8_priv_mem_read(struct device *dev, struct device_attribute *attr, char *buf) { - struct v4l2_subdev *subdev = i2c_get_clientdata(to_i2c_client(dev)); + struct v4l2_subdev *subdev = dev_get_drvdata(dev);struct et8ek8_sensor *sensor =to_et8ek8_sensor (subdev);#if PAGE_SIZE <ET8EK8_PRIV_MEM_SIZE
@@ -1374,8 +1374,7 @@ static const struct v4l2_subdev_internal_ops et8ek8_internal_ops = {*/ static int __maybe_unused et8ek8_suspend (struct device *dev) { -struct i2c_client *client =to_i2c_client (dev); -struct v4l2_subdev *subdev =i2c_get_clientdata (client); +struct v4l2_subdev *subdev =dev_get_drvdata (dev);struct et8ek8_sensor *sensor =to_et8ek8_sensor (subdev);if (!sensor->power_count)
@@ -1386,8 +1385,7 @@ static int __maybe_unused et8ek8_suspend(struct device *dev)static int __maybe_unused et8ek8_resume (struct device *dev) { -struct i2c_client *client =to_i2c_client (dev); -struct v4l2_subdev *subdev =i2c_get_clientdata (client); +struct v4l2_subdev *subdev =dev_get_drvdata (dev);struct et8ek8_sensor *sensor =to_et8ek8_sensor (subdev);if (!sensor->power_count)
Signature · 1 line
2.25.1
PATCH RESEND 14/25 media: i2c: hi556: simplify getting state container
In reply to Krzysztof KozlowskiThe 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.
--- drivers/media/i2c/hi556.c | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-)
drivers/media/i2c/hi556.c +2 -4
@@ -839,8 +839,7 @@ static int hi556_set_stream(struct v4l2_subdev *sd, int enable)static int __maybe_unused hi556_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 hi556 *hi556 =to_hi556 (sd);mutex_lock (&hi556->mutex);
@@ -854,8 +853,7 @@ static int __maybe_unused hi556_suspend(struct device *dev)static int __maybe_unused hi556_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 hi556 *hi556 =to_hi556 (sd);int ret;
Signature · 1 line
2.25.1
PATCH RESEND 15/25 media: i2c: ov13858: simplify getting state container
In reply to Krzysztof KozlowskiThe 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.
--- drivers/media/i2c/ov13858.c | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-)
drivers/media/i2c/ov13858.c +2 -4
@@ -1505,8 +1505,7 @@ static int ov13858_set_stream(struct v4l2_subdev *sd, int enable)static int __maybe_unused ov13858_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 ov13858 *ov13858 =to_ov13858 (sd);if (ov13858->streaming)
@@ -1517,8 +1516,7 @@ static int __maybe_unused ov13858_suspend(struct device *dev)static int __maybe_unused ov13858_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 ov13858 *ov13858 =to_ov13858 (sd);int ret;
Signature · 1 line
2.25.1
PATCH RESEND 16/25 media: i2c: ov2680: simplify getting state container
In reply to Krzysztof KozlowskiThe 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.
--- drivers/media/i2c/ov2680.c | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-)
drivers/media/i2c/ov2680.c +2 -4
@@ -1111,8 +1111,7 @@ static int ov2680_remove(struct i2c_client *client)static int __maybe_unused ov2680_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 ov2680_dev *sensor =to_ov2680_dev (sd);if (sensor->is_streaming)
@@ -1123,8 +1122,7 @@ static int __maybe_unused ov2680_suspend(struct device *dev)static int __maybe_unused ov2680_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 ov2680_dev *sensor =to_ov2680_dev (sd);int ret;
Signature · 1 line
2.25.1
PATCH RESEND 17/25 media: i2c: ov2685: simplify getting state container
In reply to Krzysztof KozlowskiThe 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.
--- drivers/media/i2c/ov2685.c | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-)
drivers/media/i2c/ov2685.c +2 -4
@@ -506,8 +506,7 @@ static int ov2685_open(struct v4l2_subdev *sd, struct v4l2_subdev_fh *fh)static int __maybe_unused ov2685_runtime_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 ov2685 *ov2685 =to_ov2685 (sd);return __ov2685_power_on (ov2685);
@@ -515,8 +514,7 @@ static int __maybe_unused ov2685_runtime_resume(struct device *dev)static int __maybe_unused ov2685_runtime_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 ov2685 *ov2685 =to_ov2685 (sd);__ov2685_power_off (ov2685);
Signature · 1 line
2.25.1
PATCH RESEND 18/25 media: i2c: ov2740: simplify getting state container
In reply to Krzysztof KozlowskiThe 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.
--- drivers/media/i2c/ov2740.c | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-)
drivers/media/i2c/ov2740.c +2 -4
@@ -674,8 +674,7 @@ static int ov2740_set_stream(struct v4l2_subdev *sd, int enable)static int __maybe_unused ov2740_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 ov2740 *ov2740 =to_ov2740 (sd);mutex_lock (&ov2740->mutex);
@@ -689,8 +688,7 @@ static int __maybe_unused ov2740_suspend(struct device *dev)static int __maybe_unused ov2740_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 ov2740 *ov2740 =to_ov2740 (sd);int ret =0 ;
Signature · 1 line
2.25.1
PATCH RESEND 19/25 media: i2c: ov5670: simplify getting state container
In reply to Krzysztof KozlowskiThe 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.
--- drivers/media/i2c/ov5670.c | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-)
drivers/media/i2c/ov5670.c +2 -4
@@ -2373,8 +2373,7 @@ static int ov5670_set_stream(struct v4l2_subdev *sd, int enable)static int __maybe_unused ov5670_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 ov5670 *ov5670 =to_ov5670 (sd);if (ov5670->streaming)
@@ -2385,8 +2384,7 @@ static int __maybe_unused ov5670_suspend(struct device *dev)static int __maybe_unused ov5670_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 ov5670 *ov5670 =to_ov5670 (sd);int ret;
Signature · 1 line
2.25.1
PATCH RESEND 20/25 media: i2c: ov5675: simplify getting state container
In reply to Krzysztof KozlowskiThe 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.
--- drivers/media/i2c/ov5675.c | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-)
drivers/media/i2c/ov5675.c +2 -4
@@ -889,8 +889,7 @@ static int ov5675_set_stream(struct v4l2_subdev *sd, int enable)static int __maybe_unused ov5675_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 ov5675 *ov5675 =to_ov5675 (sd);mutex_lock (&ov5675->mutex);
@@ -904,8 +903,7 @@ static int __maybe_unused ov5675_suspend(struct device *dev)static int __maybe_unused ov5675_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 ov5675 *ov5675 =to_ov5675 (sd);int ret;
Signature · 1 line
2.25.1
PATCH RESEND 21/25 media: i2c: ov5695: simplify getting state container
In reply to Krzysztof KozlowskiThe 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.
--- drivers/media/i2c/ov5695.c | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-)
drivers/media/i2c/ov5695.c +2 -4
@@ -1033,8 +1033,7 @@ static void __ov5695_power_off(struct ov5695 *ov5695)static int __maybe_unused ov5695_runtime_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 ov5695 *ov5695 =to_ov5695 (sd);return __ov5695_power_on (ov5695);
@@ -1042,8 +1041,7 @@ static int __maybe_unused ov5695_runtime_resume(struct device *dev)static int __maybe_unused ov5695_runtime_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 ov5695 *ov5695 =to_ov5695 (sd);__ov5695_power_off (ov5695);
Signature · 1 line
2.25.1
PATCH RESEND 22/25 media: i2c: ov7740: simplify getting state container
In reply to Krzysztof KozlowskiThe 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.
--- drivers/media/i2c/ov7740.c | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-)
drivers/media/i2c/ov7740.c +2 -4
@@ -1176,8 +1176,7 @@ static int ov7740_remove(struct i2c_client *client)static int __maybe_unused ov7740_runtime_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 ov7740 *ov7740 = container_of(sd, struct ov7740, subdev);ov7740_set_power (ov7740,0 );
@@ -1187,8 +1186,7 @@ static int __maybe_unused ov7740_runtime_suspend(struct device *dev)static int __maybe_unused ov7740_runtime_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 ov7740 *ov7740 = container_of(sd, struct ov7740, subdev);return ov7740_set_power (ov7740,1 );
Signature · 1 line
2.25.1
PATCH RESEND 23/25 media: i2c: ov8856: simplify getting state container
In reply to Krzysztof KozlowskiThe 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.
--- drivers/media/i2c/ov8856.c | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-)
drivers/media/i2c/ov8856.c +2 -4
@@ -1417,8 +1417,7 @@ static void __ov8856_power_off(struct ov8856 *ov8856)static int __maybe_unused ov8856_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 ov8856 *ov8856 =to_ov8856 (sd);mutex_lock (&ov8856->mutex);
@@ -1433,8 +1432,7 @@ static int __maybe_unused ov8856_suspend(struct device *dev)static int __maybe_unused ov8856_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 ov8856 *ov8856 =to_ov8856 (sd);int ret;
Signature · 1 line
2.25.1
PATCH RESEND 24/25 media: i2c: smiapp: simplify getting state container
In reply to Krzysztof KozlowskiThe 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.
--- drivers/media/i2c/smiapp/smiapp-core.c | 28 ++++++++++++-------------- 1 file changed, 13 insertions(+), 15 deletions(-)
drivers/media/i2c/smiapp/smiapp-core.c +13 -15
@@ -1185,8 +1185,7 @@ static int smiapp_setup_flash_strobe(struct smiapp_sensor *sensor)static int smiapp_power_on (struct device *dev) { -struct i2c_client *client =to_i2c_client (dev); -struct v4l2_subdev *subdev =i2c_get_clientdata (client); +struct v4l2_subdev *subdev =dev_get_drvdata (dev);struct smiapp_subdev *ssd =to_smiapp_subdev (subdev);/* * The sub-device related to the I2C device is always the
@@ -1199,14 +1198,14 @@ static int smiapp_power_on(struct device *dev) rval =regulator_enable (sensor->vana);if (rval) { -dev_err (&client->dev,"failed to enable vana regulator\n" ); +dev_err (dev,"failed to enable vana regulator\n" );return rval; }usleep_range (1000 ,1000 ); rval =clk_prepare_enable (sensor->ext_clk);if (rval <0 ) { -dev_dbg (&client->dev,"failed to enable xclk\n" ); +dev_dbg (dev,"failed to enable xclk\n" ); goto out_xclk_fail; }usleep_range (1000 ,1000 );
@@ -1230,7 +1229,7 @@ static int smiapp_power_on(struct device *dev)if (sensor->hwcfg->i2c_addr_alt) { rval =smiapp_change_cci_addr (sensor);if (rval) { -dev_err (&client->dev,"cci address change error\n" ); +dev_err (dev,"cci address change error\n" ); goto out_cci_addr_fail; } }
@@ -1238,14 +1237,14 @@ static int smiapp_power_on(struct device *dev) rval =smiapp_write (sensor,SMIAPP_REG_U8_SOFTWARE_RESET ,SMIAPP_SOFTWARE_RESET );if (rval <0 ) { -dev_err (&client->dev,"software reset failed\n" ); +dev_err (dev,"software reset failed\n" ); goto out_cci_addr_fail; }if (sensor->hwcfg->i2c_addr_alt) { rval =smiapp_change_cci_addr (sensor);if (rval) { -dev_err (&client->dev,"cci address change error\n" ); +dev_err (dev,"cci address change error\n" ); goto out_cci_addr_fail; } }
@@ -1253,7 +1252,7 @@ static int smiapp_power_on(struct device *dev) rval =smiapp_write (sensor,SMIAPP_REG_U16_COMPRESSION_MODE ,SMIAPP_COMPRESSION_MODE_SIMPLE_PREDICTOR );if (rval) { -dev_err (&client->dev,"compression mode set failed\n" ); +dev_err (dev,"compression mode set failed\n" ); goto out_cci_addr_fail; }
@@ -1261,28 +1260,28 @@ static int smiapp_power_on(struct device *dev) sensor,SMIAPP_REG_U16_EXTCLK_FREQUENCY_MHZ , sensor->hwcfg->ext_clk / (1000000 / (1 << 8)));if (rval) { -dev_err (&client->dev,"extclk frequency set failed\n" ); +dev_err (dev,"extclk frequency set failed\n" ); goto out_cci_addr_fail; } rval =smiapp_write (sensor,SMIAPP_REG_U8_CSI_LANE_MODE , sensor->hwcfg->lanes -1 );if (rval) { -dev_err (&client->dev,"csi lane mode set failed\n" ); +dev_err (dev,"csi lane mode set failed\n" ); goto out_cci_addr_fail; } rval =smiapp_write (sensor,SMIAPP_REG_U8_FAST_STANDBY_CTRL ,SMIAPP_FAST_STANDBY_CTRL_IMMEDIATE );if (rval) { -dev_err (&client->dev,"fast standby set failed\n" ); +dev_err (dev,"fast standby set failed\n" ); goto out_cci_addr_fail; } rval =smiapp_write (sensor,SMIAPP_REG_U8_CSI_SIGNALLING_MODE , sensor->hwcfg->csi_signalling_mode);if (rval) { -dev_err (&client->dev,"csi signalling mode set failed\n" ); +dev_err (dev,"csi signalling mode set failed\n" ); goto out_cci_addr_fail; }
@@ -1294,7 +1293,7 @@ static int smiapp_power_on(struct device *dev) rval =smiapp_call_quirk (sensor, post_poweron);if (rval) { -dev_err (&client->dev,"post_poweron quirks failed\n" ); +dev_err (dev,"post_poweron quirks failed\n" ); goto out_cci_addr_fail; }
@@ -1312,8 +1311,7 @@ static int smiapp_power_on(struct device *dev)static int smiapp_power_off (struct device *dev) { -struct i2c_client *client =to_i2c_client (dev); -struct v4l2_subdev *subdev =i2c_get_clientdata (client); +struct v4l2_subdev *subdev =dev_get_drvdata (dev);struct smiapp_subdev *ssd =to_smiapp_subdev (subdev);struct smiapp_sensor *sensor = container_of(ssd, struct smiapp_sensor, ssds[0]);
Signature · 1 line
2.25.1
PATCH RESEND 25/25 media: i2c: tvp5150: simplify getting state container
In reply to Krzysztof KozlowskiThe 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.
--- drivers/media/i2c/tvp5150.c | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-)
drivers/media/i2c/tvp5150.c +2 -4
@@ -1413,8 +1413,7 @@ static const struct media_entity_operations tvp5150_sd_media_ops = {****************************************************************************/ static int __maybe_unused tvp5150_runtime_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 tvp5150 *decoder =to_tvp5150 (sd);if (decoder->irq)
@@ -1427,8 +1426,7 @@ static int __maybe_unused tvp5150_runtime_suspend(struct device *dev)static int __maybe_unused tvp5150_runtime_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 tvp5150 *decoder =to_tvp5150 (sd);if (decoder->irq)
Signature · 1 line
2.25.1
Hi Krzysztof,
Quoted 10 lines · Krzysztof Kozlowski
The pointer to 'struct
v4l2_subdev' is stored in drvdata viav4l2_i2c_subdev_init()so there is no point of a dance like:struct
i2c_client*client =to_i2c_client(struct device *dev)structv4l2_subdev*sd =i2c_get_clientdata(client);This allows to remove local variable 'client' and few pointer dereferences. White at it, use 'dev' directly instead of '
imx214->dev'.Signed-off-by Krzysztof Kozlowski <[email protected]>
I've applied the original set to my tree here:
<URL:https://git.linuxtv.org/sailus/media_tree.git/log/>
The status of the patches is generally indicated in Patchwork:
<URL:https://patchwork.linuxtv.org/project/linux-media/list/>
"Under review" effectively, but perhaps confusingly, is also used to tell that the patch is in someone else's tree and on its way to Mauro's. IOW, it is not necessary to resend them.
Signature · 3 lines
Regards, Sakari Ailus