For some reason, I understood the description of .index to mean an index into the list of clocks defined by the provider itself. This is not the case, and it caused me much confusion. Let's be a bit more explicit for those who read the documentation after me. Signed-off-by: Jonathan Neuschäfer <j.neuschaefer@xxxxxxx> --- include/linux/clk-provider.h | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/include/linux/clk-provider.h b/include/linux/clk-provider.h index 5d537d0776a11f..88bdada390c772 100644 --- a/include/linux/clk-provider.h +++ b/include/linux/clk-provider.h @@ -273,7 +273,9 @@ struct clk_ops { * @hw: parent clk_hw pointer (used for clk providers with internal clks) * @fw_name: parent name local to provider registering clk * @name: globally unique parent name (used as a fallback) - * @index: parent index local to provider registering clk (if @fw_name absent) + * @index: parent index local to provider registering clk (if @fw_name absent). + * Note that this is not an index into the provider's own clocks but + * into its list of parents! */ struct clk_parent_data { const struct clk_hw *hw; -- 2.43.0