diff options
-rw-r--r-- | arch/arm/mach-omap2/clock.c | 38 | ||||
-rw-r--r-- | arch/arm/mach-omap2/clock.h | 2 |
2 files changed, 40 insertions, 0 deletions
diff --git a/arch/arm/mach-omap2/clock.c b/arch/arm/mach-omap2/clock.c index 0c38ca96c840..c7c5d31e9082 100644 --- a/arch/arm/mach-omap2/clock.c +++ b/arch/arm/mach-omap2/clock.c | |||
@@ -543,6 +543,44 @@ int omap2_clk_disable_autoidle_all(void) | |||
543 | } | 543 | } |
544 | 544 | ||
545 | /** | 545 | /** |
546 | * omap2_clk_deny_idle - disable autoidle on an OMAP clock | ||
547 | * @clk: struct clk * to disable autoidle for | ||
548 | * | ||
549 | * Disable autoidle on an OMAP clock. | ||
550 | */ | ||
551 | int omap2_clk_deny_idle(struct clk *clk) | ||
552 | { | ||
553 | struct clk_hw_omap *c; | ||
554 | |||
555 | if (__clk_get_flags(clk) & CLK_IS_BASIC) | ||
556 | return -EINVAL; | ||
557 | |||
558 | c = to_clk_hw_omap(__clk_get_hw(clk)); | ||
559 | if (c->ops && c->ops->deny_idle) | ||
560 | c->ops->deny_idle(c); | ||
561 | return 0; | ||
562 | } | ||
563 | |||
564 | /** | ||
565 | * omap2_clk_allow_idle - enable autoidle on an OMAP clock | ||
566 | * @clk: struct clk * to enable autoidle for | ||
567 | * | ||
568 | * Enable autoidle on an OMAP clock. | ||
569 | */ | ||
570 | int omap2_clk_allow_idle(struct clk *clk) | ||
571 | { | ||
572 | struct clk_hw_omap *c; | ||
573 | |||
574 | if (__clk_get_flags(clk) & CLK_IS_BASIC) | ||
575 | return -EINVAL; | ||
576 | |||
577 | c = to_clk_hw_omap(__clk_get_hw(clk)); | ||
578 | if (c->ops && c->ops->allow_idle) | ||
579 | c->ops->allow_idle(c); | ||
580 | return 0; | ||
581 | } | ||
582 | |||
583 | /** | ||
546 | * omap2_clk_enable_init_clocks - prepare & enable a list of clocks | 584 | * omap2_clk_enable_init_clocks - prepare & enable a list of clocks |
547 | * @clk_names: ptr to an array of strings of clock names to enable | 585 | * @clk_names: ptr to an array of strings of clock names to enable |
548 | * @num_clocks: number of clock names in @clk_names | 586 | * @num_clocks: number of clock names in @clk_names |
diff --git a/arch/arm/mach-omap2/clock.h b/arch/arm/mach-omap2/clock.h index 7aa32cd292f9..82916cc82c92 100644 --- a/arch/arm/mach-omap2/clock.h +++ b/arch/arm/mach-omap2/clock.h | |||
@@ -411,6 +411,8 @@ void omap2_clk_dflt_find_idlest(struct clk_hw_omap *clk, | |||
411 | void omap2_init_clk_hw_omap_clocks(struct clk *clk); | 411 | void omap2_init_clk_hw_omap_clocks(struct clk *clk); |
412 | int omap2_clk_enable_autoidle_all(void); | 412 | int omap2_clk_enable_autoidle_all(void); |
413 | int omap2_clk_disable_autoidle_all(void); | 413 | int omap2_clk_disable_autoidle_all(void); |
414 | int omap2_clk_allow_idle(struct clk *clk); | ||
415 | int omap2_clk_deny_idle(struct clk *clk); | ||
414 | void omap2_clk_enable_init_clocks(const char **clk_names, u8 num_clocks); | 416 | void omap2_clk_enable_init_clocks(const char **clk_names, u8 num_clocks); |
415 | int omap2_clk_switch_mpurate_at_boot(const char *mpurate_ck_name); | 417 | int omap2_clk_switch_mpurate_at_boot(const char *mpurate_ck_name); |
416 | void omap2_clk_print_new_rates(const char *hfclkin_ck_name, | 418 | void omap2_clk_print_new_rates(const char *hfclkin_ck_name, |