Lines Matching full:pmd
39 static int bcm63xx_power_get_state(struct bcm63xx_power_dev *pmd, bool *is_on) in bcm63xx_power_get_state() argument
41 struct bcm63xx_power *power = pmd->power; in bcm63xx_power_get_state()
43 if (!pmd->mask) { in bcm63xx_power_get_state()
48 *is_on = !(__raw_readl(power->base) & pmd->mask); in bcm63xx_power_get_state()
53 static int bcm63xx_power_set_state(struct bcm63xx_power_dev *pmd, bool on) in bcm63xx_power_set_state() argument
55 struct bcm63xx_power *power = pmd->power; in bcm63xx_power_set_state()
59 if (!pmd->mask) in bcm63xx_power_set_state()
65 val &= ~pmd->mask; in bcm63xx_power_set_state()
67 val |= pmd->mask; in bcm63xx_power_set_state()
76 struct bcm63xx_power_dev *pmd = container_of(genpd, in bcm63xx_power_on() local
79 return bcm63xx_power_set_state(pmd, true); in bcm63xx_power_on()
84 struct bcm63xx_power_dev *pmd = container_of(genpd, in bcm63xx_power_off() local
87 return bcm63xx_power_set_state(pmd, false); in bcm63xx_power_off()
140 struct bcm63xx_power_dev *pmd = &power->dev[ndom]; in bcm63xx_power_probe() local
143 pmd->power = power; in bcm63xx_power_probe()
144 pmd->mask = BIT(entry->bit); in bcm63xx_power_probe()
145 pmd->genpd.name = entry->name; in bcm63xx_power_probe()
146 pmd->genpd.flags = entry->flags; in bcm63xx_power_probe()
148 ret = bcm63xx_power_get_state(pmd, &is_on); in bcm63xx_power_probe()
151 pmd->genpd.name); in bcm63xx_power_probe()
153 pmd->genpd.power_on = bcm63xx_power_on; in bcm63xx_power_probe()
154 pmd->genpd.power_off = bcm63xx_power_off; in bcm63xx_power_probe()
156 pm_genpd_init(&pmd->genpd, NULL, !is_on); in bcm63xx_power_probe()
157 power->genpd[entry->bit] = &pmd->genpd; in bcm63xx_power_probe()