Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit dc6048c7 authored by Rabin Vincent's avatar Rabin Vincent Committed by Russell King
Browse files

ARM: 6103/1: nomadik: define clocks statically



Add a table for clocks to be defined statically, so that new clocks can
be added without having to call nmdk_clk_create() for each of them.
Remove the now unused nmdk_clk_create() function.

Acked-by: default avatarAlessandro Rubini <rubini@unipv.it>
Acked-by: default avatarLinus Walleij <linus.walleij@stericsson.com>
Signed-off-by: default avatarRabin Vincent <rabin.vincent@stericsson.com>
Signed-off-by: default avatarRussell King <rmk+kernel@arm.linux.org.uk>
parent 2210d645
Loading
Loading
Loading
Loading
+1 −9
Original line number Diff line number Diff line
@@ -32,7 +32,6 @@
#include <mach/setup.h>
#include <mach/nand.h>
#include <mach/fsmc.h>
#include "clock.h"

/* Initial value for SRC control register: all timers use MXTAL/8 source */
#define SRC_CR_INIT_MASK	0x00007fff
@@ -202,11 +201,6 @@ static struct amba_device *amba_devs[] __initdata = {
	&uart1_device,
};

/* We have a fixed clock alone, by now */
static struct clk nhk8815_clk_48 = {
	.rate = 48*1000*1000,
};

static struct resource nhk8815_eth_resources[] = {
	{
		.name = "smc91x-regs",
@@ -276,11 +270,9 @@ static void __init nhk8815_platform_init(void)
	platform_add_devices(nhk8815_platform_devices,
			     ARRAY_SIZE(nhk8815_platform_devices));

	for (i = 0; i < ARRAY_SIZE(amba_devs); i++) {
		nmdk_clk_create(&nhk8815_clk_48, amba_devs[i]->dev.init_name);
	for (i = 0; i < ARRAY_SIZE(amba_devs); i++)
		amba_device_register(amba_devs[i], &iomem_resource);
}
}

MACHINE_START(NOMADIK, "NHK8815")
	/* Maintainer: ST MicroElectronics */
+20 −8
Original line number Diff line number Diff line
@@ -32,14 +32,26 @@ void clk_disable(struct clk *clk)
}
EXPORT_SYMBOL(clk_disable);

/* Create a clock structure with the given name */
int nmdk_clk_create(struct clk *clk, const char *dev_id)
{
	struct clk_lookup *clkdev;
/* We have a fixed clock alone, for now */
static struct clk clk_48 = {
	.rate = 48 * 1000 * 1000,
};

#define CLK(_clk, dev)				\
	{					\
		.clk		= _clk,		\
		.dev_id		= dev,		\
	}

	clkdev = clkdev_alloc(clk, NULL, dev_id);
	if (!clkdev)
		return -ENOMEM;
	clkdev_add(clkdev);
static struct clk_lookup lookups[] = {
	CLK(&clk_48, "uart0"),
	CLK(&clk_48, "uart1"),
};

static int __init clk_init(void)
{
	clkdev_add_table(lookups, ARRAY_SIZE(lookups));
	return 0;
}

arch_initcall(clk_init);
+0 −1
Original line number Diff line number Diff line
@@ -11,4 +11,3 @@
struct clk {
	unsigned long		rate;
};
extern int nmdk_clk_create(struct clk *clk, const char *dev_id);