ARM: 6483/1: arm & sh: factorised duplicated clkdev.c
factorise some generic infrastructure to assist looking up struct clks for the ARM & SH architecture. as the code is identical at 99% put the arch specific code for allocation as example in asm/clkdev.h Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com> Acked-by: Paul Mundt <lethal@linux-sh.org> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
This commit is contained in:
		
					parent
					
						
							
								64d2dc384e
							
						
					
				
			
			
				commit
				
					
						6d803ba736
					
				
			
		
					 72 changed files with 157 additions and 336 deletions
				
			
		|  | @ -221,7 +221,7 @@ config ARCH_INTEGRATOR | |||
| 	bool "ARM Ltd. Integrator family" | ||||
| 	select ARM_AMBA | ||||
| 	select ARCH_HAS_CPUFREQ | ||||
| 	select COMMON_CLKDEV | ||||
| 	select CLKDEV_LOOKUP | ||||
| 	select ICST | ||||
| 	select GENERIC_CLOCKEVENTS | ||||
| 	select PLAT_VERSATILE | ||||
|  | @ -231,7 +231,7 @@ config ARCH_INTEGRATOR | |||
| config ARCH_REALVIEW | ||||
| 	bool "ARM Ltd. RealView family" | ||||
| 	select ARM_AMBA | ||||
| 	select COMMON_CLKDEV | ||||
| 	select CLKDEV_LOOKUP | ||||
| 	select ICST | ||||
| 	select GENERIC_CLOCKEVENTS | ||||
| 	select ARCH_WANT_OPTIONAL_GPIOLIB | ||||
|  | @ -245,7 +245,7 @@ config ARCH_VERSATILE | |||
| 	bool "ARM Ltd. Versatile family" | ||||
| 	select ARM_AMBA | ||||
| 	select ARM_VIC | ||||
| 	select COMMON_CLKDEV | ||||
| 	select CLKDEV_LOOKUP | ||||
| 	select ICST | ||||
| 	select GENERIC_CLOCKEVENTS | ||||
| 	select ARCH_WANT_OPTIONAL_GPIOLIB | ||||
|  | @ -259,7 +259,7 @@ config ARCH_VEXPRESS | |||
| 	select ARCH_WANT_OPTIONAL_GPIOLIB | ||||
| 	select ARM_AMBA | ||||
| 	select ARM_TIMER_SP804 | ||||
| 	select COMMON_CLKDEV | ||||
| 	select CLKDEV_LOOKUP | ||||
| 	select GENERIC_CLOCKEVENTS | ||||
| 	select HAVE_CLK | ||||
| 	select ICST | ||||
|  | @ -280,7 +280,7 @@ config ARCH_BCMRING | |||
| 	depends on MMU | ||||
| 	select CPU_V6 | ||||
| 	select ARM_AMBA | ||||
| 	select COMMON_CLKDEV | ||||
| 	select CLKDEV_LOOKUP | ||||
| 	select GENERIC_CLOCKEVENTS | ||||
| 	select ARCH_WANT_OPTIONAL_GPIOLIB | ||||
| 	help | ||||
|  | @ -327,7 +327,7 @@ config ARCH_EP93XX | |||
| 	select CPU_ARM920T | ||||
| 	select ARM_AMBA | ||||
| 	select ARM_VIC | ||||
| 	select COMMON_CLKDEV | ||||
| 	select CLKDEV_LOOKUP | ||||
| 	select ARCH_REQUIRE_GPIOLIB | ||||
| 	select ARCH_HAS_HOLES_MEMORYMODEL | ||||
| 	select ARCH_USES_GETTIMEOFFSET | ||||
|  | @ -347,14 +347,14 @@ config ARCH_MXC | |||
| 	bool "Freescale MXC/iMX-based" | ||||
| 	select GENERIC_CLOCKEVENTS | ||||
| 	select ARCH_REQUIRE_GPIOLIB | ||||
| 	select COMMON_CLKDEV | ||||
| 	select CLKDEV_LOOKUP | ||||
| 	help | ||||
| 	  Support for Freescale MXC/iMX-based family of processors | ||||
| 
 | ||||
