ARM: S3C24XX: Add .get_rate callback for "camif-upll" clock
Add missing get_rate callback for the "camif-upll" clock, so frequency of this clock is properly reported with clk_get_rate(). Signed-off-by: Sylwester Nawrocki <sylvester.nawrocki@gmail.com> Signed-off-by: Kukjin Kim <kgene.kim@samsung.com>
This commit is contained in:
parent
859a09e671
commit
98a7069ba0
@ -87,6 +87,19 @@ static int s3c2440_camif_upll_setrate(struct clk *clk, unsigned long rate)
|
|||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static unsigned long s3c2440_camif_upll_getrate(struct clk *clk)
|
||||||
|
{
|
||||||
|
unsigned long parent_rate = clk_get_rate(clk->parent);
|
||||||
|
unsigned long camdivn = __raw_readl(S3C2440_CAMDIVN);
|
||||||
|
|
||||||
|
if (!(camdivn & S3C2440_CAMDIVN_CAMCLK_SEL))
|
||||||
|
return parent_rate;
|
||||||
|
|
||||||
|
camdivn &= S3C2440_CAMDIVN_CAMCLK_MASK;
|
||||||
|
|
||||||
|
return parent_rate / (camdivn + 1) / 2;
|
||||||
|
}
|
||||||
|
|
||||||
/* Extra S3C2440 clocks */
|
/* Extra S3C2440 clocks */
|
||||||
|
|
||||||
static struct clk s3c2440_clk_cam = {
|
static struct clk s3c2440_clk_cam = {
|
||||||
@ -99,6 +112,7 @@ static struct clk s3c2440_clk_cam_upll = {
|
|||||||
.name = "camif-upll",
|
.name = "camif-upll",
|
||||||
.ops = &(struct clk_ops) {
|
.ops = &(struct clk_ops) {
|
||||||
.set_rate = s3c2440_camif_upll_setrate,
|
.set_rate = s3c2440_camif_upll_setrate,
|
||||||
|
.get_rate = s3c2440_camif_upll_getrate,
|
||||||
.round_rate = s3c2440_camif_upll_round,
|
.round_rate = s3c2440_camif_upll_round,
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
|
Loading…
x
Reference in New Issue
Block a user