* [PATCH 0/5] Remove asm/clkdev.h and privatize __clk{get,put}() @ 2018-01-03 1:35 Stephen Boyd 2018-01-03 1:35 ` Stephen Boyd ` (5 more replies) 0 siblings, 6 replies; 25+ messages in thread From: Stephen Boyd @ 2018-01-03 1:35 UTC (permalink / raw) To: Michael Turquette, Stephen Boyd Cc: linux-kernel, linux-clk, linux-arch, Russell King, Arnd Bergmann, Maxime Ripard, Chen-Yu Tsai These patches remove the asm-generic/clkdev.h header file and fold it into the linux/clkdev.h file. I'd like to merge this into the clk tree for the upcoming merge window, so please ack if things look good. The later patches I also want to drop the slab.h include from clkdev.h, but that will require including slab.h in various files that are relying on the implicit include in clkdev.h right now. Here's that list of files that don't include slab.h but include clkdev.h for the interested folks. arch/arm/mach-davinci/clock.h arch/arm/mach-davinci/da850.c arch/arm/mach-ep93xx/clock.c arch/arm/mach-highbank/highbank.c arch/arm/mach-imx/mach-imx53.c arch/arm/mach-imx/mach-imx6q.c arch/arm/mach-mmp/clock.h arch/arm/mach-mxs/mach-mxs.c arch/arm/mach-nspire/nspire.c arch/arm/mach-omap1/board-nokia770.c arch/arm/mach-omap1/clock.c arch/arm/mach-omap1/clock.h arch/arm/mach-omap2/clock.h arch/arm/mach-pxa/eseries.c arch/arm/mach-pxa/pxa27x.c arch/arm/mach-pxa/tosa.c arch/arm/mach-sa1100/clock.c arch/arm/mach-w90x900/clock.h arch/arm/plat-orion/common.c arch/blackfin/mach-bf609/clock.c arch/c6x/kernel/setup.c arch/c6x/platforms/pll.c arch/c6x/platforms/plldata.c arch/mips/ath79/clock.c arch/mips/bcm63xx/clk.c arch/mips/lantiq/clk.c arch/mips/lantiq/clk.h arch/mips/lantiq/falcon/sysctrl.c arch/mips/lantiq/xway/sysctrl.c arch/mips/ralink/clk.c arch/powerpc/platforms/512x/clock-commonclk.c arch/sh/boards/mach-highlander/setup.c arch/sh/boards/mach-sdk7786/setup.c arch/sh/kernel/cpu/sh2a/clock-sh7264.c arch/sh/kernel/cpu/sh2a/clock-sh7269.c arch/sh/kernel/cpu/sh4/clock-sh4-202.c arch/sh/kernel/cpu/sh4a/clock-sh7343.c arch/sh/kernel/cpu/sh4a/clock-sh7366.c arch/sh/kernel/cpu/sh4a/clock-sh7722.c arch/sh/kernel/cpu/sh4a/clock-sh7723.c arch/sh/kernel/cpu/sh4a/clock-sh7724.c arch/sh/kernel/cpu/sh4a/clock-sh7734.c arch/sh/kernel/cpu/sh4a/clock-sh7757.c arch/sh/kernel/cpu/sh4a/clock-sh7763.c arch/sh/kernel/cpu/sh4a/clock-sh7780.c arch/sh/kernel/cpu/sh4a/clock-sh7785.c arch/sh/kernel/cpu/sh4a/clock-sh7786.c arch/sh/kernel/cpu/sh4a/clock-shx3.c drivers/acpi/acpi_amba.c drivers/acpi/acpi_apd.c drivers/acpi/acpi_lpss.c drivers/clk/at91/clk-generated.c drivers/clk/at91/clk-h32mx.c drivers/clk/at91/clk-main.c drivers/clk/at91/clk-master.c drivers/clk/at91/clk-peripheral.c drivers/clk/at91/clk-pll.c drivers/clk/at91/clk-plldiv.c drivers/clk/at91/clk-programmable.c drivers/clk/at91/clk-slow.c drivers/clk/at91/clk-smd.c drivers/clk/at91/clk-system.c drivers/clk/at91/clk-usb.c drivers/clk/at91/clk-utmi.c drivers/clk/at91/pmc.c drivers/clk/at91/sckc.c drivers/clk/bcm/clk-cygnus.c drivers/clk/bcm/clk-iproc-asiu.c drivers/clk/bcm/clk-iproc-pll.c drivers/clk/clk-asm9260.c drivers/clk/clk-moxart.c drivers/clk/clk-s2mps11.c drivers/clk/clk-xgene.c drivers/clk/clkdev.c drivers/clk/imx/clk-imx1.c drivers/clk/imx/clk-imx21.c drivers/clk/imx/clk-imx25.c drivers/clk/imx/clk-imx27.c drivers/clk/imx/clk-imx31.c drivers/clk/imx/clk-imx35.c drivers/clk/imx/clk-imx51-imx53.c drivers/clk/imx/clk-imx6q.c drivers/clk/imx/clk-imx6sl.c drivers/clk/imx/clk-imx6sx.c drivers/clk/imx/clk-imx6ul.c drivers/clk/imx/clk-imx7d.c drivers/clk/loongson1/clk-loongson1b.c drivers/clk/loongson1/clk-loongson1c.c drivers/clk/microchip/clk-pic32mzda.c drivers/clk/mmp/clk.h drivers/clk/mxs/clk-imx28.c drivers/clk/pxa/clk-pxa.c drivers/clk/pxa/clk-pxa25x.c drivers/clk/pxa/clk-pxa27x.c drivers/clk/pxa/clk-pxa3xx.c drivers/clk/renesas/clk-emev2.c drivers/clk/renesas/clk-mstp.c drivers/clk/rockchip/clk-rockchip.c drivers/clk/sirf/clk-atlas6.c drivers/clk/sirf/clk-prima2.c drivers/clk/spear/spear1310_clock.c drivers/clk/spear/spear1340_clock.c drivers/clk/spear/spear3xx_clock.c drivers/clk/spear/spear6xx_clock.c drivers/clk/sunxi/clk-sun9i-core.c drivers/clk/tegra/clk-emc.c drivers/clk/tegra/clk-tegra-periph.c drivers/clk/tegra/clk-tegra-pmc.c drivers/clk/tegra/clk-tegra124.c drivers/clk/tegra/clk-tegra20.c drivers/clk/tegra/clk-tegra210.c drivers/clk/tegra/clk-tegra30.c drivers/clk/tegra/clk.c drivers/clk/tegra/clk.h drivers/clk/ti/adpll.c drivers/clk/ti/clk-44xx.c drivers/clk/ti/clk-54xx.c drivers/clk/ti/clk-7xx.c drivers/clk/ti/clk.c drivers/clk/ti/dpll3xxx.c drivers/clk/ux500/abx500-clk.c drivers/clk/ux500/u8540_clk.c drivers/clk/versatile/clk-impd1.c drivers/gpu/ipu-v3/ipu-csi.c drivers/i2c/busses/i2c-altera.c drivers/i2c/busses/i2c-axxia.c drivers/media/platform/atmel/atmel-isc.c drivers/memory/tegra/tegra124-emc.c drivers/mfd/intel-lpss.c drivers/mfd/intel_quark_i2c_gpio.c drivers/net/ethernet/ti/cpts.h drivers/pinctrl/pinctrl-lantiq.h drivers/spi/spi-pic32.c drivers/staging/board/board.c include/linux/clk/ti.h sound/soc/sh/migor.c Cc: Russell King <linux@armlinux.org.uk> Cc: Arnd Bergmann <arnd@arndb.de> Cc: Maxime Ripard <maxime.ripard@free-electrons.com> Cc: Chen-Yu Tsai <wens@csie.org> Stephen Boyd (5): blackfin: Use generic clkdev.h header clk: Prepare to remove asm-generic/clkdev.h arch: Remove clkdev.h asm-generic from Kbuild clk: sunxi: Use CLK_IS_CRITICAL flag for critical clks clk: Move __clk_{get,put}() into private clk.h API arch/alpha/include/asm/Kbuild | 1 - arch/arc/include/asm/Kbuild | 1 - arch/arm/include/asm/Kbuild | 1 - arch/arm64/include/asm/Kbuild | 1 - arch/blackfin/include/asm/clkdev.h | 17 ----------------- arch/c6x/include/asm/Kbuild | 1 - arch/cris/include/asm/Kbuild | 1 - arch/frv/include/asm/Kbuild | 1 - arch/h8300/include/asm/Kbuild | 1 - arch/hexagon/include/asm/Kbuild | 1 - arch/ia64/include/asm/Kbuild | 1 - arch/m32r/include/asm/Kbuild | 1 - arch/m68k/include/asm/Kbuild | 1 - arch/metag/include/asm/Kbuild | 1 - arch/microblaze/include/asm/Kbuild | 1 - arch/mips/include/asm/Kbuild | 1 - arch/mn10300/include/asm/Kbuild | 1 - arch/nios2/include/asm/Kbuild | 1 - arch/openrisc/include/asm/Kbuild | 1 - arch/parisc/include/asm/Kbuild | 1 - arch/powerpc/include/asm/Kbuild | 1 - arch/riscv/include/asm/Kbuild | 1 - arch/s390/include/asm/Kbuild | 1 - arch/score/include/asm/Kbuild | 1 - arch/sh/include/asm/Kbuild | 1 - arch/sparc/include/asm/Kbuild | 1 - arch/tile/include/asm/Kbuild | 1 - arch/um/include/asm/Kbuild | 1 - arch/unicore32/include/asm/Kbuild | 1 - arch/x86/include/asm/Kbuild | 1 - arch/xtensa/include/asm/Kbuild | 1 - drivers/clk/clk.h | 4 ++++ drivers/clk/clkdev.c | 2 +- drivers/clk/sunxi/clk-factors.c | 26 +++++++++++++++++++++----- drivers/clk/sunxi/clk-factors.h | 4 ++++ drivers/clk/sunxi/clk-mod0.c | 9 ++------- drivers/clk/sunxi/clk-sun8i-mbus.c | 7 ++----- drivers/clk/sunxi/clk-sun9i-core.c | 9 ++------- drivers/clk/sunxi/clk-sunxi.c | 36 +++++++++++++----------------------- include/asm-generic/clkdev.h | 30 ------------------------------ include/linux/clkdev.h | 7 +------ 41 files changed, 50 insertions(+), 131 deletions(-) delete mode 100644 arch/blackfin/include/asm/clkdev.h delete mode 100644 include/asm-generic/clkdev.h -- The Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum, a Linux Foundation Collaborative Project ^ permalink raw reply [flat|nested] 25+ messages in thread
* [PATCH 0/5] Remove asm/clkdev.h and privatize __clk{get,put}() 2018-01-03 1:35 [PATCH 0/5] Remove asm/clkdev.h and privatize __clk{get,put}() Stephen Boyd @ 2018-01-03 1:35 ` Stephen Boyd 2018-01-03 1:35 ` [PATCH 1/5] blackfin: Use generic clkdev.h header Stephen Boyd ` (4 subsequent siblings) 5 siblings, 0 replies; 25+ messages in thread From: Stephen Boyd @ 2018-01-03 1:35 UTC (permalink / raw) To: Michael Turquette, Stephen Boyd Cc: linux-kernel, linux-clk, linux-arch, Russell King, Arnd Bergmann, Maxime Ripard, Chen-Yu Tsai These patches remove the asm-generic/clkdev.h header file and fold it into the linux/clkdev.h file. I'd like to merge this into the clk tree for the upcoming merge window, so please ack if things look good. The later patches I also want to drop the slab.h include from clkdev.h, but that will require including slab.h in various files that are relying on the implicit include in clkdev.h right now. Here's that list of files that don't include slab.h but include clkdev.h for the interested folks. arch/arm/mach-davinci/clock.h arch/arm/mach-davinci/da850.c arch/arm/mach-ep93xx/clock.c arch/arm/mach-highbank/highbank.c arch/arm/mach-imx/mach-imx53.c arch/arm/mach-imx/mach-imx6q.c arch/arm/mach-mmp/clock.h arch/arm/mach-mxs/mach-mxs.c arch/arm/mach-nspire/nspire.c arch/arm/mach-omap1/board-nokia770.c arch/arm/mach-omap1/clock.c arch/arm/mach-omap1/clock.h arch/arm/mach-omap2/clock.h arch/arm/mach-pxa/eseries.c arch/arm/mach-pxa/pxa27x.c arch/arm/mach-pxa/tosa.c arch/arm/mach-sa1100/clock.c arch/arm/mach-w90x900/clock.h arch/arm/plat-orion/common.c arch/blackfin/mach-bf609/clock.c arch/c6x/kernel/setup.c arch/c6x/platforms/pll.c arch/c6x/platforms/plldata.c arch/mips/ath79/clock.c arch/mips/bcm63xx/clk.c arch/mips/lantiq/clk.c arch/mips/lantiq/clk.h arch/mips/lantiq/falcon/sysctrl.c arch/mips/lantiq/xway/sysctrl.c arch/mips/ralink/clk.c arch/powerpc/platforms/512x/clock-commonclk.c arch/sh/boards/mach-highlander/setup.c arch/sh/boards/mach-sdk7786/setup.c arch/sh/kernel/cpu/sh2a/clock-sh7264.c arch/sh/kernel/cpu/sh2a/clock-sh7269.c arch/sh/kernel/cpu/sh4/clock-sh4-202.c arch/sh/kernel/cpu/sh4a/clock-sh7343.c arch/sh/kernel/cpu/sh4a/clock-sh7366.c arch/sh/kernel/cpu/sh4a/clock-sh7722.c arch/sh/kernel/cpu/sh4a/clock-sh7723.c arch/sh/kernel/cpu/sh4a/clock-sh7724.c arch/sh/kernel/cpu/sh4a/clock-sh7734.c arch/sh/kernel/cpu/sh4a/clock-sh7757.c arch/sh/kernel/cpu/sh4a/clock-sh7763.c arch/sh/kernel/cpu/sh4a/clock-sh7780.c arch/sh/kernel/cpu/sh4a/clock-sh7785.c arch/sh/kernel/cpu/sh4a/clock-sh7786.c arch/sh/kernel/cpu/sh4a/clock-shx3.c drivers/acpi/acpi_amba.c drivers/acpi/acpi_apd.c drivers/acpi/acpi_lpss.c drivers/clk/at91/clk-generated.c drivers/clk/at91/clk-h32mx.c drivers/clk/at91/clk-main.c drivers/clk/at91/clk-master.c drivers/clk/at91/clk-peripheral.c drivers/clk/at91/clk-pll.c drivers/clk/at91/clk-plldiv.c drivers/clk/at91/clk-programmable.c drivers/clk/at91/clk-slow.c drivers/clk/at91/clk-smd.c drivers/clk/at91/clk-system.c drivers/clk/at91/clk-usb.c drivers/clk/at91/clk-utmi.c drivers/clk/at91/pmc.c drivers/clk/at91/sckc.c drivers/clk/bcm/clk-cygnus.c drivers/clk/bcm/clk-iproc-asiu.c drivers/clk/bcm/clk-iproc-pll.c drivers/clk/clk-asm9260.c drivers/clk/clk-moxart.c drivers/clk/clk-s2mps11.c drivers/clk/clk-xgene.c drivers/clk/clkdev.c drivers/clk/imx/clk-imx1.c drivers/clk/imx/clk-imx21.c drivers/clk/imx/clk-imx25.c drivers/clk/imx/clk-imx27.c drivers/clk/imx/clk-imx31.c drivers/clk/imx/clk-imx35.c drivers/clk/imx/clk-imx51-imx53.c drivers/clk/imx/clk-imx6q.c drivers/clk/imx/clk-imx6sl.c drivers/clk/imx/clk-imx6sx.c drivers/clk/imx/clk-imx6ul.c drivers/clk/imx/clk-imx7d.c drivers/clk/loongson1/clk-loongson1b.c drivers/clk/loongson1/clk-loongson1c.c drivers/clk/microchip/clk-pic32mzda.c drivers/clk/mmp/clk.h drivers/clk/mxs/clk-imx28.c drivers/clk/pxa/clk-pxa.c drivers/clk/pxa/clk-pxa25x.c drivers/clk/pxa/clk-pxa27x.c drivers/clk/pxa/clk-pxa3xx.c drivers/clk/renesas/clk-emev2.c drivers/clk/renesas/clk-mstp.c drivers/clk/rockchip/clk-rockchip.c drivers/clk/sirf/clk-atlas6.c drivers/clk/sirf/clk-prima2.c drivers/clk/spear/spear1310_clock.c drivers/clk/spear/spear1340_clock.c drivers/clk/spear/spear3xx_clock.c drivers/clk/spear/spear6xx_clock.c drivers/clk/sunxi/clk-sun9i-core.c drivers/clk/tegra/clk-emc.c drivers/clk/tegra/clk-tegra-periph.c drivers/clk/tegra/clk-tegra-pmc.c drivers/clk/tegra/clk-tegra124.c drivers/clk/tegra/clk-tegra20.c drivers/clk/tegra/clk-tegra210.c drivers/clk/tegra/clk-tegra30.c drivers/clk/tegra/clk.c drivers/clk/tegra/clk.h drivers/clk/ti/adpll.c drivers/clk/ti/clk-44xx.c drivers/clk/ti/clk-54xx.c drivers/clk/ti/clk-7xx.c drivers/clk/ti/clk.c drivers/clk/ti/dpll3xxx.c drivers/clk/ux500/abx500-clk.c drivers/clk/ux500/u8540_clk.c drivers/clk/versatile/clk-impd1.c drivers/gpu/ipu-v3/ipu-csi.c drivers/i2c/busses/i2c-altera.c drivers/i2c/busses/i2c-axxia.c drivers/media/platform/atmel/atmel-isc.c drivers/memory/tegra/tegra124-emc.c drivers/mfd/intel-lpss.c drivers/mfd/intel_quark_i2c_gpio.c drivers/net/ethernet/ti/cpts.h drivers/pinctrl/pinctrl-lantiq.h drivers/spi/spi-pic32.c drivers/staging/board/board.c include/linux/clk/ti.h sound/soc/sh/migor.c Cc: Russell King <linux@armlinux.org.uk> Cc: Arnd Bergmann <arnd@arndb.de> Cc: Maxime Ripard <maxime.ripard@free-electrons.com> Cc: Chen-Yu Tsai <wens@csie.org> Stephen Boyd (5): blackfin: Use generic clkdev.h header clk: Prepare to remove asm-generic/clkdev.h arch: Remove clkdev.h asm-generic from Kbuild clk: sunxi: Use CLK_IS_CRITICAL flag for critical clks clk: Move __clk_{get,put}() into private clk.h API arch/alpha/include/asm/Kbuild | 1 - arch/arc/include/asm/Kbuild | 1 - arch/arm/include/asm/Kbuild | 1 - arch/arm64/include/asm/Kbuild | 1 - arch/blackfin/include/asm/clkdev.h | 17 ----------------- arch/c6x/include/asm/Kbuild | 1 - arch/cris/include/asm/Kbuild | 1 - arch/frv/include/asm/Kbuild | 1 - arch/h8300/include/asm/Kbuild | 1 - arch/hexagon/include/asm/Kbuild | 1 - arch/ia64/include/asm/Kbuild | 1 - arch/m32r/include/asm/Kbuild | 1 - arch/m68k/include/asm/Kbuild | 1 - arch/metag/include/asm/Kbuild | 1 - arch/microblaze/include/asm/Kbuild | 1 - arch/mips/include/asm/Kbuild | 1 - arch/mn10300/include/asm/Kbuild | 1 - arch/nios2/include/asm/Kbuild | 1 - arch/openrisc/include/asm/Kbuild | 1 - arch/parisc/include/asm/Kbuild | 1 - arch/powerpc/include/asm/Kbuild | 1 - arch/riscv/include/asm/Kbuild | 1 - arch/s390/include/asm/Kbuild | 1 - arch/score/include/asm/Kbuild | 1 - arch/sh/include/asm/Kbuild | 1 - arch/sparc/include/asm/Kbuild | 1 - arch/tile/include/asm/Kbuild | 1 - arch/um/include/asm/Kbuild | 1 - arch/unicore32/include/asm/Kbuild | 1 - arch/x86/include/asm/Kbuild | 1 - arch/xtensa/include/asm/Kbuild | 1 - drivers/clk/clk.h | 4 ++++ drivers/clk/clkdev.c | 2 +- drivers/clk/sunxi/clk-factors.c | 26 +++++++++++++++++++++----- drivers/clk/sunxi/clk-factors.h | 4 ++++ drivers/clk/sunxi/clk-mod0.c | 9 ++------- drivers/clk/sunxi/clk-sun8i-mbus.c | 7 ++----- drivers/clk/sunxi/clk-sun9i-core.c | 9 ++------- drivers/clk/sunxi/clk-sunxi.c | 36 +++++++++++++----------------------- include/asm-generic/clkdev.h | 30 ------------------------------ include/linux/clkdev.h | 7 +------ 41 files changed, 50 insertions(+), 131 deletions(-) delete mode 100644 arch/blackfin/include/asm/clkdev.h delete mode 100644 include/asm-generic/clkdev.h -- The Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum, a Linux Foundation Collaborative Project ^ permalink raw reply [flat|nested] 25+ messages in thread
* [PATCH 1/5] blackfin: Use generic clkdev.h header 2018-01-03 1:35 [PATCH 0/5] Remove asm/clkdev.h and privatize __clk{get,put}() Stephen Boyd 2018-01-03 1:35 ` Stephen Boyd @ 2018-01-03 1:35 ` Stephen Boyd 2018-01-10 21:20 ` Stephen Boyd 2018-01-03 1:35 ` [PATCH 2/5] clk: Prepare to remove asm-generic/clkdev.h Stephen Boyd ` (3 subsequent siblings) 5 siblings, 1 reply; 25+ messages in thread From: Stephen Boyd @ 2018-01-03 1:35 UTC (permalink / raw) To: Michael Turquette, Stephen Boyd; +Cc: linux-kernel, linux-clk, linux-arch The generic header file is equivalent to the blackfin version, so just use the generic one. Signed-off-by: Stephen Boyd <sboyd@codeaurora.org> --- arch/blackfin/include/asm/Kbuild | 1 + arch/blackfin/include/asm/clkdev.h | 17 ----------------- 2 files changed, 1 insertion(+), 17 deletions(-) delete mode 100644 arch/blackfin/include/asm/clkdev.h diff --git a/arch/blackfin/include/asm/Kbuild b/arch/blackfin/include/asm/Kbuild index fe736973630f..40e44231743f 100644 --- a/arch/blackfin/include/asm/Kbuild +++ b/arch/blackfin/include/asm/Kbuild @@ -1,4 +1,5 @@ generic-y += bugs.h +generic-y += clkdev.h generic-y += current.h generic-y += device.h generic-y += div64.h diff --git a/arch/blackfin/include/asm/clkdev.h b/arch/blackfin/include/asm/clkdev.h deleted file mode 100644 index ded0209348c7..000000000000 --- a/arch/blackfin/include/asm/clkdev.h +++ /dev/null @@ -1,17 +0,0 @@ -/* SPDX-License-Identifier: GPL-2.0 */ -#ifndef __ASM_CLKDEV__H_ -#define __ASM_CLKDEV__H_ - -#include <linux/slab.h> - -static inline struct clk_lookup_alloc *__clkdev_alloc(size_t size) -{ - return kzalloc(size, GFP_KERNEL); -} - -#ifndef CONFIG_COMMON_CLK -#define __clk_put(clk) -#define __clk_get(clk) ({ 1; }) -#endif - -#endif -- The Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum, a Linux Foundation Collaborative Project ^ permalink raw reply related [flat|nested] 25+ messages in thread
* Re: [PATCH 1/5] blackfin: Use generic clkdev.h header 2018-01-03 1:35 ` [PATCH 1/5] blackfin: Use generic clkdev.h header Stephen Boyd @ 2018-01-10 21:20 ` Stephen Boyd 2018-01-10 21:20 ` Stephen Boyd 0 siblings, 1 reply; 25+ messages in thread From: Stephen Boyd @ 2018-01-10 21:20 UTC (permalink / raw) To: Michael Turquette; +Cc: linux-kernel, linux-clk, linux-arch On 01/02, Stephen Boyd wrote: > The generic header file is equivalent to the blackfin version, so > just use the generic one. > > Signed-off-by: Stephen Boyd <sboyd@codeaurora.org> > --- Applied to clk-next -- Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum, a Linux Foundation Collaborative Project ^ permalink raw reply [flat|nested] 25+ messages in thread
* Re: [PATCH 1/5] blackfin: Use generic clkdev.h header 2018-01-10 21:20 ` Stephen Boyd @ 2018-01-10 21:20 ` Stephen Boyd 0 siblings, 0 replies; 25+ messages in thread From: Stephen Boyd @ 2018-01-10 21:20 UTC (permalink / raw) To: Michael Turquette; +Cc: linux-kernel, linux-clk, linux-arch On 01/02, Stephen Boyd wrote: > The generic header file is equivalent to the blackfin version, so > just use the generic one. > > Signed-off-by: Stephen Boyd <sboyd@codeaurora.org> > --- Applied to clk-next -- Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum, a Linux Foundation Collaborative Project ^ permalink raw reply [flat|nested] 25+ messages in thread
* [PATCH 2/5] clk: Prepare to remove asm-generic/clkdev.h 2018-01-03 1:35 [PATCH 0/5] Remove asm/clkdev.h and privatize __clk{get,put}() Stephen Boyd 2018-01-03 1:35 ` Stephen Boyd 2018-01-03 1:35 ` [PATCH 1/5] blackfin: Use generic clkdev.h header Stephen Boyd @ 2018-01-03 1:35 ` Stephen Boyd 2018-01-10 21:20 ` Stephen Boyd 2018-01-03 1:35 ` [PATCH 3/5] arch: Remove clkdev.h asm-generic from Kbuild Stephen Boyd ` (2 subsequent siblings) 5 siblings, 1 reply; 25+ messages in thread From: Stephen Boyd @ 2018-01-03 1:35 UTC (permalink / raw) To: Michael Turquette, Stephen Boyd Cc: linux-kernel, linux-clk, linux-arch, Russell King Now that all the users of asm/clkdev.h have been replaced with the generic file we can get rid of the asm-generic file as well and implement that code directly where it's used. We only have one caller of __clkdev_alloc(), in clkdev.c so we can easily remove that and drop the include of asm/clkdev.h in linux/clkdev.h by putting the __clk_get/__clk_put inlines in their respective location. Cc: Russell King <linux@armlinux.org.uk> Signed-off-by: Stephen Boyd <sboyd@codeaurora.org> --- drivers/clk/clkdev.c | 2 +- include/linux/clkdev.h | 5 ++++- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/drivers/clk/clkdev.c b/drivers/clk/clkdev.c index 6b2f29df3f70..7513411140b6 100644 --- a/drivers/clk/clkdev.c +++ b/drivers/clk/clkdev.c @@ -256,7 +256,7 @@ vclkdev_alloc(struct clk_hw *hw, const char *con_id, const char *dev_fmt, { struct clk_lookup_alloc *cla; - cla = __clkdev_alloc(sizeof(*cla)); + cla = kzalloc(sizeof(*cla), GFP_KERNEL); if (!cla) return NULL; diff --git a/include/linux/clkdev.h b/include/linux/clkdev.h index 2eabc862abdb..ef98ee8c6358 100644 --- a/include/linux/clkdev.h +++ b/include/linux/clkdev.h @@ -12,7 +12,7 @@ #ifndef __CLKDEV_H #define __CLKDEV_H -#include <asm/clkdev.h> +#include <linux/slab.h> struct clk; struct clk_hw; @@ -55,6 +55,9 @@ int clk_hw_register_clkdev(struct clk_hw *, const char *, const char *); #ifdef CONFIG_COMMON_CLK int __clk_get(struct clk *clk); void __clk_put(struct clk *clk); +#else +static inline int __clk_get(struct clk *clk) { return 1; } +static inline void __clk_put(struct clk *clk) { } #endif #endif -- The Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum, a Linux Foundation Collaborative Project ^ permalink raw reply related [flat|nested] 25+ messages in thread
* Re: [PATCH 2/5] clk: Prepare to remove asm-generic/clkdev.h 2018-01-03 1:35 ` [PATCH 2/5] clk: Prepare to remove asm-generic/clkdev.h Stephen Boyd @ 2018-01-10 21:20 ` Stephen Boyd 2018-01-10 21:20 ` Stephen Boyd 0 siblings, 1 reply; 25+ messages in thread From: Stephen Boyd @ 2018-01-10 21:20 UTC (permalink / raw) To: Michael Turquette; +Cc: linux-kernel, linux-clk, linux-arch, Russell King On 01/02, Stephen Boyd wrote: > Now that all the users of asm/clkdev.h have been replaced with > the generic file we can get rid of the asm-generic file as well > and implement that code directly where it's used. > > We only have one caller of __clkdev_alloc(), in clkdev.c so we > can easily remove that and drop the include of asm/clkdev.h in > linux/clkdev.h by putting the __clk_get/__clk_put inlines in > their respective location. > > Cc: Russell King <linux@armlinux.org.uk> > Signed-off-by: Stephen Boyd <sboyd@codeaurora.org> > --- Applied to clk-next -- Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum, a Linux Foundation Collaborative Project ^ permalink raw reply [flat|nested] 25+ messages in thread
* Re: [PATCH 2/5] clk: Prepare to remove asm-generic/clkdev.h 2018-01-10 21:20 ` Stephen Boyd @ 2018-01-10 21:20 ` Stephen Boyd 0 siblings, 0 replies; 25+ messages in thread From: Stephen Boyd @ 2018-01-10 21:20 UTC (permalink / raw) To: Michael Turquette; +Cc: linux-kernel, linux-clk, linux-arch, Russell King On 01/02, Stephen Boyd wrote: > Now that all the users of asm/clkdev.h have been replaced with > the generic file we can get rid of the asm-generic file as well > and implement that code directly where it's used. > > We only have one caller of __clkdev_alloc(), in clkdev.c so we > can easily remove that and drop the include of asm/clkdev.h in > linux/clkdev.h by putting the __clk_get/__clk_put inlines in > their respective location. > > Cc: Russell King <linux@armlinux.org.uk> > Signed-off-by: Stephen Boyd <sboyd@codeaurora.org> > --- Applied to clk-next -- Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum, a Linux Foundation Collaborative Project ^ permalink raw reply [flat|nested] 25+ messages in thread
* [PATCH 3/5] arch: Remove clkdev.h asm-generic from Kbuild 2018-01-03 1:35 [PATCH 0/5] Remove asm/clkdev.h and privatize __clk{get,put}() Stephen Boyd ` (2 preceding siblings ...) 2018-01-03 1:35 ` [PATCH 2/5] clk: Prepare to remove asm-generic/clkdev.h Stephen Boyd @ 2018-01-03 1:35 ` Stephen Boyd 2018-01-03 8:43 ` Geert Uytterhoeven ` (2 more replies) 2018-01-03 1:35 ` [PATCH 4/5] clk: sunxi: Use CLK_IS_CRITICAL flag for critical clks Stephen Boyd 2018-01-03 1:35 ` [PATCH 5/5] clk: Move __clk_{get,put}() into private clk.h API Stephen Boyd 5 siblings, 3 replies; 25+ messages in thread From: Stephen Boyd @ 2018-01-03 1:35 UTC (permalink / raw) To: Michael Turquette, Stephen Boyd Cc: linux-kernel, linux-clk, linux-arch, Russell King, Arnd Bergmann Now that every architecture is using the generic clkdev.h file and we no longer include asm/clkdev.h anywhere in the tree, we can remove it. Cc: Russell King <linux@armlinux.org.uk> Cc: Arnd Bergmann <arnd@arndb.de> Cc: <linux-arch@vger.kernel.org> Signed-off-by: Stephen Boyd <sboyd@codeaurora.org> --- arch/alpha/include/asm/Kbuild | 1 - arch/arc/include/asm/Kbuild | 1 - arch/arm/include/asm/Kbuild | 1 - arch/arm64/include/asm/Kbuild | 1 - arch/blackfin/include/asm/Kbuild | 1 - arch/c6x/include/asm/Kbuild | 1 - arch/cris/include/asm/Kbuild | 1 - arch/frv/include/asm/Kbuild | 1 - arch/h8300/include/asm/Kbuild | 1 - arch/hexagon/include/asm/Kbuild | 1 - arch/ia64/include/asm/Kbuild | 1 - arch/m32r/include/asm/Kbuild | 1 - arch/m68k/include/asm/Kbuild | 1 - arch/metag/include/asm/Kbuild | 1 - arch/microblaze/include/asm/Kbuild | 1 - arch/mips/include/asm/Kbuild | 1 - arch/mn10300/include/asm/Kbuild | 1 - arch/nios2/include/asm/Kbuild | 1 - arch/openrisc/include/asm/Kbuild | 1 - arch/parisc/include/asm/Kbuild | 1 - arch/powerpc/include/asm/Kbuild | 1 - arch/riscv/include/asm/Kbuild | 1 - arch/s390/include/asm/Kbuild | 1 - arch/score/include/asm/Kbuild | 1 - arch/sh/include/asm/Kbuild | 1 - arch/sparc/include/asm/Kbuild | 1 - arch/tile/include/asm/Kbuild | 1 - arch/um/include/asm/Kbuild | 1 - arch/unicore32/include/asm/Kbuild | 1 - arch/x86/include/asm/Kbuild | 1 - arch/xtensa/include/asm/Kbuild | 1 - include/asm-generic/clkdev.h | 30 ------------------------------ 32 files changed, 61 deletions(-) delete mode 100644 include/asm-generic/clkdev.h diff --git a/arch/alpha/include/asm/Kbuild b/arch/alpha/include/asm/Kbuild index 47f3fba3e41f..9b68790013e2 100644 --- a/arch/alpha/include/asm/Kbuild +++ b/arch/alpha/include/asm/Kbuild @@ -1,7 +1,6 @@ # SPDX-License-Identifier: GPL-2.0 -generic-y += clkdev.h generic-y += exec.h generic-y += export.h generic-y += fb.h diff --git a/arch/arc/include/asm/Kbuild b/arch/arc/include/asm/Kbuild index cd8398daccee..4bd5d4369e05 100644 --- a/arch/arc/include/asm/Kbuild +++ b/arch/arc/include/asm/Kbuild @@ -1,6 +1,5 @@ # SPDX-License-Identifier: GPL-2.0 generic-y += bugs.h -generic-y += clkdev.h generic-y += device.h generic-y += div64.h generic-y += emergency-restart.h diff --git a/arch/arm/include/asm/Kbuild b/arch/arm/include/asm/Kbuild index 0f2c8a2a8131..873e3c189279 100644 --- a/arch/arm/include/asm/Kbuild +++ b/arch/arm/include/asm/Kbuild @@ -1,4 +1,3 @@ -generic-y += clkdev.h generic-y += current.h generic-y += early_ioremap.h generic-y += emergency-restart.h diff --git a/arch/arm64/include/asm/Kbuild b/arch/arm64/include/asm/Kbuild index e63d0a8312de..3a9b84d39d71 100644 --- a/arch/arm64/include/asm/Kbuild +++ b/arch/arm64/include/asm/Kbuild @@ -1,5 +1,4 @@ generic-y += bugs.h -generic-y += clkdev.h generic-y += delay.h generic-y += div64.h generic-y += dma.h diff --git a/arch/blackfin/include/asm/Kbuild b/arch/blackfin/include/asm/Kbuild index 40e44231743f..fe736973630f 100644 --- a/arch/blackfin/include/asm/Kbuild +++ b/arch/blackfin/include/asm/Kbuild @@ -1,5 +1,4 @@ generic-y += bugs.h -generic-y += clkdev.h generic-y += current.h generic-y += device.h generic-y += div64.h diff --git a/arch/c6x/include/asm/Kbuild b/arch/c6x/include/asm/Kbuild index d717329c8cf9..fd4c840de837 100644 --- a/arch/c6x/include/asm/Kbuild +++ b/arch/c6x/include/asm/Kbuild @@ -1,7 +1,6 @@ generic-y += atomic.h generic-y += barrier.h generic-y += bugs.h -generic-y += clkdev.h generic-y += current.h generic-y += device.h generic-y += div64.h diff --git a/arch/cris/include/asm/Kbuild b/arch/cris/include/asm/Kbuild index 460349cb147f..6c14021d0f89 100644 --- a/arch/cris/include/asm/Kbuild +++ b/arch/cris/include/asm/Kbuild @@ -1,6 +1,5 @@ generic-y += atomic.h generic-y += barrier.h -generic-y += clkdev.h generic-y += cmpxchg.h generic-y += current.h generic-y += device.h diff --git a/arch/frv/include/asm/Kbuild b/arch/frv/include/asm/Kbuild index 2cf7648787b2..b16b9c48ea09 100644 --- a/arch/frv/include/asm/Kbuild +++ b/arch/frv/include/asm/Kbuild @@ -1,5 +1,4 @@ -generic-y += clkdev.h generic-y += device.h generic-y += exec.h generic-y += extable.h diff --git a/arch/h8300/include/asm/Kbuild b/arch/h8300/include/asm/Kbuild index bc077491d299..bdd7776c8d91 100644 --- a/arch/h8300/include/asm/Kbuild +++ b/arch/h8300/include/asm/Kbuild @@ -3,7 +3,6 @@ generic-y += barrier.h generic-y += bugs.h generic-y += cacheflush.h generic-y += checksum.h -generic-y += clkdev.h generic-y += current.h generic-y += delay.h generic-y += device.h diff --git a/arch/hexagon/include/asm/Kbuild b/arch/hexagon/include/asm/Kbuild index 4a23e527d651..e9743f689fb8 100644 --- a/arch/hexagon/include/asm/Kbuild +++ b/arch/hexagon/include/asm/Kbuild @@ -2,7 +2,6 @@ generic-y += barrier.h generic-y += bug.h generic-y += bugs.h -generic-y += clkdev.h generic-y += current.h generic-y += device.h generic-y += div64.h diff --git a/arch/ia64/include/asm/Kbuild b/arch/ia64/include/asm/Kbuild index 1d7641f891e1..6dd867873364 100644 --- a/arch/ia64/include/asm/Kbuild +++ b/arch/ia64/include/asm/Kbuild @@ -1,4 +1,3 @@ -generic-y += clkdev.h generic-y += exec.h generic-y += irq_work.h generic-y += mcs_spinlock.h diff --git a/arch/m32r/include/asm/Kbuild b/arch/m32r/include/asm/Kbuild index 7e11b125c35e..f1b50129150b 100644 --- a/arch/m32r/include/asm/Kbuild +++ b/arch/m32r/include/asm/Kbuild @@ -1,4 +1,3 @@ -generic-y += clkdev.h generic-y += current.h generic-y += exec.h generic-y += extable.h diff --git a/arch/m68k/include/asm/Kbuild b/arch/m68k/include/asm/Kbuild index 59d6d0d38f67..88a9d27df1ac 100644 --- a/arch/m68k/include/asm/Kbuild +++ b/arch/m68k/include/asm/Kbuild @@ -1,5 +1,4 @@ generic-y += barrier.h -generic-y += clkdev.h generic-y += device.h generic-y += emergency-restart.h generic-y += exec.h diff --git a/arch/metag/include/asm/Kbuild b/arch/metag/include/asm/Kbuild index 3fba97ed9bb2..913c779979df 100644 --- a/arch/metag/include/asm/Kbuild +++ b/arch/metag/include/asm/Kbuild @@ -1,5 +1,4 @@ generic-y += bugs.h -generic-y += clkdev.h generic-y += current.h generic-y += device.h generic-y += dma.h diff --git a/arch/microblaze/include/asm/Kbuild b/arch/microblaze/include/asm/Kbuild index 9d66f7793841..3c80a5a308ed 100644 --- a/arch/microblaze/include/asm/Kbuild +++ b/arch/microblaze/include/asm/Kbuild @@ -2,7 +2,6 @@ generic-y += barrier.h generic-y += bitops.h generic-y += bug.h generic-y += bugs.h -generic-y += clkdev.h generic-y += device.h generic-y += div64.h generic-y += emergency-restart.h diff --git a/arch/mips/include/asm/Kbuild b/arch/mips/include/asm/Kbuild index 7c8aab23bce8..2f9e2b53a085 100644 --- a/arch/mips/include/asm/Kbuild +++ b/arch/mips/include/asm/Kbuild @@ -1,6 +1,5 @@ # MIPS headers generic-(CONFIG_GENERIC_CSUM) += checksum.h -generic-y += clkdev.h generic-y += current.h generic-y += dma-contiguous.h generic-y += emergency-restart.h diff --git a/arch/mn10300/include/asm/Kbuild b/arch/mn10300/include/asm/Kbuild index db5b57829a81..509c45a75d1f 100644 --- a/arch/mn10300/include/asm/Kbuild +++ b/arch/mn10300/include/asm/Kbuild @@ -1,6 +1,5 @@ generic-y += barrier.h -generic-y += clkdev.h generic-y += device.h generic-y += exec.h generic-y += extable.h diff --git a/arch/nios2/include/asm/Kbuild b/arch/nios2/include/asm/Kbuild index 896c26ae0da9..d232da2cbb38 100644 --- a/arch/nios2/include/asm/Kbuild +++ b/arch/nios2/include/asm/Kbuild @@ -3,7 +3,6 @@ generic-y += barrier.h generic-y += bitops.h generic-y += bug.h generic-y += bugs.h -generic-y += clkdev.h generic-y += cmpxchg.h generic-y += current.h generic-y += device.h diff --git a/arch/openrisc/include/asm/Kbuild b/arch/openrisc/include/asm/Kbuild index 6eb16719549e..f05c722a21f8 100644 --- a/arch/openrisc/include/asm/Kbuild +++ b/arch/openrisc/include/asm/Kbuild @@ -2,7 +2,6 @@ generic-y += barrier.h generic-y += bug.h generic-y += bugs.h generic-y += checksum.h -generic-y += clkdev.h generic-y += current.h generic-y += device.h generic-y += div64.h diff --git a/arch/parisc/include/asm/Kbuild b/arch/parisc/include/asm/Kbuild index a41139575ab4..2013d639e735 100644 --- a/arch/parisc/include/asm/Kbuild +++ b/arch/parisc/include/asm/Kbuild @@ -1,5 +1,4 @@ generic-y += barrier.h -generic-y += clkdev.h generic-y += current.h generic-y += device.h generic-y += div64.h diff --git a/arch/powerpc/include/asm/Kbuild b/arch/powerpc/include/asm/Kbuild index 2542ea15d338..3196d227e351 100644 --- a/arch/powerpc/include/asm/Kbuild +++ b/arch/powerpc/include/asm/Kbuild @@ -1,4 +1,3 @@ -generic-y += clkdev.h generic-y += div64.h generic-y += export.h generic-y += irq_regs.h diff --git a/arch/riscv/include/asm/Kbuild b/arch/riscv/include/asm/Kbuild index 18158be62a2b..04846be29947 100644 --- a/arch/riscv/include/asm/Kbuild +++ b/arch/riscv/include/asm/Kbuild @@ -1,7 +1,6 @@ generic-y += bugs.h generic-y += cacheflush.h generic-y += checksum.h -generic-y += clkdev.h generic-y += cputime.h generic-y += device.h generic-y += div64.h diff --git a/arch/s390/include/asm/Kbuild b/arch/s390/include/asm/Kbuild index 41c211a4d8b1..d0abf0bac21b 100644 --- a/arch/s390/include/asm/Kbuild +++ b/arch/s390/include/asm/Kbuild @@ -1,6 +1,5 @@ generic-y += asm-offsets.h generic-y += cacheflush.h -generic-y += clkdev.h generic-y += device.h generic-y += dma-contiguous.h generic-y += div64.h diff --git a/arch/score/include/asm/Kbuild b/arch/score/include/asm/Kbuild index 54b3b2039af1..1a0ee72f6a7c 100644 --- a/arch/score/include/asm/Kbuild +++ b/arch/score/include/asm/Kbuild @@ -1,5 +1,4 @@ generic-y += barrier.h -generic-y += clkdev.h generic-y += current.h generic-y += extable.h generic-y += irq_work.h diff --git a/arch/sh/include/asm/Kbuild b/arch/sh/include/asm/Kbuild index 1a6f9c39feef..1efcce74997b 100644 --- a/arch/sh/include/asm/Kbuild +++ b/arch/sh/include/asm/Kbuild @@ -1,4 +1,3 @@ -generic-y += clkdev.h generic-y += current.h generic-y += delay.h generic-y += div64.h diff --git a/arch/sparc/include/asm/Kbuild b/arch/sparc/include/asm/Kbuild index 80ddc01f57ac..ac67828da201 100644 --- a/arch/sparc/include/asm/Kbuild +++ b/arch/sparc/include/asm/Kbuild @@ -1,7 +1,6 @@ # User exported sparc header files -generic-y += clkdev.h generic-y += div64.h generic-y += emergency-restart.h generic-y += exec.h diff --git a/arch/tile/include/asm/Kbuild b/arch/tile/include/asm/Kbuild index d28d2b8932c7..414dfc3a1808 100644 --- a/arch/tile/include/asm/Kbuild +++ b/arch/tile/include/asm/Kbuild @@ -1,6 +1,5 @@ generic-y += bug.h generic-y += bugs.h -generic-y += clkdev.h generic-y += emergency-restart.h generic-y += exec.h generic-y += extable.h diff --git a/arch/um/include/asm/Kbuild b/arch/um/include/asm/Kbuild index 50a32c33d729..ca536a38486f 100644 --- a/arch/um/include/asm/Kbuild +++ b/arch/um/include/asm/Kbuild @@ -1,6 +1,5 @@ generic-y += barrier.h generic-y += bug.h -generic-y += clkdev.h generic-y += current.h generic-y += delay.h generic-y += device.h diff --git a/arch/unicore32/include/asm/Kbuild b/arch/unicore32/include/asm/Kbuild index fda7e2153086..6f70c76c81fc 100644 --- a/arch/unicore32/include/asm/Kbuild +++ b/arch/unicore32/include/asm/Kbuild @@ -1,6 +1,5 @@ generic-y += atomic.h generic-y += bugs.h -generic-y += clkdev.h generic-y += current.h generic-y += device.h generic-y += div64.h diff --git a/arch/x86/include/asm/Kbuild b/arch/x86/include/asm/Kbuild index 5d6a53fd7521..de690c2d2e33 100644 --- a/arch/x86/include/asm/Kbuild +++ b/arch/x86/include/asm/Kbuild @@ -6,7 +6,6 @@ generated-y += unistd_32_ia32.h generated-y += unistd_64_x32.h generated-y += xen-hypercalls.h -generic-y += clkdev.h generic-y += dma-contiguous.h generic-y += early_ioremap.h generic-y += mcs_spinlock.h diff --git a/arch/xtensa/include/asm/Kbuild b/arch/xtensa/include/asm/Kbuild index dff7cc39437c..436b20337168 100644 --- a/arch/xtensa/include/asm/Kbuild +++ b/arch/xtensa/include/asm/Kbuild @@ -1,5 +1,4 @@ generic-y += bug.h -generic-y += clkdev.h generic-y += device.h generic-y += div64.h generic-y += dma-contiguous.h diff --git a/include/asm-generic/clkdev.h b/include/asm-generic/clkdev.h deleted file mode 100644 index 4ff334749ed5..000000000000 --- a/include/asm-generic/clkdev.h +++ /dev/null @@ -1,30 +0,0 @@ -/* - * include/asm-generic/clkdev.h - * - * Based on the ARM clkdev.h: - * Copyright (C) 2008 Russell King. - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License version 2 as - * published by the Free Software Foundation. - * - * Helper for the clk API to assist looking up a struct clk. - */ -#ifndef __ASM_CLKDEV_H -#define __ASM_CLKDEV_H - -#include <linux/slab.h> - -#ifndef CONFIG_COMMON_CLK -struct clk; - -static inline int __clk_get(struct clk *clk) { return 1; } -static inline void __clk_put(struct clk *clk) { } -#endif - -static inline struct clk_lookup_alloc *__clkdev_alloc(size_t size) -{ - return kzalloc(size, GFP_KERNEL); -} - -#endif -- The Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum, a Linux Foundation Collaborative Project ^ permalink raw reply related [flat|nested] 25+ messages in thread
* Re: [PATCH 3/5] arch: Remove clkdev.h asm-generic from Kbuild 2018-01-03 1:35 ` [PATCH 3/5] arch: Remove clkdev.h asm-generic from Kbuild Stephen Boyd @ 2018-01-03 8:43 ` Geert Uytterhoeven 2018-01-03 8:43 ` Geert Uytterhoeven 2018-01-03 15:37 ` Arnd Bergmann 2018-01-10 21:20 ` Stephen Boyd 2 siblings, 1 reply; 25+ messages in thread From: Geert Uytterhoeven @ 2018-01-03 8:43 UTC (permalink / raw) To: Stephen Boyd Cc: Michael Turquette, Linux Kernel Mailing List, linux-clk, Linux-Arch, Russell King, Arnd Bergmann On Wed, Jan 3, 2018 at 2:35 AM, Stephen Boyd <sboyd@codeaurora.org> wrote: > Now that every architecture is using the generic clkdev.h file > and we no longer include asm/clkdev.h anywhere in the tree, we > can remove it. > > Cc: Russell King <linux@armlinux.org.uk> > Cc: Arnd Bergmann <arnd@arndb.de> > Cc: <linux-arch@vger.kernel.org> > Signed-off-by: Stephen Boyd <sboyd@codeaurora.org> For m68k part: Acked-by: Geert Uytterhoeven <geert@linux-m68k.org> Gr{oetje,eeting}s, Geert ^ permalink raw reply [flat|nested] 25+ messages in thread
* Re: [PATCH 3/5] arch: Remove clkdev.h asm-generic from Kbuild 2018-01-03 8:43 ` Geert Uytterhoeven @ 2018-01-03 8:43 ` Geert Uytterhoeven 0 siblings, 0 replies; 25+ messages in thread From: Geert Uytterhoeven @ 2018-01-03 8:43 UTC (permalink / raw) To: Stephen Boyd Cc: Michael Turquette, Linux Kernel Mailing List, linux-clk, Linux-Arch, Russell King, Arnd Bergmann On Wed, Jan 3, 2018 at 2:35 AM, Stephen Boyd <sboyd@codeaurora.org> wrote: > Now that every architecture is using the generic clkdev.h file > and we no longer include asm/clkdev.h anywhere in the tree, we > can remove it. > > Cc: Russell King <linux@armlinux.org.uk> > Cc: Arnd Bergmann <arnd@arndb.de> > Cc: <linux-arch@vger.kernel.org> > Signed-off-by: Stephen Boyd <sboyd@codeaurora.org> For m68k part: Acked-by: Geert Uytterhoeven <geert@linux-m68k.org> Gr{oetje,eeting}s, Geert -- Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@linux-m68k.org In personal conversations with technical people, I call myself a hacker. But when I'm talking to journalists I just say "programmer" or something like that. -- Linus Torvalds ^ permalink raw reply [flat|nested] 25+ messages in thread
* Re: [PATCH 3/5] arch: Remove clkdev.h asm-generic from Kbuild 2018-01-03 1:35 ` [PATCH 3/5] arch: Remove clkdev.h asm-generic from Kbuild Stephen Boyd 2018-01-03 8:43 ` Geert Uytterhoeven @ 2018-01-03 15:37 ` Arnd Bergmann 2018-01-03 15:37 ` Arnd Bergmann 2018-01-10 21:20 ` Stephen Boyd 2 siblings, 1 reply; 25+ messages in thread From: Arnd Bergmann @ 2018-01-03 15:37 UTC (permalink / raw) To: Stephen Boyd Cc: Michael Turquette, Linux Kernel Mailing List, linux-clk, linux-arch, Russell King On Wed, Jan 3, 2018 at 2:35 AM, Stephen Boyd <sboyd@codeaurora.org> wrote: > Now that every architecture is using the generic clkdev.h file > and we no longer include asm/clkdev.h anywhere in the tree, we > can remove it. > > Cc: Russell King <linux@armlinux.org.uk> > Cc: Arnd Bergmann <arnd@arndb.de> > Cc: <linux-arch@vger.kernel.org> > Signed-off-by: Stephen Boyd <sboyd@codeaurora.org> Acked-by: Arnd Bergmann <arnd@arndb.de> ^ permalink raw reply [flat|nested] 25+ messages in thread
* Re: [PATCH 3/5] arch: Remove clkdev.h asm-generic from Kbuild 2018-01-03 15:37 ` Arnd Bergmann @ 2018-01-03 15:37 ` Arnd Bergmann 0 siblings, 0 replies; 25+ messages in thread From: Arnd Bergmann @ 2018-01-03 15:37 UTC (permalink / raw) To: Stephen Boyd Cc: Michael Turquette, Linux Kernel Mailing List, linux-clk, linux-arch, Russell King On Wed, Jan 3, 2018 at 2:35 AM, Stephen Boyd <sboyd@codeaurora.org> wrote: > Now that every architecture is using the generic clkdev.h file > and we no longer include asm/clkdev.h anywhere in the tree, we > can remove it. > > Cc: Russell King <linux@armlinux.org.uk> > Cc: Arnd Bergmann <arnd@arndb.de> > Cc: <linux-arch@vger.kernel.org> > Signed-off-by: Stephen Boyd <sboyd@codeaurora.org> Acked-by: Arnd Bergmann <arnd@arndb.de> ^ permalink raw reply [flat|nested] 25+ messages in thread
* Re: [PATCH 3/5] arch: Remove clkdev.h asm-generic from Kbuild 2018-01-03 1:35 ` [PATCH 3/5] arch: Remove clkdev.h asm-generic from Kbuild Stephen Boyd 2018-01-03 8:43 ` Geert Uytterhoeven 2018-01-03 15:37 ` Arnd Bergmann @ 2018-01-10 21:20 ` Stephen Boyd 2018-01-10 21:20 ` Stephen Boyd 2 siblings, 1 reply; 25+ messages in thread From: Stephen Boyd @ 2018-01-10 21:20 UTC (permalink / raw) To: Michael Turquette Cc: linux-kernel, linux-clk, linux-arch, Russell King, Arnd Bergmann On 01/02, Stephen Boyd wrote: > Now that every architecture is using the generic clkdev.h file > and we no longer include asm/clkdev.h anywhere in the tree, we > can remove it. > > Cc: Russell King <linux@armlinux.org.uk> > Cc: Arnd Bergmann <arnd@arndb.de> > Cc: <linux-arch@vger.kernel.org> > Signed-off-by: Stephen Boyd <sboyd@codeaurora.org> > --- Applied to clk-next -- Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum, a Linux Foundation Collaborative Project ^ permalink raw reply [flat|nested] 25+ messages in thread
* Re: [PATCH 3/5] arch: Remove clkdev.h asm-generic from Kbuild 2018-01-10 21:20 ` Stephen Boyd @ 2018-01-10 21:20 ` Stephen Boyd 0 siblings, 0 replies; 25+ messages in thread From: Stephen Boyd @ 2018-01-10 21:20 UTC (permalink / raw) To: Michael Turquette Cc: linux-kernel, linux-clk, linux-arch, Russell King, Arnd Bergmann On 01/02, Stephen Boyd wrote: > Now that every architecture is using the generic clkdev.h file > and we no longer include asm/clkdev.h anywhere in the tree, we > can remove it. > > Cc: Russell King <linux@armlinux.org.uk> > Cc: Arnd Bergmann <arnd@arndb.de> > Cc: <linux-arch@vger.kernel.org> > Signed-off-by: Stephen Boyd <sboyd@codeaurora.org> > --- Applied to clk-next -- Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum, a Linux Foundation Collaborative Project ^ permalink raw reply [flat|nested] 25+ messages in thread
* [PATCH 4/5] clk: sunxi: Use CLK_IS_CRITICAL flag for critical clks 2018-01-03 1:35 [PATCH 0/5] Remove asm/clkdev.h and privatize __clk{get,put}() Stephen Boyd ` (3 preceding siblings ...) 2018-01-03 1:35 ` [PATCH 3/5] arch: Remove clkdev.h asm-generic from Kbuild Stephen Boyd @ 2018-01-03 1:35 ` Stephen Boyd 2018-01-03 2:58 ` Chen-Yu Tsai ` (2 more replies) 2018-01-03 1:35 ` [PATCH 5/5] clk: Move __clk_{get,put}() into private clk.h API Stephen Boyd 5 siblings, 3 replies; 25+ messages in thread From: Stephen Boyd @ 2018-01-03 1:35 UTC (permalink / raw) To: Michael Turquette, Stephen Boyd Cc: linux-kernel, linux-clk, linux-arch, Maxime Ripard, Chen-Yu Tsai We'd like to privatize __clk_get(), but the sunxi clk driver is calling this function to keep a reference held on the clk and call clk_prepare_enable() on it. We support this design in the clk core now with the CLK_IS_CRITICAL flag, so let's just use that instead. Cc: Maxime Ripard <maxime.ripard@free-electrons.com> Cc: Chen-Yu Tsai <wens@csie.org> Signed-off-by: Stephen Boyd <sboyd@codeaurora.org> --- drivers/clk/sunxi/clk-factors.c | 26 +++++++++++++++++++++----- drivers/clk/sunxi/clk-factors.h | 4 ++++ drivers/clk/sunxi/clk-mod0.c | 9 ++------- drivers/clk/sunxi/clk-sun8i-mbus.c | 7 ++----- drivers/clk/sunxi/clk-sun9i-core.c | 9 ++------- drivers/clk/sunxi/clk-sunxi.c | 36 +++++++++++++----------------------- 6 files changed, 44 insertions(+), 47 deletions(-) diff --git a/drivers/clk/sunxi/clk-factors.c b/drivers/clk/sunxi/clk-factors.c index 856fef65433b..f6f4757d2dd1 100644 --- a/drivers/clk/sunxi/clk-factors.c +++ b/drivers/clk/sunxi/clk-factors.c @@ -176,10 +176,10 @@ static const struct clk_ops clk_factors_ops = { .set_rate = clk_factors_set_rate, }; -struct clk *sunxi_factors_register(struct device_node *node, - const struct factors_data *data, - spinlock_t *lock, - void __iomem *reg) +struct clk *__sunxi_factors_register(struct device_node *node, + const struct factors_data *data, + spinlock_t *lock, void __iomem *reg, + unsigned long flags) { struct clk *clk; struct clk_factors *factors; @@ -249,7 +249,7 @@ struct clk *sunxi_factors_register(struct device_node *node, parents, i, mux_hw, &clk_mux_ops, &factors->hw, &clk_factors_ops, - gate_hw, &clk_gate_ops, 0); + gate_hw, &clk_gate_ops, CLK_IS_CRITICAL); if (IS_ERR(clk)) goto err_register; @@ -272,6 +272,22 @@ struct clk *sunxi_factors_register(struct device_node *node, return NULL; } +struct clk *sunxi_factors_register(struct device_node *node, + const struct factors_data *data, + spinlock_t *lock, + void __iomem *reg) +{ + return __sunxi_factors_register(node, data, lock, reg, 0); +} + +struct clk *sunxi_factors_register_critical(struct device_node *node, + const struct factors_data *data, + spinlock_t *lock, + void __iomem *reg) +{ + return __sunxi_factors_register(node, data, lock, reg, CLK_IS_CRITICAL); +} + void sunxi_factors_unregister(struct device_node *node, struct clk *clk) { struct clk_hw *hw = __clk_get_hw(clk); diff --git a/drivers/clk/sunxi/clk-factors.h b/drivers/clk/sunxi/clk-factors.h index 824f746b2567..7ad2ca924d0d 100644 --- a/drivers/clk/sunxi/clk-factors.h +++ b/drivers/clk/sunxi/clk-factors.h @@ -55,6 +55,10 @@ struct clk *sunxi_factors_register(struct device_node *node, const struct factors_data *data, spinlock_t *lock, void __iomem *reg); +struct clk *sunxi_factors_register_critical(struct device_node *node, + const struct factors_data *data, + spinlock_t *lock, + void __iomem *reg); void sunxi_factors_unregister(struct device_node *node, struct clk *clk); diff --git a/drivers/clk/sunxi/clk-mod0.c b/drivers/clk/sunxi/clk-mod0.c index 4417ae129ac7..a27c264cc9b4 100644 --- a/drivers/clk/sunxi/clk-mod0.c +++ b/drivers/clk/sunxi/clk-mod0.c @@ -15,7 +15,6 @@ */ #include <linux/clk.h> -#include <linux/clkdev.h> #include <linux/clk-provider.h> #include <linux/of_address.h> #include <linux/platform_device.h> @@ -155,7 +154,6 @@ static DEFINE_SPINLOCK(sun5i_a13_mbus_lock); static void __init sun5i_a13_mbus_setup(struct device_node *node) { - struct clk *mbus; void __iomem *reg; reg = of_iomap(node, 0); @@ -164,12 +162,9 @@ static void __init sun5i_a13_mbus_setup(struct device_node *node) return; } - mbus = sunxi_factors_register(node, &sun4i_a10_mod0_data, - &sun5i_a13_mbus_lock, reg); - /* The MBUS clocks needs to be always enabled */ - __clk_get(mbus); - clk_prepare_enable(mbus); + sunxi_factors_register_critical(node, &sun4i_a10_mod0_data, + &sun5i_a13_mbus_lock, reg); } CLK_OF_DECLARE(sun5i_a13_mbus, "allwinner,sun5i-a13-mbus-clk", sun5i_a13_mbus_setup); diff --git a/drivers/clk/sunxi/clk-sun8i-mbus.c b/drivers/clk/sunxi/clk-sun8i-mbus.c index b200ebf159ee..56db89b6979f 100644 --- a/drivers/clk/sunxi/clk-sun8i-mbus.c +++ b/drivers/clk/sunxi/clk-sun8i-mbus.c @@ -15,7 +15,6 @@ */ #include <linux/clk.h> -#include <linux/clkdev.h> #include <linux/clk-provider.h> #include <linux/slab.h> #include <linux/spinlock.h> @@ -82,11 +81,12 @@ static void __init sun8i_a23_mbus_setup(struct device_node *node) mux->mask = SUN8I_MBUS_MUX_MASK; mux->lock = &sun8i_a23_mbus_lock; + /* The MBUS clocks needs to be always enabled */ clk = clk_register_composite(NULL, clk_name, parents, num_parents, &mux->hw, &clk_mux_ops, &div->hw, &clk_divider_ops, &gate->hw, &clk_gate_ops, - 0); + CLK_IS_CRITICAL); if (IS_ERR(clk)) goto err_free_gate; @@ -95,9 +95,6 @@ static void __init sun8i_a23_mbus_setup(struct device_node *node) goto err_unregister_clk; kfree(parents); /* parents is deep copied */ - /* The MBUS clocks needs to be always enabled */ - __clk_get(clk); - clk_prepare_enable(clk); return; diff --git a/drivers/clk/sunxi/clk-sun9i-core.c b/drivers/clk/sunxi/clk-sun9i-core.c index 43f014f85803..e9295c286d5d 100644 --- a/drivers/clk/sunxi/clk-sun9i-core.c +++ b/drivers/clk/sunxi/clk-sun9i-core.c @@ -15,7 +15,6 @@ */ #include <linux/clk.h> -#include <linux/clkdev.h> #include <linux/clk-provider.h> #include <linux/of.h> #include <linux/of_address.h> @@ -140,7 +139,6 @@ static DEFINE_SPINLOCK(sun9i_a80_gt_lock); static void __init sun9i_a80_gt_setup(struct device_node *node) { void __iomem *reg; - struct clk *gt; reg = of_io_request_and_map(node, 0, of_node_full_name(node)); if (IS_ERR(reg)) { @@ -149,12 +147,9 @@ static void __init sun9i_a80_gt_setup(struct device_node *node) return; } - gt = sunxi_factors_register(node, &sun9i_a80_gt_data, - &sun9i_a80_gt_lock, reg); - /* The GT bus clock needs to be always enabled */ - __clk_get(gt); - clk_prepare_enable(gt); + sunxi_factors_register_critical(node, &sun9i_a80_gt_data, + &sun9i_a80_gt_lock, reg); } CLK_OF_DECLARE(sun9i_a80_gt, "allwinner,sun9i-a80-gt-clk", sun9i_a80_gt_setup); diff --git a/drivers/clk/sunxi/clk-sunxi.c b/drivers/clk/sunxi/clk-sunxi.c index aa4add580516..012714d94b42 100644 --- a/drivers/clk/sunxi/clk-sunxi.c +++ b/drivers/clk/sunxi/clk-sunxi.c @@ -656,7 +656,8 @@ static const struct mux_data sun8i_h3_ahb2_mux_data __initconst = { }; static struct clk * __init sunxi_mux_clk_setup(struct device_node *node, - const struct mux_data *data) + const struct mux_data *data, + unsigned long flags) { struct clk *clk; const char *clk_name = node->name; @@ -678,7 +679,7 @@ static struct clk * __init sunxi_mux_clk_setup(struct device_node *node, } clk = clk_register_mux(NULL, clk_name, parents, i, - CLK_SET_RATE_PARENT, reg, + CLK_SET_RATE_PARENT | flags, reg, data->shift, SUNXI_MUX_GATE_WIDTH, 0, &clk_lock); @@ -703,29 +704,22 @@ static struct clk * __init sunxi_mux_clk_setup(struct device_node *node, static void __init sun4i_cpu_clk_setup(struct device_node *node) { - struct clk *clk; - - clk = sunxi_mux_clk_setup(node, &sun4i_cpu_mux_data); - if (!clk) - return; - /* Protect CPU clock */ - __clk_get(clk); - clk_prepare_enable(clk); + sunxi_mux_clk_setup(node, &sun4i_cpu_mux_data, CLK_IS_CRITICAL); } CLK_OF_DECLARE(sun4i_cpu, "allwinner,sun4i-a10-cpu-clk", sun4i_cpu_clk_setup); static void __init sun6i_ahb1_mux_clk_setup(struct device_node *node) { - sunxi_mux_clk_setup(node, &sun6i_a31_ahb1_mux_data); + sunxi_mux_clk_setup(node, &sun6i_a31_ahb1_mux_data, 0); } CLK_OF_DECLARE(sun6i_ahb1_mux, "allwinner,sun6i-a31-ahb1-mux-clk", sun6i_ahb1_mux_clk_setup); static void __init sun8i_ahb2_clk_setup(struct device_node *node) { - sunxi_mux_clk_setup(node, &sun8i_h3_ahb2_mux_data); + sunxi_mux_clk_setup(node, &sun8i_h3_ahb2_mux_data, 0); } CLK_OF_DECLARE(sun8i_ahb2, "allwinner,sun8i-h3-ahb2-clk", sun8i_ahb2_clk_setup); @@ -900,6 +894,7 @@ struct divs_data { u8 shift; /* otherwise it's a normal divisor with this shift */ u8 pow; /* is it power-of-two based? */ u8 gate; /* is it independently gateable? */ + bool critical; } div[SUNXI_DIVS_MAX_QTY]; }; @@ -915,7 +910,8 @@ static const struct divs_data pll5_divs_data __initconst = { .factors = &sun4i_pll5_data, .ndivs = 2, .div = { - { .shift = 0, .pow = 0, }, /* M, DDR */ + /* Protect PLL5_DDR */ + { .shift = 0, .pow = 0, .critical = true }, /* M, DDR */ { .shift = 16, .pow = 1, }, /* P, other */ /* No output for the base factor clock */ } @@ -1089,7 +1085,9 @@ static struct clk ** __init sunxi_divs_clk_setup(struct device_node *node, NULL, NULL, rate_hw, rate_ops, gate_hw, &clk_gate_ops, - clkflags); + clkflags | + data->div[i].critical ? + CLK_IS_CRITICAL : 0); WARN_ON(IS_ERR(clk_data->clks[i])); } @@ -1117,15 +1115,7 @@ static struct clk ** __init sunxi_divs_clk_setup(struct device_node *node, static void __init sun4i_pll5_clk_setup(struct device_node *node) { - struct clk **clks; - - clks = sunxi_divs_clk_setup(node, &pll5_divs_data); - if (!clks) - return; - - /* Protect PLL5_DDR */ - __clk_get(clks[0]); - clk_prepare_enable(clks[0]); + sunxi_divs_clk_setup(node, &pll5_divs_data); } CLK_OF_DECLARE(sun4i_pll5, "allwinner,sun4i-a10-pll5-clk", sun4i_pll5_clk_setup); -- The Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum, a Linux Foundation Collaborative Project ^ permalink raw reply related [flat|nested] 25+ messages in thread
* Re: [PATCH 4/5] clk: sunxi: Use CLK_IS_CRITICAL flag for critical clks 2018-01-03 1:35 ` [PATCH 4/5] clk: sunxi: Use CLK_IS_CRITICAL flag for critical clks Stephen Boyd @ 2018-01-03 2:58 ` Chen-Yu Tsai 2018-01-03 17:01 ` Stephen Boyd 2018-01-04 13:13 ` Maxime Ripard 2018-01-10 21:20 ` Stephen Boyd 2 siblings, 1 reply; 25+ messages in thread From: Chen-Yu Tsai @ 2018-01-03 2:58 UTC (permalink / raw) To: Stephen Boyd Cc: Michael Turquette, linux-kernel, linux-clk, open list:GENERIC INCLUDE/A..., Maxime Ripard, Chen-Yu Tsai On Wed, Jan 3, 2018 at 9:35 AM, Stephen Boyd <sboyd@codeaurora.org> wrote: > We'd like to privatize __clk_get(), but the sunxi clk driver is > calling this function to keep a reference held on the clk and > call clk_prepare_enable() on it. We support this design in the > clk core now with the CLK_IS_CRITICAL flag, so let's just use > that instead. > > Cc: Maxime Ripard <maxime.ripard@free-electrons.com> > Cc: Chen-Yu Tsai <wens@csie.org> > Signed-off-by: Stephen Boyd <sboyd@codeaurora.org> > --- > drivers/clk/sunxi/clk-factors.c | 26 +++++++++++++++++++++----- > drivers/clk/sunxi/clk-factors.h | 4 ++++ > drivers/clk/sunxi/clk-mod0.c | 9 ++------- > drivers/clk/sunxi/clk-sun8i-mbus.c | 7 ++----- > drivers/clk/sunxi/clk-sun9i-core.c | 9 ++------- > drivers/clk/sunxi/clk-sunxi.c | 36 +++++++++++++----------------------- > 6 files changed, 44 insertions(+), 47 deletions(-) > > diff --git a/drivers/clk/sunxi/clk-factors.c b/drivers/clk/sunxi/clk-factors.c > index 856fef65433b..f6f4757d2dd1 100644 > --- a/drivers/clk/sunxi/clk-factors.c > +++ b/drivers/clk/sunxi/clk-factors.c > @@ -176,10 +176,10 @@ static const struct clk_ops clk_factors_ops = { > .set_rate = clk_factors_set_rate, > }; > > -struct clk *sunxi_factors_register(struct device_node *node, > - const struct factors_data *data, > - spinlock_t *lock, > - void __iomem *reg) > +struct clk *__sunxi_factors_register(struct device_node *node, This looks like it's only used within the file by the two wrapper functions. Mark it static? Otherwise Reviewed-by: Chen-Yu Tsai <wens@csie.org> Looks like you picked the easiest (least code changes) for each type of clock? ^ permalink raw reply [flat|nested] 25+ messages in thread
* Re: [PATCH 4/5] clk: sunxi: Use CLK_IS_CRITICAL flag for critical clks 2018-01-03 2:58 ` Chen-Yu Tsai @ 2018-01-03 17:01 ` Stephen Boyd 0 siblings, 0 replies; 25+ messages in thread From: Stephen Boyd @ 2018-01-03 17:01 UTC (permalink / raw) To: Chen-Yu Tsai Cc: Michael Turquette, linux-kernel, linux-clk, open list:GENERIC INCLUDE/A..., Maxime Ripard On 01/03, Chen-Yu Tsai wrote: > On Wed, Jan 3, 2018 at 9:35 AM, Stephen Boyd <sboyd@codeaurora.org> wrote: > > We'd like to privatize __clk_get(), but the sunxi clk driver is > > calling this function to keep a reference held on the clk and > > call clk_prepare_enable() on it. We support this design in the > > clk core now with the CLK_IS_CRITICAL flag, so let's just use > > that instead. > > > > Cc: Maxime Ripard <maxime.ripard@free-electrons.com> > > Cc: Chen-Yu Tsai <wens@csie.org> > > Signed-off-by: Stephen Boyd <sboyd@codeaurora.org> > > --- > > drivers/clk/sunxi/clk-factors.c | 26 +++++++++++++++++++++----- > > drivers/clk/sunxi/clk-factors.h | 4 ++++ > > drivers/clk/sunxi/clk-mod0.c | 9 ++------- > > drivers/clk/sunxi/clk-sun8i-mbus.c | 7 ++----- > > drivers/clk/sunxi/clk-sun9i-core.c | 9 ++------- > > drivers/clk/sunxi/clk-sunxi.c | 36 +++++++++++++----------------------- > > 6 files changed, 44 insertions(+), 47 deletions(-) > > > > diff --git a/drivers/clk/sunxi/clk-factors.c b/drivers/clk/sunxi/clk-factors.c > > index 856fef65433b..f6f4757d2dd1 100644 > > --- a/drivers/clk/sunxi/clk-factors.c > > +++ b/drivers/clk/sunxi/clk-factors.c > > @@ -176,10 +176,10 @@ static const struct clk_ops clk_factors_ops = { > > .set_rate = clk_factors_set_rate, > > }; > > > > -struct clk *sunxi_factors_register(struct device_node *node, > > - const struct factors_data *data, > > - spinlock_t *lock, > > - void __iomem *reg) > > +struct clk *__sunxi_factors_register(struct device_node *node, > > This looks like it's only used within the file by the two wrapper > functions. Mark it static? Ah thanks. I hadn't run sparse yet. > > Otherwise > > Reviewed-by: Chen-Yu Tsai <wens@csie.org> > > Looks like you picked the easiest (least code changes) for each type > of clock? Yep. -- Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum, a Linux Foundation Collaborative Project ^ permalink raw reply [flat|nested] 25+ messages in thread
* Re: [PATCH 4/5] clk: sunxi: Use CLK_IS_CRITICAL flag for critical clks 2018-01-03 1:35 ` [PATCH 4/5] clk: sunxi: Use CLK_IS_CRITICAL flag for critical clks Stephen Boyd 2018-01-03 2:58 ` Chen-Yu Tsai @ 2018-01-04 13:13 ` Maxime Ripard 2018-01-10 21:20 ` Stephen Boyd 2 siblings, 0 replies; 25+ messages in thread From: Maxime Ripard @ 2018-01-04 13:13 UTC (permalink / raw) To: Stephen Boyd Cc: Michael Turquette, linux-kernel, linux-clk, linux-arch, Chen-Yu Tsai [-- Attachment #1: Type: text/plain, Size: 678 bytes --] On Tue, Jan 02, 2018 at 05:35:15PM -0800, Stephen Boyd wrote: > We'd like to privatize __clk_get(), but the sunxi clk driver is > calling this function to keep a reference held on the clk and > call clk_prepare_enable() on it. We support this design in the > clk core now with the CLK_IS_CRITICAL flag, so let's just use > that instead. > > Cc: Maxime Ripard <maxime.ripard@free-electrons.com> > Cc: Chen-Yu Tsai <wens@csie.org> > Signed-off-by: Stephen Boyd <sboyd@codeaurora.org> Acked-by: Maxime Ripard <maxime.ripard@free-electrons.com> Thanks! Maxime -- Maxime Ripard, Free Electrons Embedded Linux and Kernel engineering http://free-electrons.com [-- Attachment #2: signature.asc --] [-- Type: application/pgp-signature, Size: 833 bytes --] ^ permalink raw reply [flat|nested] 25+ messages in thread
* Re: [PATCH 4/5] clk: sunxi: Use CLK_IS_CRITICAL flag for critical clks 2018-01-03 1:35 ` [PATCH 4/5] clk: sunxi: Use CLK_IS_CRITICAL flag for critical clks Stephen Boyd 2018-01-03 2:58 ` Chen-Yu Tsai 2018-01-04 13:13 ` Maxime Ripard @ 2018-01-10 21:20 ` Stephen Boyd 2018-01-10 21:20 ` Stephen Boyd 2 siblings, 1 reply; 25+ messages in thread From: Stephen Boyd @ 2018-01-10 21:20 UTC (permalink / raw) To: Michael Turquette Cc: linux-kernel, linux-clk, linux-arch, Maxime Ripard, Chen-Yu Tsai On 01/02, Stephen Boyd wrote: > We'd like to privatize __clk_get(), but the sunxi clk driver is > calling this function to keep a reference held on the clk and > call clk_prepare_enable() on it. We support this design in the > clk core now with the CLK_IS_CRITICAL flag, so let's just use > that instead. > > Cc: Maxime Ripard <maxime.ripard@free-electrons.com> > Cc: Chen-Yu Tsai <wens@csie.org> > Signed-off-by: Stephen Boyd <sboyd@codeaurora.org> > --- Applied to clk-next -- Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum, a Linux Foundation Collaborative Project ^ permalink raw reply [flat|nested] 25+ messages in thread
* Re: [PATCH 4/5] clk: sunxi: Use CLK_IS_CRITICAL flag for critical clks 2018-01-10 21:20 ` Stephen Boyd @ 2018-01-10 21:20 ` Stephen Boyd 0 siblings, 0 replies; 25+ messages in thread From: Stephen Boyd @ 2018-01-10 21:20 UTC (permalink / raw) To: Michael Turquette Cc: linux-kernel, linux-clk, linux-arch, Maxime Ripard, Chen-Yu Tsai On 01/02, Stephen Boyd wrote: > We'd like to privatize __clk_get(), but the sunxi clk driver is > calling this function to keep a reference held on the clk and > call clk_prepare_enable() on it. We support this design in the > clk core now with the CLK_IS_CRITICAL flag, so let's just use > that instead. > > Cc: Maxime Ripard <maxime.ripard@free-electrons.com> > Cc: Chen-Yu Tsai <wens@csie.org> > Signed-off-by: Stephen Boyd <sboyd@codeaurora.org> > --- Applied to clk-next -- Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum, a Linux Foundation Collaborative Project ^ permalink raw reply [flat|nested] 25+ messages in thread
* [PATCH 5/5] clk: Move __clk_{get,put}() into private clk.h API 2018-01-03 1:35 [PATCH 0/5] Remove asm/clkdev.h and privatize __clk{get,put}() Stephen Boyd ` (4 preceding siblings ...) 2018-01-03 1:35 ` [PATCH 4/5] clk: sunxi: Use CLK_IS_CRITICAL flag for critical clks Stephen Boyd @ 2018-01-03 1:35 ` Stephen Boyd 2018-01-03 1:35 ` Stephen Boyd 2018-01-10 21:20 ` Stephen Boyd 5 siblings, 2 replies; 25+ messages in thread From: Stephen Boyd @ 2018-01-03 1:35 UTC (permalink / raw) To: Michael Turquette, Stephen Boyd Cc: linux-kernel, linux-clk, linux-arch, Russell King We can move these APIs into the private header file now that we don't have any users of the __clk_get() and __clk_put() APIs outside of clkdev.c and clk.c. Cc: Russell King <linux@armlinux.org.uk> Signed-off-by: Stephen Boyd <sboyd@codeaurora.org> --- drivers/clk/clk.h | 4 ++++ include/linux/clkdev.h | 8 -------- 2 files changed, 4 insertions(+), 8 deletions(-) diff --git a/drivers/clk/clk.h b/drivers/clk/clk.h index 00b35a13cdf3..70c0ba6336c1 100644 --- a/drivers/clk/clk.h +++ b/drivers/clk/clk.h @@ -20,6 +20,8 @@ struct clk *__of_clk_get_from_provider(struct of_phandle_args *clkspec, struct clk *__clk_create_clk(struct clk_hw *hw, const char *dev_id, const char *con_id); void __clk_free_clk(struct clk *clk); +int __clk_get(struct clk *clk); +void __clk_put(struct clk *clk); #else /* All these casts to avoid ifdefs in clkdev... */ static inline struct clk * @@ -32,5 +34,7 @@ static struct clk_hw *__clk_get_hw(struct clk *clk) { return (struct clk_hw *)clk; } +static inline int __clk_get(struct clk *clk) { return 1; } +static inline void __clk_put(struct clk *clk) { } #endif diff --git a/include/linux/clkdev.h b/include/linux/clkdev.h index ef98ee8c6358..4890ff033220 100644 --- a/include/linux/clkdev.h +++ b/include/linux/clkdev.h @@ -52,12 +52,4 @@ int clk_add_alias(const char *, const char *, const char *, struct device *); int clk_register_clkdev(struct clk *, const char *, const char *); int clk_hw_register_clkdev(struct clk_hw *, const char *, const char *); -#ifdef CONFIG_COMMON_CLK -int __clk_get(struct clk *clk); -void __clk_put(struct clk *clk); -#else -static inline int __clk_get(struct clk *clk) { return 1; } -static inline void __clk_put(struct clk *clk) { } -#endif - #endif -- The Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum, a Linux Foundation Collaborative Project ^ permalink raw reply related [flat|nested] 25+ messages in thread
* [PATCH 5/5] clk: Move __clk_{get,put}() into private clk.h API 2018-01-03 1:35 ` [PATCH 5/5] clk: Move __clk_{get,put}() into private clk.h API Stephen Boyd @ 2018-01-03 1:35 ` Stephen Boyd 2018-01-10 21:20 ` Stephen Boyd 1 sibling, 0 replies; 25+ messages in thread From: Stephen Boyd @ 2018-01-03 1:35 UTC (permalink / raw) To: Michael Turquette, Stephen Boyd Cc: linux-kernel, linux-clk, linux-arch, Russell King We can move these APIs into the private header file now that we don't have any users of the __clk_get() and __clk_put() APIs outside of clkdev.c and clk.c. Cc: Russell King <linux@armlinux.org.uk> Signed-off-by: Stephen Boyd <sboyd@codeaurora.org> --- drivers/clk/clk.h | 4 ++++ include/linux/clkdev.h | 8 -------- 2 files changed, 4 insertions(+), 8 deletions(-) diff --git a/drivers/clk/clk.h b/drivers/clk/clk.h index 00b35a13cdf3..70c0ba6336c1 100644 --- a/drivers/clk/clk.h +++ b/drivers/clk/clk.h @@ -20,6 +20,8 @@ struct clk *__of_clk_get_from_provider(struct of_phandle_args *clkspec, struct clk *__clk_create_clk(struct clk_hw *hw, const char *dev_id, const char *con_id); void __clk_free_clk(struct clk *clk); +int __clk_get(struct clk *clk); +void __clk_put(struct clk *clk); #else /* All these casts to avoid ifdefs in clkdev... */ static inline struct clk * @@ -32,5 +34,7 @@ static struct clk_hw *__clk_get_hw(struct clk *clk) { return (struct clk_hw *)clk; } +static inline int __clk_get(struct clk *clk) { return 1; } +static inline void __clk_put(struct clk *clk) { } #endif diff --git a/include/linux/clkdev.h b/include/linux/clkdev.h index ef98ee8c6358..4890ff033220 100644 --- a/include/linux/clkdev.h +++ b/include/linux/clkdev.h @@ -52,12 +52,4 @@ int clk_add_alias(const char *, const char *, const char *, struct device *); int clk_register_clkdev(struct clk *, const char *, const char *); int clk_hw_register_clkdev(struct clk_hw *, const char *, const char *); -#ifdef CONFIG_COMMON_CLK -int __clk_get(struct clk *clk); -void __clk_put(struct clk *clk); -#else -static inline int __clk_get(struct clk *clk) { return 1; } -static inline void __clk_put(struct clk *clk) { } -#endif - #endif -- The Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum, a Linux Foundation Collaborative Project ^ permalink raw reply related [flat|nested] 25+ messages in thread
* Re: [PATCH 5/5] clk: Move __clk_{get,put}() into private clk.h API 2018-01-03 1:35 ` [PATCH 5/5] clk: Move __clk_{get,put}() into private clk.h API Stephen Boyd 2018-01-03 1:35 ` Stephen Boyd @ 2018-01-10 21:20 ` Stephen Boyd 2018-01-10 21:20 ` Stephen Boyd 1 sibling, 1 reply; 25+ messages in thread From: Stephen Boyd @ 2018-01-10 21:20 UTC (permalink / raw) To: Michael Turquette; +Cc: linux-kernel, linux-clk, linux-arch, Russell King On 01/02, Stephen Boyd wrote: > We can move these APIs into the private header file now that we > don't have any users of the __clk_get() and __clk_put() APIs > outside of clkdev.c and clk.c. > > Cc: Russell King <linux@armlinux.org.uk> > Signed-off-by: Stephen Boyd <sboyd@codeaurora.org> > --- Applied to clk-next -- Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum, a Linux Foundation Collaborative Project ^ permalink raw reply [flat|nested] 25+ messages in thread
* Re: [PATCH 5/5] clk: Move __clk_{get,put}() into private clk.h API 2018-01-10 21:20 ` Stephen Boyd @ 2018-01-10 21:20 ` Stephen Boyd 0 siblings, 0 replies; 25+ messages in thread From: Stephen Boyd @ 2018-01-10 21:20 UTC (permalink / raw) To: Michael Turquette; +Cc: linux-kernel, linux-clk, linux-arch, Russell King On 01/02, Stephen Boyd wrote: > We can move these APIs into the private header file now that we > don't have any users of the __clk_get() and __clk_put() APIs > outside of clkdev.c and clk.c. > > Cc: Russell King <linux@armlinux.org.uk> > Signed-off-by: Stephen Boyd <sboyd@codeaurora.org> > --- Applied to clk-next -- Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum, a Linux Foundation Collaborative Project ^ permalink raw reply [flat|nested] 25+ messages in thread
end of thread, other threads:[~2018-01-10 21:20 UTC | newest] Thread overview: 25+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2018-01-03 1:35 [PATCH 0/5] Remove asm/clkdev.h and privatize __clk{get,put}() Stephen Boyd 2018-01-03 1:35 ` Stephen Boyd 2018-01-03 1:35 ` [PATCH 1/5] blackfin: Use generic clkdev.h header Stephen Boyd 2018-01-10 21:20 ` Stephen Boyd 2018-01-10 21:20 ` Stephen Boyd 2018-01-03 1:35 ` [PATCH 2/5] clk: Prepare to remove asm-generic/clkdev.h Stephen Boyd 2018-01-10 21:20 ` Stephen Boyd 2018-01-10 21:20 ` Stephen Boyd 2018-01-03 1:35 ` [PATCH 3/5] arch: Remove clkdev.h asm-generic from Kbuild Stephen Boyd 2018-01-03 8:43 ` Geert Uytterhoeven 2018-01-03 8:43 ` Geert Uytterhoeven 2018-01-03 15:37 ` Arnd Bergmann 2018-01-03 15:37 ` Arnd Bergmann 2018-01-10 21:20 ` Stephen Boyd 2018-01-10 21:20 ` Stephen Boyd 2018-01-03 1:35 ` [PATCH 4/5] clk: sunxi: Use CLK_IS_CRITICAL flag for critical clks Stephen Boyd 2018-01-03 2:58 ` Chen-Yu Tsai 2018-01-03 17:01 ` Stephen Boyd 2018-01-04 13:13 ` Maxime Ripard 2018-01-10 21:20 ` Stephen Boyd 2018-01-10 21:20 ` Stephen Boyd 2018-01-03 1:35 ` [PATCH 5/5] clk: Move __clk_{get,put}() into private clk.h API Stephen Boyd 2018-01-03 1:35 ` Stephen Boyd 2018-01-10 21:20 ` Stephen Boyd 2018-01-10 21:20 ` Stephen Boyd
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for NNTP newsgroup(s).