| config ARCH_STMP3XXX | ||||
| 	bool "Freescale STMP3xxx" | ||||
| 	select CPU_ARM926T | ||||
| 	select COMMON_CLKDEV | ||||
| 	select CLKDEV_LOOKUP | ||||
| 	select ARCH_REQUIRE_GPIOLIB | ||||
| 	select GENERIC_CLOCKEVENTS | ||||
| 	select USB_ARCH_HAS_EHCI | ||||
|  | @ -472,7 +472,7 @@ config ARCH_LPC32XX | |||
| 	select HAVE_IDE | ||||
| 	select ARM_AMBA | ||||
| 	select USB_ARCH_HAS_OHCI | ||||
| 	select COMMON_CLKDEV | ||||
| 	select CLKDEV_LOOKUP | ||||
| 	select GENERIC_TIME | ||||
| 	select GENERIC_CLOCKEVENTS | ||||
| 	help | ||||
|  | @ -506,7 +506,7 @@ config ARCH_MMP | |||
| 	bool "Marvell PXA168/910/MMP2" | ||||
| 	depends on MMU | ||||
| 	select ARCH_REQUIRE_GPIOLIB | ||||
| 	select COMMON_CLKDEV | ||||
| 	select CLKDEV_LOOKUP | ||||
| 	select GENERIC_CLOCKEVENTS | ||||
| 	select TICK_ONESHOT | ||||
| 	select PLAT_PXA | ||||
|  | @ -539,7 +539,7 @@ config ARCH_W90X900 | |||
| 	bool "Nuvoton W90X900 CPU" | ||||
| 	select CPU_ARM926T | ||||
| 	select ARCH_REQUIRE_GPIOLIB | ||||
| 	select COMMON_CLKDEV | ||||
| 	select CLKDEV_LOOKUP | ||||
| 	select GENERIC_CLOCKEVENTS | ||||
| 	help | ||||
| 	  Support for Nuvoton (Winbond logic dept.) ARM9 processor, | ||||
|  | @ -553,7 +553,7 @@ config ARCH_W90X900 | |||
| config ARCH_NUC93X | ||||
| 	bool "Nuvoton NUC93X CPU" | ||||
| 	select CPU_ARM926T | ||||
| 	select COMMON_CLKDEV | ||||
| 	select CLKDEV_LOOKUP | ||||
| 	help | ||||
| 	  Support for Nuvoton (Winbond logic dept.) NUC93X MCU,The NUC93X is a | ||||
| 	  low-power and high performance MPEG-4/JPEG multimedia controller chip. | ||||
|  | @ -564,7 +564,7 @@ config ARCH_TEGRA | |||
| 	select GENERIC_CLOCKEVENTS | ||||
| 	select GENERIC_GPIO | ||||
| 	select HAVE_CLK | ||||
| 	select COMMON_CLKDEV | ||||
| 	select CLKDEV_LOOKUP | ||||
| 	select ARCH_HAS_BARRIERS if CACHE_L2X0 | ||||
| 	select ARCH_HAS_CPUFREQ | ||||
| 	help | ||||
|  | @ -574,7 +574,7 @@ config ARCH_TEGRA | |||
| config ARCH_PNX4008 | ||||
| 	bool "Philips Nexperia PNX4008 Mobile" | ||||
| 	select CPU_ARM926T | ||||
| 	select COMMON_CLKDEV | ||||
| 	select CLKDEV_LOOKUP | ||||
| 	select ARCH_USES_GETTIMEOFFSET | ||||
| 	help | ||||
| 	  This enables support for Philips PNX4008 mobile platform. | ||||
|  | @ -584,7 +584,7 @@ config ARCH_PXA | |||
| 	depends on MMU | ||||
| 	select ARCH_MTD_XIP | ||||
| 	select ARCH_HAS_CPUFREQ | ||||
| 	select COMMON_CLKDEV | ||||
| 	select CLKDEV_LOOKUP | ||||
| 	select ARCH_REQUIRE_GPIOLIB | ||||
| 	select GENERIC_CLOCKEVENTS | ||||
| 	select TICK_ONESHOT | ||||
|  | @ -761,7 +761,7 @@ config ARCH_TCC_926 | |||
| 	bool "Telechips TCC ARM926-based systems" | ||||
| 	select CPU_ARM926T | ||||
| 	select HAVE_CLK | ||||
| 	select COMMON_CLKDEV | ||||
| 	select CLKDEV_LOOKUP | ||||
| 	select GENERIC_CLOCKEVENTS | ||||
| 	help | ||||
| 	  Support for Telechips TCC ARM926-based systems. | ||||
|  | @ -785,7 +785,7 @@ config ARCH_U300 | |||
| 	select ARM_AMBA | ||||
| 	select ARM_VIC | ||||
| 	select GENERIC_CLOCKEVENTS | ||||
| 	select COMMON_CLKDEV | ||||
| 	select CLKDEV_LOOKUP | ||||
| 	select GENERIC_GPIO | ||||
| 	help | ||||
| 	  Support for ST-Ericsson U300 series mobile platforms. | ||||
|  | @ -795,7 +795,7 @@ config ARCH_U8500 | |||
| 	select CPU_V7 | ||||
| 	select ARM_AMBA | ||||
| 	select GENERIC_CLOCKEVENTS | ||||
| 	select COMMON_CLKDEV | ||||
| 	select CLKDEV_LOOKUP | ||||
| 	select ARCH_REQUIRE_GPIOLIB | ||||
| 	help | ||||
| 	  Support for ST-Ericsson's Ux500 architecture | ||||
|  | @ -805,7 +805,7 @@ config ARCH_NOMADIK | |||
| 	select ARM_AMBA | ||||
| 	select ARM_VIC | ||||
| 	select CPU_ARM926T | ||||
| 	select COMMON_CLKDEV | ||||
| 	select CLKDEV_LOOKUP | ||||
| 	select GENERIC_CLOCKEVENTS | ||||
| 	select ARCH_REQUIRE_GPIOLIB | ||||
| 	help | ||||
|  | @ -817,7 +817,7 @@ config ARCH_DAVINCI | |||
| 	select ARCH_REQUIRE_GPIOLIB | ||||
| 	select ZONE_DMA | ||||
| 	select HAVE_IDE | ||||
| 	select COMMON_CLKDEV | ||||
| 	select CLKDEV_LOOKUP | ||||
| 	select GENERIC_ALLOCATOR | ||||
| 	select ARCH_HAS_HOLES_MEMORYMODEL | ||||
| 	help | ||||
|  | @ -837,7 +837,7 @@ config PLAT_SPEAR | |||
| 	bool "ST SPEAr" | ||||
| 	select ARM_AMBA | ||||
| 	select ARCH_REQUIRE_GPIOLIB | ||||
| 	select COMMON_CLKDEV | ||||
| 	select CLKDEV_LOOKUP | ||||
| 	select GENERIC_CLOCKEVENTS | ||||
| 	select HAVE_CLK | ||||
| 	help | ||||
|  |  | |||
|  | @ -37,7 +37,3 @@ config SHARP_PARAM | |||
| 
 | ||||
| config SHARP_SCOOP | ||||
| 	bool | ||||
| 
 | ||||
| config COMMON_CLKDEV | ||||
| 	bool | ||||
| 	select HAVE_CLK | ||||
|  |  | |||
|  | @ -16,4 +16,3 @@ obj-$(CONFIG_SHARP_SCOOP)	+= scoop.o | |||
| obj-$(CONFIG_ARCH_IXP2000)	+= uengine.o | ||||
| obj-$(CONFIG_ARCH_IXP23XX)	+= uengine.o | ||||
| obj-$(CONFIG_PCI_HOST_ITE8152)  += it8152.o | ||||
| obj-$(CONFIG_COMMON_CLKDEV)	+= clkdev.o | ||||
|  |  | |||
|  | @ -12,23 +12,13 @@ | |||
| #ifndef __ASM_CLKDEV_H | ||||
| #define __ASM_CLKDEV_H | ||||
| 
 | ||||
| struct clk; | ||||
| struct device; | ||||
| #include <linux/slab.h> | ||||
| 
 | ||||
| struct clk_lookup { | ||||
| 	struct list_head	node; | ||||
| 	const char		*dev_id; | ||||
| 	const char		*con_id; | ||||
| 	struct clk		*clk; | ||||
| }; | ||||
| #include <mach/clkdev.h> | ||||
| 
 | ||||
| struct clk_lookup *clkdev_alloc(struct clk *clk, const char *con_id, | ||||
| 	const char *dev_fmt, ...); | ||||
| 
 | ||||
| void clkdev_add(struct clk_lookup *cl); | ||||
| void clkdev_drop(struct clk_lookup *cl); | ||||
| 
 | ||||
| void clkdev_add_table(struct clk_lookup *, size_t); | ||||
| int clk_add_alias(const char *, const char *, char *, struct device *); | ||||
| static inline struct clk_lookup_alloc *__clkdev_alloc(size_t size) | ||||
| { | ||||
| 	return kzalloc(size, GFP_KERNEL); | ||||
| } | ||||
| 
 | ||||
| #endif | ||||
|  |  | |||
|  | @ -21,13 +21,12 @@ | |||
| #include <linux/string.h> | ||||
| #include <linux/clk.h> | ||||
| #include <linux/spinlock.h> | ||||
| #include <linux/clkdev.h> | ||||
| #include <mach/csp/hw_cfg.h> | ||||
| #include <mach/csp/chipcHw_def.h> | ||||
| #include <mach/csp/chipcHw_reg.h> | ||||
| #include <mach/csp/chipcHw_inline.h> | ||||
| 
 | ||||
| #include <asm/clkdev.h> | ||||
| 
 | ||||
| #include "clock.h" | ||||
| 
 | ||||
| #define clk_is_primary(x)       ((x)->type & CLK_TYPE_PRIMARY) | ||||
|  |  | |||
|  | @ -30,10 +30,10 @@ | |||
| #include <linux/amba/bus.h> | ||||
| #include <linux/clocksource.h> | ||||
| #include <linux/clockchips.h> | ||||
| #include <linux/clkdev.h> | ||||
| 
 | ||||
