When clock providers are added to the device tree after of_clk_init is called
they are not added to the clock provider list. This makes that drivers such
as i2c-xiic.c fail to init, as they may depend on the unadded clock provider.

We first introduce a new function clk.c that will check if a device_node is
already a clock provider or not.

Later we add two patches, one for clk-fixed-factor and another to
clk-fixed-rate that make us of that function and also convert both drivers
to module platform driver, but keeping all the previous functionality intact.

v2: Changes proposed by: Stephen Boyd <[email protected]>
-Add error check
-CodeStyle on of_device_ide
-Use builtin_platform_driver()

Ricardo Ribalda Delgado (3):
  clk: Add new function of_clk_is_provider()
  clk: fixed-factor: Convert into a module platform driver
  clk: fixed-rate: Convert into a module platform driver

 drivers/clk/clk-fixed-factor.c | 75 +++++++++++++++++++++++++++++++++++++++---
 drivers/clk/clk-fixed-rate.c   | 71 ++++++++++++++++++++++++++++++++++++---
 drivers/clk/clk.c              | 20 +++++++++++
 include/linux/clk-provider.h   |  5 +++
 4 files changed, 162 insertions(+), 9 deletions(-)

-- 
2.8.1

Reply via email to