#include <linux/acpi.h>
#include <linux/bits.h>
#include <linux/init.h>
#include <linux/mutex.h>
#include <linux/platform_profile.h>
#include <linux/sysfs.h>
static struct platform_profile_handler *cur_profile;
static DEFINE_MUTEX(profile_lock);
static const char * const profile_names[] = …;
static_assert(…);
static ssize_t platform_profile_choices_show(struct device *dev,
struct device_attribute *attr,
char *buf)
{ … }
static ssize_t platform_profile_show(struct device *dev,
struct device_attribute *attr,
char *buf)
{ … }
static ssize_t platform_profile_store(struct device *dev,
struct device_attribute *attr,
const char *buf, size_t count)
{ … }
static DEVICE_ATTR_RO(platform_profile_choices);
static DEVICE_ATTR_RW(platform_profile);
static struct attribute *platform_profile_attrs[] = …;
static const struct attribute_group platform_profile_group = …;
void platform_profile_notify(void)
{ … }
EXPORT_SYMBOL_GPL(…);
int platform_profile_cycle(void)
{ … }
EXPORT_SYMBOL_GPL(…);
int platform_profile_register(struct platform_profile_handler *pprof)
{ … }
EXPORT_SYMBOL_GPL(…);
int platform_profile_remove(void)
{ … }
EXPORT_SYMBOL_GPL(…);
MODULE_AUTHOR(…) …;
MODULE_DESCRIPTION(…) …;
MODULE_LICENSE(…) …;