On Mon, Jan 13, 2025 at 02:07:45PM +0100, Kory Maincent wrote: > + rdev->pw_available_mW -= pw_req; ... > + if (!of_property_read_u32(np, "regulator-power-budget-milliwatt", &pval)) > + constraints->pw_budget_mW = pval; > + This is only tracking the currently free power budget which both restricts what we can do for tracking things like mismatched or missing frees and means there's less information for diagnostic tools. I'd prefer to keep track of how much is in use and check against the budget when trying to increase it, allowing us to check for releasing more budget than was requested. There's also an interaction with hardware with support for enforcing power limits, either via alarms or by actually limiting. Current limiting/warning support is reasonably common, we should probably be joining it up with the power limiting. It's fortunately not used dynamically by anything at the minute so we could just remove that API and replace it by a power one, given that nobody uses it and there do appear to be users for the power based API. We do have some things that set current limits in constraints IIRC. We probably also need something explicit about how we handle baseline load from things like passive components, the assumption probably needs to be that it's negligable.
Attachment:
signature.asc
Description: PGP signature