diff options
Diffstat (limited to 'arch/arm/mach-omap2/dvfs.h')
-rw-r--r-- | arch/arm/mach-omap2/dvfs.h | 47 |
1 files changed, 47 insertions, 0 deletions
diff --git a/arch/arm/mach-omap2/dvfs.h b/arch/arm/mach-omap2/dvfs.h new file mode 100644 index 0000000..b0a0cd6 --- /dev/null +++ b/arch/arm/mach-omap2/dvfs.h @@ -0,0 +1,47 @@ +/* + * OMAP3/OMAP4 DVFS Management Routines + * + * Author: Vishwanath BS <vishwanath.bs@ti.com> + * + * Copyright (C) 2011 Texas Instruments, Inc. + * Vishwanath BS <vishwanath.bs@ti.com> + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License version 2 as + * published by the Free Software Foundation. + */ + +#ifndef __ARCH_ARM_MACH_OMAP2_DVFS_H +#define __ARCH_ARM_MACH_OMAP2_DVFS_H +#include <plat/omap_hwmod.h> +#include "voltage.h" + +#ifdef CONFIG_PM +#include <linux/mutex.h> +extern struct mutex omap_dvfs_lock; +int omap_dvfs_register_device(struct device *dev, char *voltdm_name, + char *clk_name); +int omap_device_scale(struct device *req_dev, struct device *target_dev, + unsigned long rate); + +static inline bool omap_dvfs_is_any_dev_scaling(void) +{ + return mutex_is_locked(&omap_dvfs_lock); +} +#else +static inline int omap_dvfs_register_device(struct device *dev, + char *voltdm_name, char *clk_name) +{ + return -EINVAL; +} +static inline int omap_device_scale(struct device *req_dev, + struct device *target_dev, unsigned long rate) +{ + return -EINVAL; +} +static inline bool omap_dvfs_is_any_dev_scaling(void) +{ + return false; +} +#endif +#endif |