slot = devm_kzalloc(dev, sizeof(*slot), GFP_KERNEL); if (!slot) return -ENOMEM;
ret = of_regulator_bulk_get_all(dev, dev_of_node(dev),
&slot->supplies); if (ret < 0) {
dev_err_probe(dev, ret, "Failed to get slot regulators\n"); return ret;
}
slot->num_supplies = ret;
ret = regulator_bulk_enable(slot->num_supplies, slot->supplies); if (ret < 0) {
dev_err_probe(dev, ret, "Failed to enable slot regulators\n");
regulator_bulk_free(slot->num_supplies, slot->supplies); return ret;
}
ret = devm_add_action_or_reset(dev, devm_pci_pwrctrl_slot_power_off,
slot); if (ret) return ret;
clk = devm_clk_get_optional_enabled(dev, NULL); if (IS_ERR(clk)) { return dev_err_probe(dev, PTR_ERR(clk), "Failed to enable slot clock\n");
}
pci_pwrctrl_init(&slot->ctx, dev);
ret = devm_pci_pwrctrl_device_set_ready(dev, &slot->ctx); if (ret) return dev_err_probe(dev, ret, "Failed to register pwrctrl driver\n");
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.