msm: camera: Discontinue use of clk_set_min_rate()
Support for the proprietary clk_set_min_rate() will soon be removed.
Move away from it. Call clk_set_rate() directly with an exact rate
where possible, and use clk_round_round() in conjunction with
clk_set_rate() when an exact rate is not known.
Change-Id: I030c93c976f516a3ec91844ce2e5d752f56cdb9a
Signed-off-by: Matt Wagantall <mattw@codeaurora.org>
diff --git a/arch/arm/mach-msm/clock-7x30.c b/arch/arm/mach-msm/clock-7x30.c
index a478b6f..a45c242 100644
--- a/arch/arm/mach-msm/clock-7x30.c
+++ b/arch/arm/mach-msm/clock-7x30.c
@@ -2316,7 +2316,7 @@
static DEFINE_CLK_PCOM(p_grp_2d_clk, GRP_2D_CLK, CLKFLAG_SKIP_AUTO_OFF);
static DEFINE_CLK_PCOM(p_grp_2d_p_clk, GRP_2D_P_CLK, CLKFLAG_SKIP_AUTO_OFF);
static DEFINE_CLK_PCOM(p_hdmi_clk, HDMI_CLK, CLKFLAG_SKIP_AUTO_OFF);
-static DEFINE_CLK_PCOM(p_jpeg_clk, JPEG_CLK, 0);
+static DEFINE_CLK_PCOM(p_jpeg_clk, JPEG_CLK, CLKFLAG_MIN);
static DEFINE_CLK_PCOM(p_jpeg_p_clk, JPEG_P_CLK, 0);
static DEFINE_CLK_PCOM(p_lpa_codec_clk, LPA_CODEC_CLK, CLKFLAG_SKIP_AUTO_OFF);
static DEFINE_CLK_PCOM(p_lpa_core_clk, LPA_CORE_CLK, CLKFLAG_SKIP_AUTO_OFF);
diff --git a/arch/arm/mach-msm/include/mach/camera.h b/arch/arm/mach-msm/include/mach/camera.h
index 1745f26..b41398e 100644
--- a/arch/arm/mach-msm/include/mach/camera.h
+++ b/arch/arm/mach-msm/include/mach/camera.h
@@ -635,7 +635,6 @@
void msm_camio_clk_rate_set(int rate);
int msm_camio_vfe_clk_rate_set(int rate);
void msm_camio_clk_rate_set_2(struct clk *clk, int rate);
-void msm_camio_clk_set_min_rate(struct clk *clk, int rate);
void msm_camio_clk_axi_rate_set(int rate);
void msm_disable_io_gpio_clk(struct platform_device *);
diff --git a/drivers/media/video/msm/msm_io_7x27a.c b/drivers/media/video/msm/msm_io_7x27a.c
index b1f9532..7a83721 100644
--- a/drivers/media/video/msm/msm_io_7x27a.c
+++ b/drivers/media/video/msm/msm_io_7x27a.c
@@ -288,11 +288,6 @@
clk_set_rate(clk, rate);
}
-void msm_camio_clk_set_min_rate(struct clk *clk, int rate)
-{
- clk_set_min_rate(clk, rate);
-}
-
static irqreturn_t msm_io_csi_irq(int irq_num, void *data)
{
uint32_t irq;
diff --git a/drivers/media/video/msm/msm_io_8960.c b/drivers/media/video/msm/msm_io_8960.c
index 1293c7b..ec18a93 100644
--- a/drivers/media/video/msm/msm_io_8960.c
+++ b/drivers/media/video/msm/msm_io_8960.c
@@ -346,7 +346,7 @@
case CAMIO_JPEG_CLK:
camio_jpeg_clk =
clk = clk_get(NULL, "ijpeg_clk");
- clk_set_min_rate(clk, 144000000);
+ clk_set_rate(clk, 153600000);
break;
case CAMIO_JPEG_PCLK:
@@ -414,11 +414,6 @@
clk_set_rate(clk, rate);
}
-void msm_camio_clk_set_min_rate(struct clk *clk, int rate)
-{
- clk_set_min_rate(clk, rate);
-}
-
int msm_camio_jpeg_clk_disable(void)
{
int rc = 0;
diff --git a/drivers/media/video/msm/msm_io_8x60.c b/drivers/media/video/msm/msm_io_8x60.c
index 2262aa4..9620d8b 100644
--- a/drivers/media/video/msm/msm_io_8x60.c
+++ b/drivers/media/video/msm/msm_io_8x60.c
@@ -344,7 +344,8 @@
case CAMIO_VPE_CLK:
camio_vpe_clk =
clk = clk_get(NULL, "vpe_clk");
- msm_camio_clk_set_min_rate(camio_vpe_clk, vpe_clk_rate);
+ vpe_clk_rate = clk_round_rate(camio_vpe_clk, vpe_clk_rate);
+ clk_set_rate(camio_vpe_clk, vpe_clk_rate);
break;
case CAMIO_VPE_PCLK:
@@ -457,11 +458,6 @@
clk_set_rate(clk, rate);
}
-void msm_camio_clk_set_min_rate(struct clk *clk, int rate)
-{
- clk_set_min_rate(clk, rate);
-}
-
static irqreturn_t msm_io_csi_irq(int irq_num, void *data)
{
uint32_t irq;
diff --git a/drivers/media/video/msm/msm_io_vfe31.c b/drivers/media/video/msm/msm_io_vfe31.c
index f770ce9..91dbc8f 100644
--- a/drivers/media/video/msm/msm_io_vfe31.c
+++ b/drivers/media/video/msm/msm_io_vfe31.c
@@ -117,6 +117,7 @@
static struct resource *camifpadio, *csiio;
void __iomem *camifpadbase, *csibase;
static uint32_t vpe_clk_rate;
+static uint32_t jpeg_clk_rate;
static struct regulator_bulk_data regs[] = {
{ .supply = "gp2", .min_uV = 2600000, .max_uV = 2600000 },
@@ -317,7 +318,8 @@
case CAMIO_JPEG_CLK:
camio_jpeg_clk =
clk = clk_get(NULL, "jpeg_clk");
- clk_set_min_rate(clk, 144000000);
+ jpeg_clk_rate = clk_round_rate(clk, 144000000);
+ clk_set_rate(clk, jpeg_clk_rate);
break;
case CAMIO_JPEG_PCLK:
camio_jpeg_pclk =
@@ -326,7 +328,8 @@
case CAMIO_VPE_CLK:
camio_vpe_clk =
clk = clk_get(NULL, "vpe_clk");
- msm_camio_clk_set_min_rate(clk, vpe_clk_rate);
+ vpe_clk_rate = clk_round_rate(clk, vpe_clk_rate);
+ clk_set_rate(clk, vpe_clk_rate);
break;
default:
break;
@@ -420,11 +423,6 @@
clk_set_rate(clk, rate);
}
-void msm_camio_clk_set_min_rate(struct clk *clk, int rate)
-{
- clk_set_min_rate(clk, rate);
-}
-
static irqreturn_t msm_io_csi_irq(int irq_num, void *data)
{
uint32_t irq;