#include <linux/bits.h>
#include <linux/clk/renesas.h>
#include <linux/delay.h>
#include <linux/err.h>
#include <linux/io.h>
#include <linux/iopoll.h>
#include <linux/kernel.h>
#include <linux/mm.h>
#include <linux/of_address.h>
#include <linux/pm_domain.h>
#include <linux/slab.h>
#include <linux/spinlock.h>
#include <linux/types.h>
#include "rcar-gen4-sysc.h"
#define SYSCSR …
#define SYSCPONSR(x) …
#define SYSCPOFFSR(x) …
#define SYSCISCR(x) …
#define SYSCIER(x) …
#define SYSCIMR(x) …
#define PDRSR(n) …
#define PDRONCR(n) …
#define PDROFFCR(n) …
#define PDRESR(n) …
#define PWRON_PWROFF …
#define PDRESR_ERR …
#define PDRSR_OFF …
#define PDRSR_ON …
#define PDRSR_OFF_STATE …
#define PDRSR_ON_STATE …
#define SYSCSR_BUSY …
#define SYSCSR_TIMEOUT …
#define SYSCSR_DELAY_US …
#define PDRESR_RETRIES …
#define PDRESR_DELAY_US …
#define SYSCISCR_TIMEOUT …
#define SYSCISCR_DELAY_US …
#define RCAR_GEN4_PD_ALWAYS_ON …
#define NUM_DOMAINS_EACH_REG …
static void __iomem *rcar_gen4_sysc_base;
static DEFINE_SPINLOCK(rcar_gen4_sysc_lock);
static int rcar_gen4_sysc_pwr_on_off(u8 pdr, bool on)
{ … }
static int clear_irq_flags(unsigned int reg_idx, unsigned int isr_mask)
{ … }
static int rcar_gen4_sysc_power(u8 pdr, bool on)
{ … }
static bool rcar_gen4_sysc_power_is_off(u8 pdr)
{ … }
struct rcar_gen4_sysc_pd { … };
static inline struct rcar_gen4_sysc_pd *to_rcar_gen4_pd(struct generic_pm_domain *d)
{ … }
static int rcar_gen4_sysc_pd_power_off(struct generic_pm_domain *genpd)
{ … }
static int rcar_gen4_sysc_pd_power_on(struct generic_pm_domain *genpd)
{ … }
static int __init rcar_gen4_sysc_pd_setup(struct rcar_gen4_sysc_pd *pd)
{ … }
static const struct of_device_id rcar_gen4_sysc_matches[] __initconst = …;
struct rcar_gen4_pm_domains { … };
static struct genpd_onecell_data *rcar_gen4_sysc_onecell_data;
static int __init rcar_gen4_sysc_pd_init(void)
{ … }
early_initcall(rcar_gen4_sysc_pd_init);