| #include <mach/csp/mm_addr.h> | ||||
| #include <mach/hardware.h> | ||||
| #include <asm/clkdev.h> | ||||
| #include <linux/io.h> | ||||
| #include <asm/irq.h> | ||||
| #include <asm/hardware/arm_timer.h> | ||||
|  |  | |||
|  | @ -68,7 +68,7 @@ | |||
| #ifndef __ASSEMBLER__ | ||||
| 
 | ||||
| #include <linux/list.h> | ||||
| #include <asm/clkdev.h> | ||||
| #include <linux/clkdev.h> | ||||
| 
 | ||||
| #define PLLSTAT_GOSTAT	BIT(0) | ||||
| #define PLLCMD_GOSET	BIT(0) | ||||
|  |  | |||
|  | @ -19,10 +19,10 @@ | |||
| #include <linux/string.h> | ||||
| #include <linux/io.h> | ||||
| #include <linux/spinlock.h> | ||||
| #include <linux/clkdev.h> | ||||
| 
 | ||||
| #include <mach/hardware.h> | ||||
| 
 | ||||
| #include <asm/clkdev.h> | ||||
| #include <asm/div64.h> | ||||
| 
 | ||||
| 
 | ||||
|  |  | |||
|  | @ -22,8 +22,7 @@ | |||
| #include <linux/err.h> | ||||
| #include <linux/clk.h> | ||||
| #include <linux/io.h> | ||||
| 
 | ||||
| #include <asm/clkdev.h> | ||||
| #include <linux/clkdev.h> | ||||
| 
 | ||||
| #include <mach/clock.h> | ||||
| #include <mach/hardware.h> | ||||
|  |  | |||
|  | @ -21,11 +21,11 @@ | |||
| #include <linux/clk.h> | ||||
| #include <linux/io.h> | ||||
| #include <linux/module.h> | ||||
| #include <linux/clkdev.h> | ||||
| 
 | ||||
| #include <mach/clock.h> | ||||
| #include <mach/hardware.h> | ||||
| #include <mach/common.h> | ||||
| #include <asm/clkdev.h> | ||||
| #include <asm/div64.h> | ||||
| 
 | ||||
| #define IO_ADDR_CCM(off)	(MX21_IO_ADDRESS(MX21_CCM_BASE_ADDR + (off))) | ||||
|  |  | |||
|  | @ -21,8 +21,8 @@ | |||
| #include <linux/clk.h> | ||||
| #include <linux/io.h> | ||||
| #include <linux/module.h> | ||||
| #include <linux/clkdev.h> | ||||
| 
 | ||||
| #include <asm/clkdev.h> | ||||
| #include <asm/div64.h> | ||||
| 
 | ||||
| #include <mach/clock.h> | ||||
|  |  | |||
|  | @ -21,9 +21,8 @@ | |||
| #include <linux/amba/bus.h> | ||||
| #include <linux/amba/serial.h> | ||||
| #include <linux/io.h> | ||||
| #include <linux/clkdev.h> | ||||
| 
 | ||||
| #include <asm/clkdev.h> | ||||
| #include <mach/clkdev.h> | ||||
| #include <mach/hardware.h> | ||||
| #include <mach/platform.h> | ||||
| #include <asm/irq.h> | ||||
|  |  | |||
|  | @ -22,9 +22,8 @@ | |||
| #include <linux/amba/clcd.h> | ||||
| #include <linux/io.h> | ||||
| #include <linux/slab.h> | ||||
| #include <linux/clkdev.h> | ||||
| 
 | ||||
| #include <asm/clkdev.h> | ||||
| #include <mach/clkdev.h> | ||||
| #include <asm/hardware/icst.h> | ||||
| #include <mach/lm.h> | ||||
| #include <mach/impd1.h> | ||||
|  |  | |||
|  | @ -21,9 +21,8 @@ | |||
| #include <linux/amba/mmci.h> | ||||
| #include <linux/io.h> | ||||
| #include <linux/gfp.h> | ||||
| #include <linux/clkdev.h> | ||||
| 
 | ||||
| #include <asm/clkdev.h> | ||||
| #include <mach/clkdev.h> | ||||
| #include <mach/hardware.h> | ||||
| #include <mach/platform.h> | ||||
| #include <asm/irq.h> | ||||
|  |  | |||
|  | @ -90,10 +90,9 @@ | |||
| #include <linux/clk.h> | ||||
| #include <linux/amba/bus.h> | ||||
| #include <linux/amba/clcd.h> | ||||
| #include <linux/clkdev.h> | ||||
| 
 | ||||
| #include <mach/hardware.h> | ||||
| #include <asm/clkdev.h> | ||||
| #include <mach/clkdev.h> | ||||
| #include <mach/platform.h> | ||||
| #include "clock.h" | ||||
| #include "common.h" | ||||
|  |  | |||
|  | @ -6,7 +6,7 @@ | |||
|  *  published by the Free Software Foundation. | ||||
|  */ | ||||
| 
 | ||||
| #include <asm/clkdev.h> | ||||
| #include <linux/clkdev.h> | ||||
| 
 | ||||
