Lines Matching full:slot
27 struct slot_pwrctrl *slot = container_of(pwrctrl, in slot_pwrctrl_power_on() local
31 if (slot->pwrseq) { in slot_pwrctrl_power_on()
32 pwrseq_enable(slot->pwrseq); in slot_pwrctrl_power_on()
36 ret = regulator_bulk_enable(slot->num_supplies, slot->supplies); in slot_pwrctrl_power_on()
38 dev_err(slot->pwrctrl.dev, "Failed to enable slot regulators\n"); in slot_pwrctrl_power_on()
42 return clk_prepare_enable(slot->clk); in slot_pwrctrl_power_on()
47 struct slot_pwrctrl *slot = container_of(pwrctrl, in slot_pwrctrl_power_off() local
50 if (slot->pwrseq) { in slot_pwrctrl_power_off()
51 pwrseq_disable(slot->pwrseq); in slot_pwrctrl_power_off()
55 regulator_bulk_disable(slot->num_supplies, slot->supplies); in slot_pwrctrl_power_off()
56 clk_disable_unprepare(slot->clk); in slot_pwrctrl_power_off()
63 struct slot_pwrctrl *slot = data; in devm_slot_pwrctrl_release() local
65 regulator_bulk_free(slot->num_supplies, slot->supplies); in devm_slot_pwrctrl_release()
70 struct slot_pwrctrl *slot; in slot_pwrctrl_probe() local
74 slot = devm_kzalloc(dev, sizeof(*slot), GFP_KERNEL); in slot_pwrctrl_probe()
75 if (!slot) in slot_pwrctrl_probe()
79 slot->pwrseq = devm_pwrseq_get(dev, "pcie"); in slot_pwrctrl_probe()
80 if (IS_ERR(slot->pwrseq)) in slot_pwrctrl_probe()
81 return dev_err_probe(dev, PTR_ERR(slot->pwrseq), in slot_pwrctrl_probe()
88 &slot->supplies); in slot_pwrctrl_probe()
90 return dev_err_probe(dev, ret, "Failed to get slot regulators\n"); in slot_pwrctrl_probe()
92 slot->num_supplies = ret; in slot_pwrctrl_probe()
94 slot->clk = devm_clk_get_optional(dev, NULL); in slot_pwrctrl_probe()
95 if (IS_ERR(slot->clk)) in slot_pwrctrl_probe()
96 return dev_err_probe(dev, PTR_ERR(slot->clk), in slot_pwrctrl_probe()
97 "Failed to enable slot clock\n"); in slot_pwrctrl_probe()
100 slot->pwrctrl.power_on = slot_pwrctrl_power_on; in slot_pwrctrl_probe()
101 slot->pwrctrl.power_off = slot_pwrctrl_power_off; in slot_pwrctrl_probe()
103 ret = devm_add_action_or_reset(dev, devm_slot_pwrctrl_release, slot); in slot_pwrctrl_probe()
107 pci_pwrctrl_init(&slot->pwrctrl, dev); in slot_pwrctrl_probe()
109 ret = devm_pci_pwrctrl_device_set_ready(dev, &slot->pwrctrl); in slot_pwrctrl_probe()
130 .name = "pci-pwrctrl-slot",