]> git.baikalelectronics.ru Git - kernel.git/commit
clk: socfpga: Don't have get_parent for single parent ops
authorStephen Boyd <sboyd@kernel.org>
Tue, 4 Dec 2018 19:14:02 +0000 (11:14 -0800)
committerStephen Boyd <sboyd@kernel.org>
Thu, 24 Jan 2019 19:36:25 +0000 (11:36 -0800)
commit4bbbff99cb26f0e253439e76686ba37db636858e
treef84a9faa9a49535a76188591580741d4860ce9f9
parentf630c74755763954e46ada22cb887770a3c4fdd4
clk: socfpga: Don't have get_parent for single parent ops

This driver creates a gate clk with the possibility to have multiple
parents. That can cause problems if the common clk framework tries to
call the get_parent() op and gets back a number that's larger than the
number of parents the clk says it supports in
clk_init_data::num_parents. Let's duplicate the clk_ops structure each
time this function is called and drop the get/set parent ops when there
is only one parent. This allows the framework to consider a number
larger than clk_init_data::num_parents as an error condition of the
get_parent() clk op, clearing the way for proper code.

Cc: Jerome Brunet <jbrunet@baylibre.com>
Cc: Masahiro Yamada <yamada.masahiro@socionext.com>
Cc: Dinh Nguyen <dinguyen@opensource.altera.com>
Tested-by: Dinh Nguyen <dinguyen@kernel.org>
Signed-off-by: Stephen Boyd <sboyd@kernel.org>
drivers/clk/socfpga/clk-gate.c