Callbacks are serialized by the DPLL core domain lock instead of dpll_lock. All channels of a chip belong to one domain, so what the comments rely on still holds.
Signed-off-by: Ivan Vecera <[email protected]> --- drivers/dpll/zl3073x/dpll.c | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/drivers/dpll/zl3073x/dpll.c b/drivers/dpll/zl3073x/dpll.c index 1cdadb8e46fb2d..6e5e2bb41f55d6 100644 --- a/drivers/dpll/zl3073x/dpll.c +++ b/drivers/dpll/zl3073x/dpll.c @@ -349,9 +349,10 @@ zl3073x_dpll_input_pin_ref_sync_set(const struct dpll_pin *dpll_pin, if (rc) goto unlock; - /* All code paths accessing per-channel reference priorities are - * serialized by the subsystem dpll_lock, so it is safe to release - * our lock here before iterating over the other channels. + /* All callbacks accessing per-channel reference priorities are + * serialized by the DPLL core domain lock shared by all channels of + * the chip, so it is safe to release our lock here before iterating + * over the other channels. */ mutex_unlock(&zldpll->lock); @@ -2401,7 +2402,7 @@ zl3073x_dpll_changes_check(struct zl3073x_dpll *zldpll) mutex_unlock(&zldpll->lock); /* Send notifications outside the lock to avoid ABBA deadlock - * with dpll_lock taken by notification functions. + * with the DPLL core domain lock taken by notification functions. */ if (dev_changed) dpll_device_change_ntf(zldpll->dpll_dev); -- 2.56.0
