This series ensures that the current operating frequency of a DPLL pin
is always reported in its supported frequencies list.
Problem:
When a ZL3073x DPLL pin is registered, its supported frequencies are
read from the firmware node's "supported-frequencies-hz" property.
However, if the firmware node is missing, or doesn't include the
current operating frequency, the pin reports a frequency that isn't
in its supported list. This inconsistency can confuse userspace tools
that expect the current frequency to be among the supported values.
Solution:
Always include the current pin frequency as the first entry in the
supported frequencies list, followed by any additional frequencies
from the firmware node (with duplicates filtered out).
Patch 1 refactors the output pin frequency calculation into a reusable
helper function zl3073x_dev_output_pin_freq_get(), which mirrors the
existing zl3073x_dev_ref_freq_get() for input pins.
Patch 2 modifies zl3073x_pin_props_get() to obtain the current
frequency early and place it at index 0 of the supported frequencies
array, ensuring it is always present regardless of firmware node
contents.
Ivan Vecera (2):
dpll: zl3073x: Add output pin frequency helper
dpll: zl3073x: Include current frequency in supported frequencies list
drivers/dpll/zl3073x/core.h | 30 ++++++++++++++++++++++++++++
drivers/dpll/zl3073x/dpll.c | 39 +------------------------------------
drivers/dpll/zl3073x/out.h | 17 ++++++++++++++++
drivers/dpll/zl3073x/prop.c | 32 +++++++++++++++++++-----------
4 files changed, 69 insertions(+), 49 deletions(-)
--
2.52.0