Commit f5e381ff authored by Hans de Goede's avatar Hans de Goede Committed by Mauro Carvalho Chehab

media: atomisp: gc0310: Remove gc0310_s_config() function

gc0310_s_config() used to call camera_sensor_platform_data.csi_cfg() back
when the gc0310 driver was still using the atomisp_gmin_platform code
for power-management.

Now it is just a weirdly named wrapper around gc0310_detect(), drop
gc0310_s_config() and make probe() call gc0310_detect() directly.

Link: https://lore.kernel.org/r/20230518153214.194976-8-hdegoede@redhat.comReviewed-by: default avatarAndy Shevchenko <andy.shevchenko@gmail.com>
Signed-off-by: default avatarHans de Goede <hdegoede@redhat.com>
Signed-off-by: default avatarMauro Carvalho Chehab <mchehab@kernel.org>
parent 63558464
...@@ -172,7 +172,10 @@ static int gc0310_detect(struct i2c_client *client) ...@@ -172,7 +172,10 @@ static int gc0310_detect(struct i2c_client *client)
if (!i2c_check_functionality(adapter, I2C_FUNC_I2C)) if (!i2c_check_functionality(adapter, I2C_FUNC_I2C))
return -ENODEV; return -ENODEV;
ret = pm_runtime_get_sync(&client->dev);
if (ret >= 0)
ret = i2c_smbus_read_word_swapped(client, GC0310_SC_CMMN_CHIP_ID_H); ret = i2c_smbus_read_word_swapped(client, GC0310_SC_CMMN_CHIP_ID_H);
pm_runtime_put(&client->dev);
if (ret < 0) { if (ret < 0) {
dev_err(&client->dev, "read sensor_id failed: %d\n", ret); dev_err(&client->dev, "read sensor_id failed: %d\n", ret);
return -ENODEV; return -ENODEV;
...@@ -261,19 +264,6 @@ static int gc0310_s_stream(struct v4l2_subdev *sd, int enable) ...@@ -261,19 +264,6 @@ static int gc0310_s_stream(struct v4l2_subdev *sd, int enable)
return ret; return ret;
} }
static int gc0310_s_config(struct v4l2_subdev *sd)
{
struct i2c_client *client = v4l2_get_subdevdata(sd);
int ret;
ret = pm_runtime_get_sync(&client->dev);
if (ret >= 0)
ret = gc0310_detect(client);
pm_runtime_put(&client->dev);
return ret;
}
static int gc0310_g_frame_interval(struct v4l2_subdev *sd, static int gc0310_g_frame_interval(struct v4l2_subdev *sd,
struct v4l2_subdev_frame_interval *interval) struct v4l2_subdev_frame_interval *interval)
{ {
...@@ -406,7 +396,7 @@ static int gc0310_probe(struct i2c_client *client) ...@@ -406,7 +396,7 @@ static int gc0310_probe(struct i2c_client *client)
pm_runtime_set_autosuspend_delay(&client->dev, 1000); pm_runtime_set_autosuspend_delay(&client->dev, 1000);
pm_runtime_use_autosuspend(&client->dev); pm_runtime_use_autosuspend(&client->dev);
ret = gc0310_s_config(&dev->sd); ret = gc0310_detect(client);
if (ret) { if (ret) {
gc0310_remove(client); gc0310_remove(client);
return ret; return ret;
......
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