Lines Matching refs:pmd
38 static int bcm63xx_power_get_state(struct bcm63xx_power_dev *pmd, bool *is_on) in bcm63xx_power_get_state() argument
40 struct bcm63xx_power *power = pmd->power; in bcm63xx_power_get_state()
42 if (!pmd->mask) { in bcm63xx_power_get_state()
47 *is_on = !(__raw_readl(power->base) & pmd->mask); in bcm63xx_power_get_state()
52 static int bcm63xx_power_set_state(struct bcm63xx_power_dev *pmd, bool on) in bcm63xx_power_set_state() argument
54 struct bcm63xx_power *power = pmd->power; in bcm63xx_power_set_state()
58 if (!pmd->mask) in bcm63xx_power_set_state()
64 val &= ~pmd->mask; in bcm63xx_power_set_state()
66 val |= pmd->mask; in bcm63xx_power_set_state()
75 struct bcm63xx_power_dev *pmd = container_of(genpd, in bcm63xx_power_on() local
78 return bcm63xx_power_set_state(pmd, true); in bcm63xx_power_on()
83 struct bcm63xx_power_dev *pmd = container_of(genpd, in bcm63xx_power_off() local
86 return bcm63xx_power_set_state(pmd, false); in bcm63xx_power_off()
139 struct bcm63xx_power_dev *pmd = &power->dev[ndom]; in bcm63xx_power_probe() local
142 pmd->power = power; in bcm63xx_power_probe()
143 pmd->mask = BIT(entry->bit); in bcm63xx_power_probe()
144 pmd->genpd.name = entry->name; in bcm63xx_power_probe()
145 pmd->genpd.flags = entry->flags; in bcm63xx_power_probe()
147 ret = bcm63xx_power_get_state(pmd, &is_on); in bcm63xx_power_probe()
150 pmd->genpd.name); in bcm63xx_power_probe()
152 pmd->genpd.power_on = bcm63xx_power_on; in bcm63xx_power_probe()
153 pmd->genpd.power_off = bcm63xx_power_off; in bcm63xx_power_probe()
155 pm_genpd_init(&pmd->genpd, NULL, !is_on); in bcm63xx_power_probe()
156 power->genpd[entry->bit] = &pmd->genpd; in bcm63xx_power_probe()