diff options
author | Sakari Ailus <sakari.ailus@linux.intel.com> | 2016-08-31 09:38:54 -0300 |
---|---|---|
committer | Mauro Carvalho Chehab <mchehab@s-opensource.com> | 2016-09-05 15:53:20 -0300 |
commit | e62c30e76829d46bf11d170fd81b735f13a014ac (patch) | |
tree | 2404b9057cd649fceb298da1b1712c642f8c8fe6 /drivers/media/i2c | |
parent | 567716c5817cbcc482f70724d7f98aa6702c6e4c (diff) |
[media] smiapp: Remove set_xclk() callback from hwconfig
The clock framework is generally so well supported that there's no reason
to keep this one around.
Signed-off-by: Sakari Ailus <sakari.ailus@linux.intel.com>
Reviewed-by: Sebastian Reichel <sre@kernel.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com>
Diffstat (limited to 'drivers/media/i2c')
-rw-r--r-- | drivers/media/i2c/smiapp/smiapp-core.c | 49 |
1 files changed, 17 insertions, 32 deletions
diff --git a/drivers/media/i2c/smiapp/smiapp-core.c b/drivers/media/i2c/smiapp/smiapp-core.c index 061f44a611c1..d8b78c678f77 100644 --- a/drivers/media/i2c/smiapp/smiapp-core.c +++ b/drivers/media/i2c/smiapp/smiapp-core.c @@ -1201,11 +1201,7 @@ static int smiapp_power_on(struct smiapp_sensor *sensor) } usleep_range(1000, 1000); - if (sensor->hwcfg->set_xclk) - rval = sensor->hwcfg->set_xclk( - &sensor->src->sd, sensor->hwcfg->ext_clk); - else - rval = clk_prepare_enable(sensor->ext_clk); + rval = clk_prepare_enable(sensor->ext_clk); if (rval < 0) { dev_dbg(&client->dev, "failed to enable xclk\n"); goto out_xclk_fail; @@ -1322,10 +1318,7 @@ static int smiapp_power_on(struct smiapp_sensor *sensor) out_cci_addr_fail: gpiod_set_value(sensor->xshutdown, 0); - if (sensor->hwcfg->set_xclk) - sensor->hwcfg->set_xclk(&sensor->src->sd, 0); - else - clk_disable_unprepare(sensor->ext_clk); + clk_disable_unprepare(sensor->ext_clk); out_xclk_fail: regulator_disable(sensor->vana); @@ -1347,10 +1340,7 @@ static void smiapp_power_off(struct smiapp_sensor *sensor) SMIAPP_SOFTWARE_RESET); gpiod_set_value(sensor->xshutdown, 0); - if (sensor->hwcfg->set_xclk) - sensor->hwcfg->set_xclk(&sensor->src->sd, 0); - else - clk_disable_unprepare(sensor->ext_clk); + clk_disable_unprepare(sensor->ext_clk); usleep_range(5000, 5000); regulator_disable(sensor->vana); sensor->streaming = false; @@ -2551,22 +2541,20 @@ static int smiapp_init(struct smiapp_sensor *sensor) return PTR_ERR(sensor->vana); } - if (!sensor->hwcfg->set_xclk) { - sensor->ext_clk = devm_clk_get(&client->dev, NULL); - if (IS_ERR(sensor->ext_clk)) { - dev_err(&client->dev, "could not get clock (%ld)\n", - PTR_ERR(sensor->ext_clk)); - return -EPROBE_DEFER; - } + sensor->ext_clk = devm_clk_get(&client->dev, NULL); + if (IS_ERR(sensor->ext_clk)) { + dev_err(&client->dev, "could not get clock (%ld)\n", + PTR_ERR(sensor->ext_clk)); + return -EPROBE_DEFER; + } - rval = clk_set_rate(sensor->ext_clk, - sensor->hwcfg->ext_clk); - if (rval < 0) { - dev_err(&client->dev, - "unable to set clock freq to %u\n", - sensor->hwcfg->ext_clk); - return rval; - } + rval = clk_set_rate(sensor->ext_clk, + sensor->hwcfg->ext_clk); + if (rval < 0) { + dev_err(&client->dev, + "unable to set clock freq to %u\n", + sensor->hwcfg->ext_clk); + return rval; } sensor->xshutdown = devm_gpiod_get_optional(&client->dev, "xshutdown", @@ -3108,10 +3096,7 @@ static int smiapp_remove(struct i2c_client *client) if (sensor->power_count) { gpiod_set_value(sensor->xshutdown, 0); - if (sensor->hwcfg->set_xclk) - sensor->hwcfg->set_xclk(&sensor->src->sd, 0); - else - clk_disable_unprepare(sensor->ext_clk); + clk_disable_unprepare(sensor->ext_clk); sensor->power_count = 0; } |