| struct clkops { | ||||
| 	void			(*enable)(struct clk *); | ||||
|  |  | |||
|  | @ -21,8 +21,7 @@ | |||
| #include <linux/list.h> | ||||
| #include <linux/clk.h> | ||||
| #include <linux/io.h> | ||||
| 
 | ||||
| #include <asm/clkdev.h> | ||||
| #include <linux/clkdev.h> | ||||
| 
 | ||||
| #include <mach/clock.h> | ||||
| #include <mach/hardware.h> | ||||
|  |  | |||
|  | @ -23,8 +23,8 @@ | |||
| #include <linux/clk.h> | ||||
| #include <linux/err.h> | ||||
| #include <linux/io.h> | ||||
| #include <linux/clkdev.h> | ||||
| 
 | ||||
| #include <asm/clkdev.h> | ||||
| #include <asm/div64.h> | ||||
| 
 | ||||
| #include <mach/clock.h> | ||||
|  |  | |||
|  | @ -21,8 +21,7 @@ | |||
| #include <linux/list.h> | ||||
| #include <linux/clk.h> | ||||
| #include <linux/io.h> | ||||
| 
 | ||||
| #include <asm/clkdev.h> | ||||
| #include <linux/clkdev.h> | ||||
| 
 | ||||
| #include <mach/clock.h> | ||||
| #include <mach/hardware.h> | ||||
|  |  | |||
|  | @ -14,8 +14,8 @@ | |||
| #include <linux/delay.h> | ||||
| #include <linux/clk.h> | ||||
| #include <linux/io.h> | ||||
| #include <linux/clkdev.h> | ||||
| 
 | ||||
| #include <asm/clkdev.h> | ||||
| #include <asm/div64.h> | ||||
| 
 | ||||
| #include <mach/hardware.h> | ||||
|  |  | |||
|  | @ -2,12 +2,12 @@ | |||
| #include <linux/kernel.h> | ||||
| #include <linux/init.h> | ||||
| #include <linux/io.h> | ||||
| #include <linux/clkdev.h> | ||||
| 
 | ||||
| #include <mach/clock.h> | ||||
| #include <mach/hardware.h> | ||||
| #include <mach/common.h> | ||||
| 
 | ||||
| #include <asm/clkdev.h> | ||||
| #include <asm/bug.h> | ||||
| #include <asm/div64.h> | ||||
| 
 | ||||
|  |  | |||
|  | @ -7,7 +7,7 @@ | |||
| #include <linux/module.h> | ||||
| #include <linux/errno.h> | ||||
| #include <linux/clk.h> | ||||
| #include <asm/clkdev.h> | ||||
| #include <linux/clkdev.h> | ||||
| #include "clock.h" | ||||
| 
 | ||||
| /*
 | ||||
|  |  | |||
|  | @ -10,7 +10,7 @@ | |||
|  * the Free Software Foundation; either version 2 of the License. | ||||
|  */ | ||||
| 
 | ||||
| #include <asm/clkdev.h> | ||||
| #include <linux/clkdev.h> | ||||
| 
 | ||||
| void nuc93x_clk_enable(struct clk *clk, int enable); | ||||
| void clks_register(struct clk_lookup *clks, size_t num); | ||||
|  |  | |||
|  | @ -17,9 +17,9 @@ | |||
| #include <linux/err.h> | ||||
| #include <linux/clk.h> | ||||
| #include <linux/io.h> | ||||
| #include <linux/clkdev.h> | ||||
| 
 | ||||
| #include <asm/mach-types.h> | ||||
| #include <asm/clkdev.h> | ||||
| 
 | ||||
| #include <plat/cpu.h> | ||||
| #include <plat/usb.h> | ||||
|  |  | |||
|  | @ -26,10 +26,10 @@ | |||
| #include <linux/clk.h> | ||||
| #include <linux/io.h> | ||||
| #include <linux/bitops.h> | ||||
| #include <linux/clkdev.h> | ||||
| 
 | ||||
| #include <plat/cpu.h> | ||||
| #include <plat/clock.h> | ||||
| #include <asm/clkdev.h> | ||||
| 
 | ||||
| #include "clock.h" | ||||
| #include "prm.h" | ||||
|  |  | |||
|  | @ -21,8 +21,7 @@ | |||
| #include <linux/err.h> | ||||
| #include <linux/delay.h> | ||||
| #include <linux/io.h> | ||||
| 
 | ||||
| #include <asm/clkdev.h> | ||||
| #include <linux/clkdev.h> | ||||
| 
 | ||||
| #include <mach/hardware.h> | ||||
| #include <mach/clock.h> | ||||
|  |  | |||
|  | @ -11,8 +11,8 @@ | |||
| #include <linux/spinlock.h> | ||||
| #include <linux/platform_device.h> | ||||
| #include <linux/delay.h> | ||||
| #include <linux/clkdev.h> | ||||
| 
 | ||||
| #include <asm/clkdev.h> | ||||
| #include <mach/pxa2xx-regs.h> | ||||
| #include <mach/hardware.h> | ||||
| 
 | ||||
|  |  | |||
|  | @ -1,4 +1,4 @@ | |||
| #include <asm/clkdev.h> | ||||
| #include <linux/clkdev.h> | ||||
| 
 | ||||
| struct clkops { | ||||
| 	void			(*enable)(struct clk *); | ||||
|  |  | |||
|  | @ -30,8 +30,8 @@ | |||
| #include <linux/ata_platform.h> | ||||
| #include <linux/amba/mmci.h> | ||||
| #include <linux/gfp.h> | ||||
| #include <linux/clkdev.h> | ||||
| 
 | ||||
| #include <asm/clkdev.h> | ||||
| #include <asm/system.h> | ||||
| #include <mach/hardware.h> | ||||
| #include <asm/irq.h> | ||||
|  | @ -47,7 +47,6 @@ | |||
| 
 | ||||
| #include <asm/hardware/gic.h> | ||||
| 
 | ||||
| #include <mach/clkdev.h> | ||||
| #include <mach/platform.h> | ||||
| #include <mach/irqs.h> | ||||
| #include <plat/timer-sp.h> | ||||
|  |  | |||
|  | @ -6,7 +6,7 @@ config ARCH_SH7367 | |||
| 	bool "SH-Mobile G3 (SH7367)" | ||||
| 	select CPU_V6 | ||||
| 	select HAVE_CLK | ||||
| 	select COMMON_CLKDEV | ||||
| 	select CLKDEV_LOOKUP | ||||
| 	select SH_CLK_CPG | ||||
| 	select GENERIC_CLOCKEVENTS | ||||
| 
 | ||||
|  | @ -14,7 +14,7 @@ config ARCH_SH7377 | |||
| 	bool "SH-Mobile G4 (SH7377)" | ||||
| 	select CPU_V7 | ||||
| 	select HAVE_CLK | ||||
| 	select COMMON_CLKDEV | ||||
| 	select CLKDEV_LOOKUP | ||||
| 	select SH_CLK_CPG | ||||
| 	select GENERIC_CLOCKEVENTS | ||||
| 
 | ||||
|  | @ -22,7 +22,7 @@ config ARCH_SH7372 | |||
| 	bool "SH-Mobile AP4 (SH7372)" | ||||
| 	select CPU_V7 | ||||
| 	select HAVE_CLK | ||||
| 	select COMMON_CLKDEV | ||||
| 	select CLKDEV_LOOKUP | ||||
| 	select SH_CLK_CPG | ||||
| 	select GENERIC_CLOCKEVENTS | ||||
| 
 | ||||
|  |  | |||
|  | @ -20,8 +20,8 @@ | |||
| #include <linux/kernel.h> | ||||
| #include <linux/io.h> | ||||
| #include <linux/sh_clk.h> | ||||
| #include <linux/clkdev.h> | ||||
| #include <mach/common.h> | ||||
| #include <asm/clkdev.h> | ||||
| 
 | ||||
| /* SH7367 registers */ | ||||
| #define RTFRQCR    0xe6150000 | ||||
|  |  | |||
|  | @ -20,8 +20,8 @@ | |||
| #include <linux/kernel.h> | ||||
| #include <linux/io.h> | ||||
| #include <linux/sh_clk.h> | ||||
| #include <linux/clkdev.h> | ||||
| #include <mach/common.h> | ||||
| #include <asm/clkdev.h> | ||||
| 
 | ||||
| /* SH7372 registers */ | ||||
| #define FRQCRA		0xe6150000 | ||||
|  |  | |||
|  | @ -20,8 +20,8 @@ | |||
| #include <linux/kernel.h> | ||||
| #include <linux/io.h> | ||||
| #include <linux/sh_clk.h> | ||||
| #include <linux/clkdev.h> | ||||
| #include <mach/common.h> | ||||
| #include <asm/clkdev.h> | ||||
| 
 | ||||
| /* SH7377 registers */ | ||||
| #define RTFRQCR    0xe6150000 | ||||
|  |  | |||
|  | @ -12,8 +12,7 @@ | |||
| #include <linux/io.h> | ||||
| #include <linux/module.h> | ||||
| #include <linux/spinlock.h> | ||||
| 
 | ||||
| #include <asm/clkdev.h> | ||||
| #include <linux/clkdev.h> | ||||
| 
 | ||||
| #include <mach/clock.h> | ||||
| #include <mach/irqs.h> | ||||
|  |  | |||
|  | @ -25,7 +25,7 @@ | |||
| #include <linux/slab.h> | ||||
| #include <linux/seq_file.h> | ||||
| #include <linux/regulator/consumer.h> | ||||
| #include <asm/clkdev.h> | ||||
| #include <linux/clkdev.h> | ||||
| 
 | ||||
| #include "clock.h" | ||||
| #include "board.h" | ||||
|  |  | |||
|  | @ -21,7 +21,7 @@ | |||
| #define __MACH_TEGRA_CLOCK_H | ||||
| 
 | ||||
| #include <linux/list.h> | ||||
| #include <asm/clkdev.h> | ||||
| #include <linux/clkdev.h> | ||||
| 
 | ||||
| #define DIV_BUS			(1 << 0) | ||||
| #define DIV_U71			(1 << 1) | ||||
|  |  | |||
|  | @ -24,8 +24,7 @@ | |||
| #include <linux/delay.h> | ||||
| #include <linux/io.h> | ||||
| #include <linux/hrtimer.h> | ||||
| 
 | ||||
| #include <asm/clkdev.h> | ||||
| #include <linux/clkdev.h> | ||||
| 
 | ||||
| #include <mach/iomap.h> | ||||
| 
 | ||||
|  |  | |||
|  | @ -25,8 +25,8 @@ | |||
| #include <linux/timer.h> | ||||
| #include <linux/io.h> | ||||
| #include <linux/seq_file.h> | ||||
| #include <linux/clkdev.h> | ||||
| 
 | ||||
| #include <asm/clkdev.h> | ||||
| #include <mach/hardware.h> | ||||
| #include <mach/syscon.h> | ||||
| 
 | ||||
|  |  | |||
|  | @ -13,8 +13,7 @@ | |||
| #include <linux/err.h> | ||||
| #include <linux/clk.h> | ||||
| #include <linux/io.h> | ||||
| 
 | ||||
| #include <asm/clkdev.h> | ||||
| #include <linux/clkdev.h> | ||||
| 
 | ||||
| #include <plat/mtu.h> | ||||
| #include <mach/hardware.h> | ||||
|  |  | |||
|  | @ -31,8 +31,8 @@ | |||
| #include <linux/amba/pl022.h> | ||||
| #include <linux/io.h> | ||||
| #include <linux/gfp.h> | ||||
| #include <linux/clkdev.h> | ||||
| 
 | ||||
| #include <asm/clkdev.h> | ||||
| #include <asm/system.h> | ||||
| #include <asm/irq.h> | ||||
| #include <asm/leds.h> | ||||
|  | @ -46,7 +46,6 @@ | |||
| #include <asm/mach/irq.h> | ||||
| #include <asm/mach/time.h> | ||||
| #include <asm/mach/map.h> | ||||
| #include <mach/clkdev.h> | ||||
| #include <mach/hardware.h> | ||||
| #include <mach/platform.h> | ||||
| #include <plat/timer-sp.h> | ||||
|  |  | |||
|  | @ -8,8 +8,8 @@ | |||
| #include <linux/platform_device.h> | ||||
| #include <linux/amba/bus.h> | ||||
| #include <linux/amba/clcd.h> | ||||
| #include <linux/clkdev.h> | ||||
| 
 | ||||
| #include <asm/clkdev.h> | ||||
| #include <asm/pgtable.h> | ||||
| #include <asm/hardware/arm_timer.h> | ||||
| #include <asm/hardware/cache-l2x0.h> | ||||
|  | @ -18,7 +18,6 @@ | |||
| #include <asm/pmu.h> | ||||
| #include <asm/smp_twd.h> | ||||
| 
 | ||||
| #include <mach/clkdev.h> | ||||
| #include <mach/ct-ca9x4.h> | ||||
| 
 | ||||
| #include <plat/timer-sp.h> | ||||
|  |  | |||
|  | @ -11,15 +11,14 @@ | |||
| #include <linux/spinlock.h> | ||||
| #include <linux/sysdev.h> | ||||
| #include <linux/usb/isp1760.h> | ||||
| #include <linux/clkdev.h> | ||||
| 
 | ||||
| #include <asm/clkdev.h> | ||||
| #include <asm/sizes.h> | ||||
| #include <asm/mach/flash.h> | ||||
| #include <asm/mach/map.h> | ||||
| #include <asm/mach/time.h> | ||||
| #include <asm/hardware/arm_timer.h> | ||||
| 
 | ||||
| #include <mach/clkdev.h> | ||||
| #include <mach/motherboard.h> | ||||
| 
 | ||||
| #include <plat/timer-sp.h> | ||||
|  |  | |||
|  | @ -10,7 +10,7 @@ | |||
|  * the Free Software Foundation; either version 2 of the License. | ||||
|  */ | ||||
| 
 | ||||
| #include <asm/clkdev.h> | ||||
| #include <linux/clkdev.h> | ||||
| 
 | ||||
| void nuc900_clk_enable(struct clk *clk, int enable); | ||||
| void nuc900_subclk_enable(struct clk *clk, int enable); | ||||
|  |  | |||
|  | @ -11,13 +11,13 @@ choice | |||
| 
 | ||||
| config ARCH_OMAP1 | ||||
| 	bool "TI OMAP1" | ||||
| 	select COMMON_CLKDEV | ||||
| 	select CLKDEV_LOOKUP | ||||
| 	help | ||||
| 	  "Systems based on omap7xx, omap15xx or omap16xx" | ||||
| 
 | ||||
| config ARCH_OMAP2PLUS | ||||
| 	bool "TI OMAP2/3/4" | ||||
| 	select COMMON_CLKDEV | ||||
| 	select CLKDEV_LOOKUP | ||||
| 	help | ||||
| 	  "Systems based on OMAP2, OMAP3 or OMAP4" | ||||
| 
 | ||||
|  |  | |||
|  | @ -8,7 +8,7 @@ | |||
| #ifndef __ARCH_ARM_PLAT_OMAP_INCLUDE_PLAT_CLKDEV_OMAP_H | ||||
| #define __ARCH_ARM_PLAT_OMAP_INCLUDE_PLAT_CLKDEV_OMAP_H | ||||
| 
 | ||||
| #include <asm/clkdev.h> | ||||
| #include <linux/clkdev.h> | ||||
| 
 | ||||
| struct omap_clk { | ||||
| 	u16				cpu; | ||||
|  |  | |||
|  | @ -15,7 +15,7 @@ | |||
| #define __PLAT_CLOCK_H | ||||
| 
 | ||||
| #include <linux/list.h> | ||||
| #include <asm/clkdev.h> | ||||
| #include <linux/clkdev.h> | ||||
| #include <linux/types.h> | ||||
| 
 | ||||
| /* clk structure flags */ | ||||
|  |  | |||
|  | @ -25,9 +25,9 @@ | |||
| #include <linux/err.h> | ||||
| #include <linux/delay.h> | ||||
| #include <linux/io.h> | ||||
| #include <linux/clkdev.h> | ||||
| 
 | ||||
| #include <asm/mach-types.h> | ||||
| #include <asm/clkdev.h> | ||||
| #include <mach/platform.h> | ||||
| #include <mach/regs-clkctrl.h> | ||||
| 
 | ||||
|  |  | |||
|  | @ -1,7 +1,7 @@ | |||
| config SUPERH | ||||
| 	def_bool y | ||||
| 	select EMBEDDED | ||||
| 	select HAVE_CLK | ||||
| 	select CLKDEV_LOOKUP | ||||
| 	select HAVE_IDE if HAS_IOPORT | ||||
| 	select HAVE_MEMBLOCK | ||||
| 	select HAVE_OPROFILE | ||||
|  |  | |||
|  | @ -24,10 +24,10 @@ | |||
| #include <linux/interrupt.h> | ||||
| #include <linux/usb/r8a66597.h> | ||||
| #include <linux/usb/m66592.h> | ||||
| #include <linux/clkdev.h> | ||||
| #include <net/ax88796.h> | ||||
| #include <asm/machvec.h> | ||||
| #include <mach/highlander.h> | ||||
| #include <asm/clkdev.h> | ||||
| #include <asm/clock.h> | ||||
| #include <asm/heartbeat.h> | ||||
| #include <asm/io.h> | ||||
|  |  | |||
|  | @ -1,9 +1,5 @@ | |||
| /*
 | ||||
|  *  arch/sh/include/asm/clkdev.h | ||||
|  * | ||||
|  * Cloned from arch/arm/include/asm/clkdev.h: | ||||
|  * | ||||
|  *  Copyright (C) 2008 Russell King. | ||||
|  *  Copyright (C) 2010 Paul Mundt <lethal@linux-sh.org> | ||||
|  * | ||||
|  * 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 | ||||
|  | @ -11,25 +7,25 @@ | |||
|  * | ||||
|  * Helper for the clk API to assist looking up a struct clk. | ||||
|  */ | ||||
| #ifndef __ASM_CLKDEV_H | ||||
| #define __ASM_CLKDEV_H | ||||
| 
 | ||||
| struct clk; | ||||
| #ifndef __CLKDEV__H_ | ||||
| #define __CLKDEV__H_ | ||||
| 
 | ||||
| struct clk_lookup { | ||||
| 	struct list_head	node; | ||||
| 	const char		*dev_id; | ||||
| 	const char		*con_id; | ||||
| 	struct clk		*clk; | ||||
| }; | ||||
| #include <linux/bootmem.h> | ||||
| #include <linux/mm.h> | ||||
| #include <linux/slab.h> | ||||
| 
 | ||||
| struct clk_lookup *clkdev_alloc(struct clk *clk, const char *con_id, | ||||
| 	const char *dev_fmt, ...); | ||||
| #include <asm/clock.h> | ||||
| 
 | ||||
| void clkdev_add(struct clk_lookup *cl); | ||||
| void clkdev_drop(struct clk_lookup *cl); | ||||
| static inline struct clk_lookup_alloc *__clkdev_alloc(size_t size) | ||||
| { | ||||
| 	if (!slab_is_available()) | ||||
| 		return alloc_bootmem_low_pages(size); | ||||
| 	else | ||||
| 		return kzalloc(size, GFP_KERNEL); | ||||
| } | ||||
| 
 | ||||
| void clkdev_add_table(struct clk_lookup *, size_t); | ||||
| int clk_add_alias(const char *, const char *, char *, struct device *); | ||||
| #define __clk_put(clk) | ||||
| #define __clk_get(clk) ({ 1; }) | ||||
| 
 | ||||
| #endif | ||||
| #endif /* __CLKDEV_H__ */ | ||||
|  |  | |||
|  | @ -11,7 +11,7 @@ endif | |||
| 
 | ||||
| CFLAGS_REMOVE_return_address.o = -pg | ||||
| 
 | ||||
| obj-y	:= clkdev.o debugtraps.o dma-nommu.o dumpstack.o 		\
 | ||||
| obj-y	:= debugtraps.o dma-nommu.o dumpstack.o 		\
 | ||||
| 	   idle.o io.o irq.o irq_$(BITS).o kdebugfs.o			\
 | ||||
| 	   machvec.o nmi_debug.o process.o				\
 | ||||
| 	   process_$(BITS).o ptrace.o ptrace_$(BITS).o			\
 | ||||
|  |  | |||
|  | @ -1,171 +0,0 @@ | |||
| /*
 | ||||
|  * arch/sh/kernel/clkdev.c | ||||
|  * | ||||
|  * Cloned from arch/arm/common/clkdev.c: | ||||
|  * | ||||
|  *  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. | ||||
|  */ | ||||
| #include <linux/module.h> | ||||
| #include <linux/kernel.h> | ||||
| #include <linux/device.h> | ||||
| #include <linux/list.h> | ||||
| #include <linux/errno.h> | ||||
| #include <linux/err.h> | ||||
| #include <linux/string.h> | ||||
| #include <linux/mutex.h> | ||||
| #include <linux/clk.h> | ||||
| #include <linux/slab.h> | ||||
| #include <linux/bootmem.h> | ||||
| #include <linux/mm.h> | ||||
| #include <asm/clock.h> | ||||
| #include <asm/clkdev.h> | ||||
| 
 | ||||
| static LIST_HEAD(clocks); | ||||
| static DEFINE_MUTEX(clocks_mutex); | ||||
| 
 | ||||
| /*
 | ||||
|  * Find the correct struct clk for the device and connection ID. | ||||
|  * We do slightly fuzzy matching here: | ||||
|  *  An entry with a NULL ID is assumed to be a wildcard. | ||||
|  *  If an entry has a device ID, it must match | ||||
|  *  If an entry has a connection ID, it must match | ||||
|  * Then we take the most specific entry - with the following | ||||
|  * order of precedence: dev+con > dev only > con only. | ||||
|  */ | ||||
| static struct clk *clk_find(const char *dev_id, const char *con_id) | ||||
| { | ||||
| 	struct clk_lookup *p; | ||||
| 	struct clk *clk = NULL; | ||||
| 	int match, best = 0; | ||||
| 
 | ||||
| 	list_for_each_entry(p, &clocks, node) { | ||||
| 		match = 0; | ||||
| 		if (p->dev_id) { | ||||
| 			if (!dev_id || strcmp(p->dev_id, dev_id)) | ||||
| 				continue; | ||||
| 			match += 2; | ||||
| 		} | ||||
| 		if (p->con_id) { | ||||
| 			if (!con_id || strcmp(p->con_id, con_id)) | ||||
| 				continue; | ||||
| 			match += 1; | ||||
| 		} | ||||
| 		if (match == 0) | ||||
| 			continue; | ||||
| 
 | ||||
| 		if (match > best) { | ||||
| 			clk = p->clk; | ||||
| 			best = match; | ||||
| 		} | ||||
| 	} | ||||
| 	return clk; | ||||
| } | ||||
| 
 | ||||
| struct clk *clk_get_sys(const char *dev_id, const char *con_id) | ||||
| { | ||||
| 	struct clk *clk; | ||||
| 
 | ||||
| 	mutex_lock(&clocks_mutex); | ||||
| 	clk = clk_find(dev_id, con_id); | ||||
| 	mutex_unlock(&clocks_mutex); | ||||
| 
 | ||||
| 	return clk ? clk : ERR_PTR(-ENOENT); | ||||
| } | ||||
| EXPORT_SYMBOL(clk_get_sys); | ||||
| 
 | ||||
| void clkdev_add(struct clk_lookup *cl) | ||||
| { | ||||
| 	mutex_lock(&clocks_mutex); | ||||
| 	list_add_tail(&cl->node, &clocks); | ||||
| 	mutex_unlock(&clocks_mutex); | ||||
| } | ||||
| EXPORT_SYMBOL(clkdev_add); | ||||
| 
 | ||||
| void __init clkdev_add_table(struct clk_lookup *cl, size_t num) | ||||
| { | ||||
| 	mutex_lock(&clocks_mutex); | ||||
| 	while (num--) { | ||||
| 		list_add_tail(&cl->node, &clocks); | ||||
| 		cl++; | ||||
| 	} | ||||
| 	mutex_unlock(&clocks_mutex); | ||||
| } | ||||
| 
 | ||||
| #define MAX_DEV_ID	20 | ||||
| #define MAX_CON_ID	16 | ||||
| 
 | ||||
| struct clk_lookup_alloc { | ||||
| 	struct clk_lookup cl; | ||||
| 	char	dev_id[MAX_DEV_ID]; | ||||
| 	char	con_id[MAX_CON_ID]; | ||||
| }; | ||||
| 
 | ||||
| struct clk_lookup * __init_refok | ||||
| clkdev_alloc(struct clk *clk, const char *con_id, const char *dev_fmt, ...) | ||||
| { | ||||
| 	struct clk_lookup_alloc *cla; | ||||
| 
 | ||||
| 	if (!slab_is_available()) | ||||
| 		cla = alloc_bootmem_low_pages(sizeof(*cla)); | ||||
| 	else | ||||
| 		cla = kzalloc(sizeof(*cla), GFP_KERNEL); | ||||
| 
 | ||||
| 	if (!cla) | ||||
| 		return NULL; | ||||
| 
 | ||||
| 	cla->cl.clk = clk; | ||||
| 	if (con_id) { | ||||
| 		strlcpy(cla->con_id, con_id, sizeof(cla->con_id)); | ||||
| 		cla->cl.con_id = cla->con_id; | ||||
| 	} | ||||
| 
 | ||||
| 	if (dev_fmt) { | ||||
| 		va_list ap; | ||||
| 
 | ||||
| 		va_start(ap, dev_fmt); | ||||
| 		vscnprintf(cla->dev_id, sizeof(cla->dev_id), dev_fmt, ap); | ||||
| 		cla->cl.dev_id = cla->dev_id; | ||||
| 		va_end(ap); | ||||
| 	} | ||||
| 
 | ||||
| 	return &cla->cl; | ||||
| } | ||||
| EXPORT_SYMBOL(clkdev_alloc); | ||||
| 
 | ||||
| int clk_add_alias(const char *alias, const char *alias_dev_name, char *id, | ||||
| 	struct device *dev) | ||||
| { | ||||
| 	struct clk *r = clk_get(dev, id); | ||||
| 	struct clk_lookup *l; | ||||
| 
 | ||||
| 	if (IS_ERR(r)) | ||||
| 		return PTR_ERR(r); | ||||
| 
 | ||||
| 	l = clkdev_alloc(r, alias, alias_dev_name); | ||||
| 	clk_put(r); | ||||
| 	if (!l) | ||||
| 		return -ENODEV; | ||||
| 	clkdev_add(l); | ||||
| 	return 0; | ||||
| } | ||||
| EXPORT_SYMBOL(clk_add_alias); | ||||
| 
 | ||||
| /*
 | ||||
|  * clkdev_drop - remove a clock dynamically allocated | ||||
|  */ | ||||
| void clkdev_drop(struct clk_lookup *cl) | ||||
| { | ||||
| 	struct clk_lookup_alloc *cla = container_of(cl, struct clk_lookup_alloc, cl); | ||||
| 
 | ||||
| 	mutex_lock(&clocks_mutex); | ||||
| 	list_del(&cl->node); | ||||
| 	mutex_unlock(&clocks_mutex); | ||||
| 	kfree(cla); | ||||
| } | ||||
| EXPORT_SYMBOL(clkdev_drop); | ||||
|  | @ -2,7 +2,7 @@ | |||
| #include <linux/compiler.h> | ||||
| #include <linux/slab.h> | ||||
| #include <linux/io.h> | ||||
| #include <asm/clkdev.h> | ||||
| #include <linux/clkdev.h> | ||||
| #include <asm/clock.h> | ||||
| 
 | ||||
| static struct clk master_clk = { | ||||
|  |  | |||
|  | @ -48,20 +48,4 @@ int __init clk_init(void) | |||
| 	return ret; | ||||
| } | ||||
| 
 | ||||
| /*
 | ||||
|  * Returns a clock. Note that we first try to use device id on the bus | ||||
|  * and clock name. If this fails, we try to use clock name only. | ||||
|  */ | ||||
| struct clk *clk_get(struct device *dev, const char *con_id) | ||||
| { | ||||
| 	const char *dev_id = dev ? dev_name(dev) : NULL; | ||||
| 
 | ||||
| 	return clk_get_sys(dev_id, con_id); | ||||
| } | ||||
| EXPORT_SYMBOL_GPL(clk_get); | ||||
| 
 | ||||
| void clk_put(struct clk *clk) | ||||
| { | ||||
| } | ||||
| EXPORT_SYMBOL_GPL(clk_put); | ||||
| 
 | ||||
|  |  | |||
|  | @ -13,7 +13,7 @@ | |||
| #include <linux/kernel.h> | ||||
| #include <linux/err.h> | ||||
| #include <linux/io.h> | ||||
| #include <asm/clkdev.h> | ||||
| #include <linux/clkdev.h> | ||||
| #include <asm/clock.h> | ||||
| #include <asm/freq.h> | ||||
| 
 | ||||
|  |  | |||
|  | @ -21,7 +21,7 @@ | |||
| #include <linux/init.h> | ||||
| #include <linux/kernel.h> | ||||
| #include <linux/io.h> | ||||
| #include <asm/clkdev.h> | ||||
| #include <linux/clkdev.h> | ||||
| #include <asm/clock.h> | ||||
| 
 | ||||
| /* SH7343 registers */ | ||||
|  |  | |||
|  | @ -21,7 +21,7 @@ | |||
| #include <linux/init.h> | ||||
| #include <linux/kernel.h> | ||||
| #include <linux/io.h> | ||||
| #include <asm/clkdev.h> | ||||
| #include <linux/clkdev.h> | ||||
| #include <asm/clock.h> | ||||
| 
 | ||||
| /* SH7366 registers */ | ||||
|  |  | |||
|  | @ -21,7 +21,7 @@ | |||
| #include <linux/init.h> | ||||
| #include <linux/kernel.h> | ||||
| #include <linux/io.h> | ||||
| #include <asm/clkdev.h> | ||||
| #include <linux/clkdev.h> | ||||
| #include <asm/clock.h> | ||||
| #include <asm/hwblk.h> | ||||
| #include <cpu/sh7722.h> | ||||
|  |  | |||
|  | @ -22,7 +22,7 @@ | |||
| #include <linux/kernel.h> | ||||
| #include <linux/io.h> | ||||
| #include <linux/clk.h> | ||||
| #include <asm/clkdev.h> | ||||
| #include <linux/clkdev.h> | ||||
| #include <asm/clock.h> | ||||
| #include <asm/hwblk.h> | ||||
| #include <cpu/sh7723.h> | ||||
|  |  | |||
|  | @ -22,7 +22,7 @@ | |||
| #include <linux/kernel.h> | ||||
| #include <linux/io.h> | ||||
| #include <linux/clk.h> | ||||
| #include <asm/clkdev.h> | ||||
| #include <linux/clkdev.h> | ||||
| #include <asm/clock.h> | ||||
| #include <asm/hwblk.h> | ||||
| #include <cpu/sh7724.h> | ||||
|  |  | |||
|  | @ -12,7 +12,7 @@ | |||
| #include <linux/init.h> | ||||
| #include <linux/kernel.h> | ||||
| #include <linux/io.h> | ||||
| #include <asm/clkdev.h> | ||||
| #include <linux/clkdev.h> | ||||
| #include <asm/clock.h> | ||||
| #include <asm/freq.h> | ||||
| 
 | ||||
|  |  | |||
|  | @ -13,7 +13,7 @@ | |||
| #include <linux/init.h> | ||||
| #include <linux/kernel.h> | ||||
| #include <linux/io.h> | ||||
| #include <asm/clkdev.h> | ||||
| #include <linux/clkdev.h> | ||||
| #include <asm/clock.h> | ||||
| #include <asm/freq.h> | ||||
| #include <asm/io.h> | ||||
|  |  | |||
|  | @ -12,7 +12,7 @@ | |||
| #include <linux/init.h> | ||||
| #include <linux/kernel.h> | ||||
| #include <linux/io.h> | ||||
| #include <asm/clkdev.h> | ||||
| #include <linux/clkdev.h> | ||||
| #include <asm/clock.h> | ||||
| #include <asm/freq.h> | ||||
| #include <asm/io.h> | ||||
|  |  | |||
|  | @ -14,7 +14,7 @@ | |||
| #include <linux/clk.h> | ||||
| #include <linux/io.h> | ||||
| #include <linux/cpufreq.h> | ||||
| #include <asm/clkdev.h> | ||||
| #include <linux/clkdev.h> | ||||
| #include <asm/clock.h> | ||||
| #include <asm/freq.h> | ||||
| #include <cpu/sh7785.h> | ||||
|  |  | |||
|  | @ -13,7 +13,7 @@ | |||
| #include <linux/kernel.h> | ||||
| #include <linux/clk.h> | ||||
| #include <linux/io.h> | ||||
| #include <asm/clkdev.h> | ||||
| #include <linux/clkdev.h> | ||||
| #include <asm/clock.h> | ||||
| #include <asm/freq.h> | ||||
| 
 | ||||
|  |  | |||
|  | @ -14,7 +14,7 @@ | |||
| #include <linux/init.h> | ||||
| #include <linux/kernel.h> | ||||
| #include <linux/io.h> | ||||
| #include <asm/clkdev.h> | ||||
| #include <linux/clkdev.h> | ||||
| #include <asm/clock.h> | ||||
| #include <asm/freq.h> | ||||
| 
 | ||||
|  |  | |||
|  | @ -111,4 +111,6 @@ source "drivers/xen/Kconfig" | |||
| source "drivers/staging/Kconfig" | ||||
| 
 | ||||
| source "drivers/platform/Kconfig" | ||||
| 
 | ||||
| source "drivers/clk/Kconfig" | ||||
| endmenu | ||||
|  |  | |||
|  | @ -114,3 +114,5 @@ obj-$(CONFIG_VLYNQ)		+= vlynq/ | |||
| obj-$(CONFIG_STAGING)		+= staging/ | ||||
| obj-y				+= platform/ | ||||
| obj-y				+= ieee802154/ | ||||
| #common clk code
 | ||||
| obj-y				+= clk/ | ||||
|  |  | |||
							
								
								
									
										4
									
								
								drivers/clk/Kconfig
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										4
									
								
								drivers/clk/Kconfig
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,4 @@ | |||
| 
 | ||||
| config CLKDEV_LOOKUP | ||||
| 	bool | ||||
| 	select HAVE_CLK | ||||
							
								
								
									
										2
									
								
								drivers/clk/Makefile
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										2
									
								
								drivers/clk/Makefile
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,2 @@ | |||
| 
 | ||||
| obj-$(CONFIG_CLKDEV_LOOKUP)	+= clkdev.o | ||||
|  | @ -1,5 +1,5 @@ | |||
| /*
 | ||||
|  *  arch/arm/common/clkdev.c | ||||
|  * drivers/clk/clkdev.c | ||||
|  * | ||||
|  *  Copyright (C) 2008 Russell King. | ||||
|  * | ||||
|  | @ -18,10 +18,7 @@ | |||
| #include <linux/string.h> | ||||
| #include <linux/mutex.h> | ||||
| #include <linux/clk.h> | ||||
| #include <linux/slab.h> | ||||
| 
 | ||||
| #include <asm/clkdev.h> | ||||
| #include <mach/clkdev.h> | ||||
| #include <linux/clkdev.h> | ||||
| 
 | ||||
| static LIST_HEAD(clocks); | ||||
| static DEFINE_MUTEX(clocks_mutex); | ||||
|  | @ -120,12 +117,12 @@ struct clk_lookup_alloc { | |||
| 	char	con_id[MAX_CON_ID]; | ||||
| }; | ||||
| 
 | ||||
| struct clk_lookup *clkdev_alloc(struct clk *clk, const char *con_id, | ||||
| 	const char *dev_fmt, ...) | ||||
| struct clk_lookup * __init_refok | ||||
| clkdev_alloc(struct clk *clk, const char *con_id, const char *dev_fmt, ...) | ||||
| { | ||||
| 	struct clk_lookup_alloc *cla; | ||||
| 
 | ||||
| 	cla = kzalloc(sizeof(*cla), GFP_KERNEL); | ||||
| 	cla = __clkdev_alloc(sizeof(*cla)); | ||||
| 	if (!cla) | ||||
| 		return NULL; | ||||
| 
 | ||||
							
								
								
									
										36
									
								
								include/linux/clkdev.h
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										36
									
								
								include/linux/clkdev.h
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,36 @@ | |||
| /*
 | ||||
|  *  include/linux/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 __CLKDEV_H | ||||
| #define __CLKDEV_H | ||||
| 
 | ||||
| #include <asm/clkdev.h> | ||||
| 
 | ||||
| struct clk; | ||||
| struct device; | ||||
| 
 | ||||
| struct clk_lookup { | ||||
| 	struct list_head	node; | ||||
| 	const char		*dev_id; | ||||
| 	const char		*con_id; | ||||
| 	struct clk		*clk; | ||||
| }; | ||||
| 
 | ||||
| struct clk_lookup *clkdev_alloc(struct clk *clk, const char *con_id, | ||||
| 	const char *dev_fmt, ...); | ||||
| 
 | ||||
| void clkdev_add(struct clk_lookup *cl); | ||||
| void clkdev_drop(struct clk_lookup *cl); | ||||
| 
 | ||||
| void clkdev_add_table(struct clk_lookup *, size_t); | ||||
| int clk_add_alias(const char *, const char *, char *, struct device *); | ||||
| 
 | ||||
| #endif | ||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue
	
	 Jean-Christop PLAGNIOL-VILLARD
				Jean-Christop PLAGNIOL-VILLARD