#include <linux/io.h>
#include <linux/err.h>
#include <linux/platform_device.h>
#include <linux/slab.h>
#include <linux/pm_domain.h>
#include <linux/delay.h>
#include <linux/of.h>
#include <linux/of_address.h>
#include <linux/pm_runtime.h>
struct exynos_pm_domain_config { … };
struct exynos_pm_domain { … };
static int exynos_pd_power(struct generic_pm_domain *domain, bool power_on)
{ … }
static int exynos_pd_power_on(struct generic_pm_domain *domain)
{ … }
static int exynos_pd_power_off(struct generic_pm_domain *domain)
{ … }
static const struct exynos_pm_domain_config exynos4210_cfg = …;
static const struct exynos_pm_domain_config exynos5433_cfg = …;
static const struct of_device_id exynos_pm_domain_of_match[] = …;
static const char *exynos_get_domain_name(struct device_node *node)
{ … }
static int exynos_pd_probe(struct platform_device *pdev)
{ … }
static struct platform_driver exynos_pd_driver = …;
static __init int exynos4_pm_init_power_domain(void)
{ … }
core_initcall(exynos4_pm_init_power_domain);