forked from luck/tmp_suning_uos_patched
[ARM] 3359/1: S3C24XX - add support for clk_set_rate
Patch from Ben Dooks Add support for clk_set_rate and clk_round_rate to the s3c2410 clock implementation Signed-off-by: Ben Dooks <ben-linux@fluff.org> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
This commit is contained in:
parent
d2a02b93cf
commit
6e8908edd5
@ -180,12 +180,24 @@ unsigned long clk_get_rate(struct clk *clk)
|
||||
|
||||
long clk_round_rate(struct clk *clk, unsigned long rate)
|
||||
{
|
||||
if (!IS_ERR(clk) && clk->round_rate)
|
||||
return (clk->round_rate)(clk, rate);
|
||||
|
||||
return rate;
|
||||
}
|
||||
|
||||
int clk_set_rate(struct clk *clk, unsigned long rate)
|
||||
{
|
||||
return -EINVAL;
|
||||
int ret;
|
||||
|
||||
if (IS_ERR(clk))
|
||||
return -EINVAL;
|
||||
|
||||
mutex_lock(&clocks_mutex);
|
||||
ret = (clk->set_rate)(clk, rate);
|
||||
mutex_unlock(&clocks_mutex);
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
||||
struct clk *clk_get_parent(struct clk *clk)
|
||||
|
@ -21,6 +21,8 @@ struct clk {
|
||||
unsigned long ctrlbit;
|
||||
|
||||
int (*enable)(struct clk *, int enable);
|
||||
int (*set_rate)(struct clk *c, unsigned long rate);
|
||||
unsigned long (*round_rate)(struct clk *c, unsigned long rate);
|
||||
int (*set_parent)(struct clk *c, struct clk *parent);
|
||||
};
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user