mirror of
https://github.com/AuxXxilium/linux_dsm_epyc7002.git
synced 2024-11-30 13:36:45 +07:00
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;
|
||||
}
|
||||
|
||||
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 */
|
||||
|
||||
static struct clk s3c2440_clk_cam = {
|
||||
@ -99,6 +112,7 @@ static struct clk s3c2440_clk_cam_upll = {
|
||||
.name = "camif-upll",
|
||||
.ops = &(struct clk_ops) {
|
||||
.set_rate = s3c2440_camif_upll_setrate,
|
||||
.get_rate = s3c2440_camif_upll_getrate,
|
||||
.round_rate = s3c2440_camif_upll_round,
|
||||
},
|
||||
};
|
||||
|
Loading…
Reference in New Issue
Block a user