28 Oct, 2016

1 commit

  • The Exynos PMU node is an interrupt, clock and PMU (Power Management Unit)
    controller, and these functionalities are supported by different drivers
    that matches the same compatible strings.

    Since commit 989eafd0b609 ("clk: core: Avoid double initialization of
    clocks") the OF core flags clock controllers registered with the
    CLK_OF_DECLARE() macro as OF_POPULATED, so platform devices with the same
    compatible string will not be registered.

    This prevents the PMU platform device to be created, so the Exynos PMU
    driver is never probed. This breaks (among other things) Suspend-to-RAM.

    Fix this by changing CLKOUT driver initialization method to
    CLK_OF_DECLARE_DRIVER(), which doesn't clear the OF_POPULATED flag, so
    later a platform device is created and the Exynos PMU platform driver
    can be be probed properly.

    Fixes: 989eafd0b609 ("clk: core: Avoid double initialization of clocks")
    Signed-off-by: Marek Szyprowski
    Reviewed-by: Javier Martinez Canillas
    Reviewed-by: Chanwoo Choi
    Signed-off-by: Stephen Boyd

    Marek Szyprowski
     

18 Oct, 2016

1 commit

  • If the driver is built as a module, autoload won't work because the module
    alias information is not filled. So user-space can't match the registered
    device with the corresponding module.

    Export the module alias information using the MODULE_DEVICE_TABLE() macro.

    Before this patch:

    $ modinfo drivers/clk/samsung/clk-exynos-audss.ko | grep alias
    alias: platform:exynos-audss-clk

    After this patch:

    $ modinfo drivers/clk/samsung/clk-exynos-audss.ko | grep alias
    alias: platform:exynos-audss-clk
    alias: of:N*T*Csamsung,exynos5420-audss-clockC*
    alias: of:N*T*Csamsung,exynos5420-audss-clock
    alias: of:N*T*Csamsung,exynos5410-audss-clockC*
    alias: of:N*T*Csamsung,exynos5410-audss-clock
    alias: of:N*T*Csamsung,exynos5250-audss-clockC*
    alias: of:N*T*Csamsung,exynos5250-audss-clock
    alias: of:N*T*Csamsung,exynos4210-audss-clockC*
    alias: of:N*T*Csamsung,exynos4210-audss-clock

    Fixes: 4d252fd5719b ("clk: samsung: Allow modular build of the Audio Subsystem CLKCON driver")
    Signed-off-by: Javier Martinez Canillas
    Reviewed-by: Krzysztof Kozlowski
    Tested-by: Krzysztof Kozlowski
    Signed-off-by: Stephen Boyd

    Javier Martinez Canillas
     

09 Sep, 2016

9 commits


14 Jul, 2016

3 commits

  • Any clock dependencies can be properly handled with deferred probing
    so we can remove core_initcall and switch to a proper loadable platform
    driver module.
    This change has been tested on Exynos4412 Odroid U3 based board.

    Signed-off-by: Sylwester Nawrocki
    Reviewed-by: Krzysztof Kozlowski
    Signed-off-by: Michael Turquette
    Link: lkml.kernel.org/r/1467987300-31450-1-git-send-email-s.nawrocki@samsung.com

    Sylwester Nawrocki
     
  • The Kconfig currently controlling compilation of this code is:

    arch/arm/mach-s5pv210/Kconfig:config ARCH_S5PV210
    arch/arm/mach-s5pv210/Kconfig: bool "Samsung S5PV210/S5PC110" if ARCH_MULTI_V7

    ...meaning that it currently is not being built as a module by anyone.

    Lets remove the modular code that is essentially orphaned, so that
    when reading the driver there is no doubt it is builtin-only.

    We explicitly disallow a driver unbind, since that doesn't have a
    sensible use case anyway, and it allows us to drop the ".remove"
    code for non-modular drivers.

    Since this code is already not using module_init, case, the init
    ordering remains unchanged with this commit.

    We also delete the MODULE_LICENSE tags etc. since all that information
    is already contained at the top of the file in the comments.

    Cc: Tomasz Figa
    Cc: Stephen Boyd
    Cc: linux-samsung-soc@vger.kernel.org
    Cc: linux-clk@vger.kernel.org
    Signed-off-by: Paul Gortmaker
    Acked-by: Sylwester Nawrocki
    Signed-off-by: Michael Turquette
    Link: lkml.kernel.org/r/20160704211220.5685-8-paul.gortmaker@windriver.com

    Paul Gortmaker
     
  • Because the Exynos5433 SPI driver supports the ioclk handling and
    the following patch:

    http://marc.info/?l=linux-kernel&m=146787645626318&w=2

    fixes a synchronus abort issue, none of the SPI clocks require
    any critical handling: remove, then, the CLK_IGNORE_UNUSED flag
    for the SPI related clocks.

    Signed-off-by: Andi Shyti
    Reviewed-by: Krzysztof Kozlowski
    Acked-by: Sylwester Nawrocki
    Signed-off-by: Michael Turquette
    Link: lkml.kernel.org/r/1468317736-18841-8-git-send-email-andi.shyti@samsung.com

    Andi Shyti
     

10 Jun, 2016

5 commits


02 Jun, 2016

21 commits