mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2024-08-27 03:10:12 +00:00
![Paul Gortmaker](/assets/img/avatar_default.png)
The <linux/device.h> header includes a lot of stuff, and it in turn gets a lot of use just for the basic "struct device" which appears so often. Clean up the users as follows: 1) For those headers only needing "struct device" as a pointer in fcn args, replace the include with exactly that. 2) For headers not really using anything from device.h, simply delete the include altogether. 3) For headers relying on getting device.h implicitly before being included themselves, now explicitly include device.h 4) For files in which doing #1 or #2 uncovers an implicit dependency on some other header, fix by explicitly adding the required header(s). Any C files that were implicitly relying on device.h to be present have already been dealt with in advance. Total removals from #1 and #2: 51. Total additions coming from #3: 9. Total other implicit dependencies from #4: 7. As of 3.3-rc1, there were 110, so a net removal of 42 gives about a 38% reduction in device.h presence in include/* Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com>
126 lines
2.8 KiB
C
126 lines
2.8 KiB
C
/*
|
|
* Generic OPP Interface
|
|
*
|
|
* Copyright (C) 2009-2010 Texas Instruments Incorporated.
|
|
* Nishanth Menon
|
|
* Romit Dasgupta
|
|
* Kevin Hilman
|
|
*
|
|
* 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 __LINUX_OPP_H__
|
|
#define __LINUX_OPP_H__
|
|
|
|
#include <linux/err.h>
|
|
#include <linux/cpufreq.h>
|
|
#include <linux/notifier.h>
|
|
|
|
struct opp;
|
|
struct device;
|
|
|
|
enum opp_event {
|
|
OPP_EVENT_ADD, OPP_EVENT_ENABLE, OPP_EVENT_DISABLE,
|
|
};
|
|
|
|
#if defined(CONFIG_PM_OPP)
|
|
|
|
unsigned long opp_get_voltage(struct opp *opp);
|
|
|
|
unsigned long opp_get_freq(struct opp *opp);
|
|
|
|
int opp_get_opp_count(struct device *dev);
|
|
|
|
struct opp *opp_find_freq_exact(struct device *dev, unsigned long freq,
|
|
bool available);
|
|
|
|
struct opp *opp_find_freq_floor(struct device *dev, unsigned long *freq);
|
|
|
|
struct opp *opp_find_freq_ceil(struct device *dev, unsigned long *freq);
|
|
|
|
int opp_add(struct device *dev, unsigned long freq, unsigned long u_volt);
|
|
|
|
int opp_enable(struct device *dev, unsigned long freq);
|
|
|
|
int opp_disable(struct device *dev, unsigned long freq);
|
|
|
|
struct srcu_notifier_head *opp_get_notifier(struct device *dev);
|
|
|
|
#else
|
|
static inline unsigned long opp_get_voltage(struct opp *opp)
|
|
{
|
|
return 0;
|
|
}
|
|
|
|
static inline unsigned long opp_get_freq(struct opp *opp)
|
|
{
|
|
return 0;
|
|
}
|
|
|
|
static inline int opp_get_opp_count(struct device *dev)
|
|
{
|
|
return 0;
|
|
}
|
|
|
|
static inline struct opp *opp_find_freq_exact(struct device *dev,
|
|
unsigned long freq, bool available)
|
|
{
|
|
return ERR_PTR(-EINVAL);
|
|
}
|
|
|
|
static inline struct opp *opp_find_freq_floor(struct device *dev,
|
|
unsigned long *freq)
|
|
{
|
|
return ERR_PTR(-EINVAL);
|
|
}
|
|
|
|
static inline struct opp *opp_find_freq_ceil(struct device *dev,
|
|
unsigned long *freq)
|
|
{
|
|
return ERR_PTR(-EINVAL);
|
|
}
|
|
|
|
static inline int opp_add(struct device *dev, unsigned long freq,
|
|
unsigned long u_volt)
|
|
{
|
|
return -EINVAL;
|
|
}
|
|
|
|
static inline int opp_enable(struct device *dev, unsigned long freq)
|
|
{
|
|
return 0;
|
|
}
|
|
|
|
static inline int opp_disable(struct device *dev, unsigned long freq)
|
|
{
|
|
return 0;
|
|
}
|
|
|
|
static inline struct srcu_notifier_head *opp_get_notifier(struct device *dev)
|
|
{
|
|
return ERR_PTR(-EINVAL);
|
|
}
|
|
#endif /* CONFIG_PM_OPP */
|
|
|
|
#if defined(CONFIG_CPU_FREQ) && defined(CONFIG_PM_OPP)
|
|
int opp_init_cpufreq_table(struct device *dev,
|
|
struct cpufreq_frequency_table **table);
|
|
void opp_free_cpufreq_table(struct device *dev,
|
|
struct cpufreq_frequency_table **table);
|
|
#else
|
|
static inline int opp_init_cpufreq_table(struct device *dev,
|
|
struct cpufreq_frequency_table **table)
|
|
{
|
|
return -EINVAL;
|
|
}
|
|
|
|
static inline
|
|
void opp_free_cpufreq_table(struct device *dev,
|
|
struct cpufreq_frequency_table **table)
|
|
{
|
|
}
|
|
#endif /* CONFIG_CPU_FREQ */
|
|
|
|
#endif /* __LINUX_OPP_H__ */
|