
Add the clock ops for such as spi0_clk, which is the real clock provider, instead of periph32ck, which only recursively bind its children as clk devices. Also update the clocks called in the drivers.
Changes in v3: - Remove the unneeded wrapper functions. - Fix typo, Invaild -> Invalid. - Add Acked-by tag. - Fix typo, unneccessary -> unnecessary. - Add Reviewed-by tag.
Changes in v2: - Add Acked-by tag. - For the periph32ck, periph64ck, gck, systemck nodes, they aren't the clock providers, are to house various actual clock providers, use UCLASS_MISC, instead of UCLASS_CLK. - For *_of_xlate(), add argument check. - Fix the implementation of the *_get_rate(). - Use documentation-wise variables for *_clk_probe(). - Remove the duplicated code, use the common functions. - Add Acked-by tag for gpio/atmel_pio4.
Wenyou Yang (7): clk: clk-uclass: Assign clk->dev before call .of_xlate clk: at91: Improve the clock implementation gpio: atmel_pio4: Remove unnecessary clock calling i2c: at91_i2c: Remove unnecessary clock calling i2c: at91_i2c: Change error return -ENODEV to -EINVAL usb: ehci-atmel: Remove unnecessary clock calling mmc: atmel_sdhci: Remove unnecessary clock calling
drivers/clk/at91/Kconfig | 1 + drivers/clk/at91/clk-generated.c | 87 +++++++++++++++++++++++---------------- drivers/clk/at91/clk-peripheral.c | 72 ++++++++++++++++++++++---------- drivers/clk/at91/clk-system.c | 57 ++++++++++++++----------- drivers/clk/at91/pmc.c | 62 ++++++++++++++++++++++++---- drivers/clk/at91/pmc.h | 5 ++- drivers/clk/clk-uclass.c | 3 ++ drivers/gpio/atmel_pio4.c | 12 ------ drivers/i2c/at91_i2c.c | 18 +------- drivers/mmc/atmel_sdhci.c | 27 +----------- drivers/usb/host/ehci-atmel.c | 15 ------- 11 files changed, 201 insertions(+), 158 deletions(-)