Commit cf2e9c7b authored by Kukjin Kim's avatar Kukjin Kim

Merge branch 'next-samsung-clkdev-fix' into next-samsung-cleanup

parents b5930b83 e4805599
...@@ -682,6 +682,7 @@ config ARCH_S3C2410 ...@@ -682,6 +682,7 @@ config ARCH_S3C2410
select GENERIC_GPIO select GENERIC_GPIO
select ARCH_HAS_CPUFREQ select ARCH_HAS_CPUFREQ
select HAVE_CLK select HAVE_CLK
select CLKDEV_LOOKUP
select ARCH_USES_GETTIMEOFFSET select ARCH_USES_GETTIMEOFFSET
select HAVE_S3C2410_I2C if I2C select HAVE_S3C2410_I2C if I2C
help help
...@@ -699,6 +700,7 @@ config ARCH_S3C64XX ...@@ -699,6 +700,7 @@ config ARCH_S3C64XX
select CPU_V6 select CPU_V6
select ARM_VIC select ARM_VIC
select HAVE_CLK select HAVE_CLK
select CLKDEV_LOOKUP
select NO_IOPORT select NO_IOPORT
select ARCH_USES_GETTIMEOFFSET select ARCH_USES_GETTIMEOFFSET
select ARCH_HAS_CPUFREQ select ARCH_HAS_CPUFREQ
...@@ -723,6 +725,7 @@ config ARCH_S5P64X0 ...@@ -723,6 +725,7 @@ config ARCH_S5P64X0
select CPU_V6 select CPU_V6
select GENERIC_GPIO select GENERIC_GPIO
select HAVE_CLK select HAVE_CLK
select CLKDEV_LOOKUP
select HAVE_S3C2410_WATCHDOG if WATCHDOG select HAVE_S3C2410_WATCHDOG if WATCHDOG
select GENERIC_CLOCKEVENTS select GENERIC_CLOCKEVENTS
select HAVE_SCHED_CLOCK select HAVE_SCHED_CLOCK
...@@ -736,6 +739,7 @@ config ARCH_S5PC100 ...@@ -736,6 +739,7 @@ config ARCH_S5PC100
bool "Samsung S5PC100" bool "Samsung S5PC100"
select GENERIC_GPIO select GENERIC_GPIO
select HAVE_CLK select HAVE_CLK
select CLKDEV_LOOKUP
select CPU_V7 select CPU_V7
select ARM_L1_CACHE_SHIFT_6 select ARM_L1_CACHE_SHIFT_6
select ARCH_USES_GETTIMEOFFSET select ARCH_USES_GETTIMEOFFSET
...@@ -751,6 +755,7 @@ config ARCH_S5PV210 ...@@ -751,6 +755,7 @@ config ARCH_S5PV210
select ARCH_SPARSEMEM_ENABLE select ARCH_SPARSEMEM_ENABLE
select GENERIC_GPIO select GENERIC_GPIO
select HAVE_CLK select HAVE_CLK
select CLKDEV_LOOKUP
select ARM_L1_CACHE_SHIFT_6 select ARM_L1_CACHE_SHIFT_6
select ARCH_HAS_CPUFREQ select ARCH_HAS_CPUFREQ
select GENERIC_CLOCKEVENTS select GENERIC_CLOCKEVENTS
...@@ -767,6 +772,7 @@ config ARCH_EXYNOS4 ...@@ -767,6 +772,7 @@ config ARCH_EXYNOS4
select ARCH_SPARSEMEM_ENABLE select ARCH_SPARSEMEM_ENABLE
select GENERIC_GPIO select GENERIC_GPIO
select HAVE_CLK select HAVE_CLK
select CLKDEV_LOOKUP
select ARCH_HAS_CPUFREQ select ARCH_HAS_CPUFREQ
select GENERIC_CLOCKEVENTS select GENERIC_CLOCKEVENTS
select HAVE_S3C_RTC if RTC_CLASS select HAVE_S3C_RTC if RTC_CLASS
......
This diff is collapsed.
#ifndef __MACH_CLKDEV_H__
#define __MACH_CLKDEV_H__
#define __clk_get(clk) ({ 1; })
#define __clk_put(clk) do {} while (0)
#endif
...@@ -95,12 +95,10 @@ static int s3c2412_upll_enable(struct clk *clk, int enable) ...@@ -95,12 +95,10 @@ static int s3c2412_upll_enable(struct clk *clk, int enable)
static struct clk clk_erefclk = { static struct clk clk_erefclk = {
.name = "erefclk", .name = "erefclk",
.id = -1,
}; };
static struct clk clk_urefclk = { static struct clk clk_urefclk = {
.name = "urefclk", .name = "urefclk",
.id = -1,
}; };
static int s3c2412_setparent_usysclk(struct clk *clk, struct clk *parent) static int s3c2412_setparent_usysclk(struct clk *clk, struct clk *parent)
...@@ -122,7 +120,6 @@ static int s3c2412_setparent_usysclk(struct clk *clk, struct clk *parent) ...@@ -122,7 +120,6 @@ static int s3c2412_setparent_usysclk(struct clk *clk, struct clk *parent)
static struct clk clk_usysclk = { static struct clk clk_usysclk = {
.name = "usysclk", .name = "usysclk",
.id = -1,
.parent = &clk_xtal, .parent = &clk_xtal,
.ops = &(struct clk_ops) { .ops = &(struct clk_ops) {
.set_parent = s3c2412_setparent_usysclk, .set_parent = s3c2412_setparent_usysclk,
...@@ -132,13 +129,11 @@ static struct clk clk_usysclk = { ...@@ -132,13 +129,11 @@ static struct clk clk_usysclk = {
static struct clk clk_mrefclk = { static struct clk clk_mrefclk = {
.name = "mrefclk", .name = "mrefclk",
.parent = &clk_xtal, .parent = &clk_xtal,
.id = -1,
}; };
static struct clk clk_mdivclk = { static struct clk clk_mdivclk = {
.name = "mdivclk", .name = "mdivclk",
.parent = &clk_xtal, .parent = &clk_xtal,
.id = -1,
}; };
static int s3c2412_setparent_usbsrc(struct clk *clk, struct clk *parent) static int s3c2412_setparent_usbsrc(struct clk *clk, struct clk *parent)
...@@ -200,7 +195,6 @@ static int s3c2412_setrate_usbsrc(struct clk *clk, unsigned long rate) ...@@ -200,7 +195,6 @@ static int s3c2412_setrate_usbsrc(struct clk *clk, unsigned long rate)
static struct clk clk_usbsrc = { static struct clk clk_usbsrc = {
.name = "usbsrc", .name = "usbsrc",
.id = -1,
.ops = &(struct clk_ops) { .ops = &(struct clk_ops) {
.get_rate = s3c2412_getrate_usbsrc, .get_rate = s3c2412_getrate_usbsrc,
.set_rate = s3c2412_setrate_usbsrc, .set_rate = s3c2412_setrate_usbsrc,
...@@ -228,7 +222,6 @@ static int s3c2412_setparent_msysclk(struct clk *clk, struct clk *parent) ...@@ -228,7 +222,6 @@ static int s3c2412_setparent_msysclk(struct clk *clk, struct clk *parent)
static struct clk clk_msysclk = { static struct clk clk_msysclk = {
.name = "msysclk", .name = "msysclk",
.id = -1,
.ops = &(struct clk_ops) { .ops = &(struct clk_ops) {
.set_parent = s3c2412_setparent_msysclk, .set_parent = s3c2412_setparent_msysclk,
}, },
...@@ -268,7 +261,6 @@ static int s3c2412_setparent_armclk(struct clk *clk, struct clk *parent) ...@@ -268,7 +261,6 @@ static int s3c2412_setparent_armclk(struct clk *clk, struct clk *parent)
static struct clk clk_armclk = { static struct clk clk_armclk = {
.name = "armclk", .name = "armclk",
.id = -1,
.parent = &clk_msysclk, .parent = &clk_msysclk,
.ops = &(struct clk_ops) { .ops = &(struct clk_ops) {
.set_parent = s3c2412_setparent_armclk, .set_parent = s3c2412_setparent_armclk,
...@@ -344,7 +336,6 @@ static int s3c2412_setrate_uart(struct clk *clk, unsigned long rate) ...@@ -344,7 +336,6 @@ static int s3c2412_setrate_uart(struct clk *clk, unsigned long rate)
static struct clk clk_uart = { static struct clk clk_uart = {
.name = "uartclk", .name = "uartclk",
.id = -1,
.ops = &(struct clk_ops) { .ops = &(struct clk_ops) {
.get_rate = s3c2412_getrate_uart, .get_rate = s3c2412_getrate_uart,
.set_rate = s3c2412_setrate_uart, .set_rate = s3c2412_setrate_uart,
...@@ -397,7 +388,6 @@ static int s3c2412_setrate_i2s(struct clk *clk, unsigned long rate) ...@@ -397,7 +388,6 @@ static int s3c2412_setrate_i2s(struct clk *clk, unsigned long rate)
static struct clk clk_i2s = { static struct clk clk_i2s = {
.name = "i2sclk", .name = "i2sclk",
.id = -1,
.ops = &(struct clk_ops) { .ops = &(struct clk_ops) {
.get_rate = s3c2412_getrate_i2s, .get_rate = s3c2412_getrate_i2s,
.set_rate = s3c2412_setrate_i2s, .set_rate = s3c2412_setrate_i2s,
...@@ -449,7 +439,6 @@ static int s3c2412_setrate_cam(struct clk *clk, unsigned long rate) ...@@ -449,7 +439,6 @@ static int s3c2412_setrate_cam(struct clk *clk, unsigned long rate)
static struct clk clk_cam = { static struct clk clk_cam = {
.name = "camif-upll", /* same as 2440 name */ .name = "camif-upll", /* same as 2440 name */
.id = -1,
.ops = &(struct clk_ops) { .ops = &(struct clk_ops) {
.get_rate = s3c2412_getrate_cam, .get_rate = s3c2412_getrate_cam,
.set_rate = s3c2412_setrate_cam, .set_rate = s3c2412_setrate_cam,
...@@ -463,37 +452,31 @@ static struct clk clk_cam = { ...@@ -463,37 +452,31 @@ static struct clk clk_cam = {
static struct clk init_clocks_disable[] = { static struct clk init_clocks_disable[] = {
{ {
.name = "nand", .name = "nand",
.id = -1,
.parent = &clk_h, .parent = &clk_h,
.enable = s3c2412_clkcon_enable, .enable = s3c2412_clkcon_enable,
.ctrlbit = S3C2412_CLKCON_NAND, .ctrlbit = S3C2412_CLKCON_NAND,
}, { }, {
.name = "sdi", .name = "sdi",
.id = -1,
.parent = &clk_p, .parent = &clk_p,
.enable = s3c2412_clkcon_enable, .enable = s3c2412_clkcon_enable,
.ctrlbit = S3C2412_CLKCON_SDI, .ctrlbit = S3C2412_CLKCON_SDI,
}, { }, {
.name = "adc", .name = "adc",
.id = -1,
.parent = &clk_p, .parent = &clk_p,
.enable = s3c2412_clkcon_enable, .enable = s3c2412_clkcon_enable,
.ctrlbit = S3C2412_CLKCON_ADC, .ctrlbit = S3C2412_CLKCON_ADC,
}, { }, {
.name = "i2c", .name = "i2c",
.id = -1,
.parent = &clk_p, .parent = &clk_p,
.enable = s3c2412_clkcon_enable, .enable = s3c2412_clkcon_enable,
.ctrlbit = S3C2412_CLKCON_IIC, .ctrlbit = S3C2412_CLKCON_IIC,
}, { }, {
.name = "iis", .name = "iis",
.id = -1,
.parent = &clk_p, .parent = &clk_p,
.enable = s3c2412_clkcon_enable, .enable = s3c2412_clkcon_enable,
.ctrlbit = S3C2412_CLKCON_IIS, .ctrlbit = S3C2412_CLKCON_IIS,
}, { }, {
.name = "spi", .name = "spi",
.id = -1,
.parent = &clk_p, .parent = &clk_p,
.enable = s3c2412_clkcon_enable, .enable = s3c2412_clkcon_enable,
.ctrlbit = S3C2412_CLKCON_SPI, .ctrlbit = S3C2412_CLKCON_SPI,
...@@ -503,96 +486,83 @@ static struct clk init_clocks_disable[] = { ...@@ -503,96 +486,83 @@ static struct clk init_clocks_disable[] = {
static struct clk init_clocks[] = { static struct clk init_clocks[] = {
{ {
.name = "dma", .name = "dma",
.id = 0,
.parent = &clk_h, .parent = &clk_h,
.enable = s3c2412_clkcon_enable, .enable = s3c2412_clkcon_enable,
.ctrlbit = S3C2412_CLKCON_DMA0, .ctrlbit = S3C2412_CLKCON_DMA0,
}, { }, {
.name = "dma", .name = "dma",
.id = 1,
.parent = &clk_h, .parent = &clk_h,
.enable = s3c2412_clkcon_enable, .enable = s3c2412_clkcon_enable,
.ctrlbit = S3C2412_CLKCON_DMA1, .ctrlbit = S3C2412_CLKCON_DMA1,
}, { }, {
.name = "dma", .name = "dma",
.id = 2,
.parent = &clk_h, .parent = &clk_h,
.enable = s3c2412_clkcon_enable, .enable = s3c2412_clkcon_enable,
.ctrlbit = S3C2412_CLKCON_DMA2, .ctrlbit = S3C2412_CLKCON_DMA2,
}, { }, {
.name = "dma", .name = "dma",
.id = 3,
.parent = &clk_h, .parent = &clk_h,
.enable = s3c2412_clkcon_enable, .enable = s3c2412_clkcon_enable,
.ctrlbit = S3C2412_CLKCON_DMA3, .ctrlbit = S3C2412_CLKCON_DMA3,
}, { }, {
.name = "lcd", .name = "lcd",
.id = -1,
.parent = &clk_h, .parent = &clk_h,
.enable = s3c2412_clkcon_enable, .enable = s3c2412_clkcon_enable,
.ctrlbit = S3C2412_CLKCON_LCDC, .ctrlbit = S3C2412_CLKCON_LCDC,
}, { }, {
.name = "gpio", .name = "gpio",
.id = -1,
.parent = &clk_p, .parent = &clk_p,
.enable = s3c2412_clkcon_enable, .enable = s3c2412_clkcon_enable,
.ctrlbit = S3C2412_CLKCON_GPIO, .ctrlbit = S3C2412_CLKCON_GPIO,
}, { }, {
.name = "usb-host", .name = "usb-host",
.id = -1,
.parent = &clk_h, .parent = &clk_h,
.enable = s3c2412_clkcon_enable, .enable = s3c2412_clkcon_enable,
.ctrlbit = S3C2412_CLKCON_USBH, .ctrlbit = S3C2412_CLKCON_USBH,
}, { }, {
.name = "usb-device", .name = "usb-device",
.id = -1,
.parent = &clk_h, .parent = &clk_h,
.enable = s3c2412_clkcon_enable, .enable = s3c2412_clkcon_enable,
.ctrlbit = S3C2412_CLKCON_USBD, .ctrlbit = S3C2412_CLKCON_USBD,
}, { }, {
.name = "timers", .name = "timers",
.id = -1,
.parent = &clk_p, .parent = &clk_p,
.enable = s3c2412_clkcon_enable, .enable = s3c2412_clkcon_enable,
.ctrlbit = S3C2412_CLKCON_PWMT, .ctrlbit = S3C2412_CLKCON_PWMT,
}, { }, {
.name = "uart", .name = "uart",
.id = 0, .devname = "s3c2412-uart.0",
.parent = &clk_p, .parent = &clk_p,
.enable = s3c2412_clkcon_enable, .enable = s3c2412_clkcon_enable,
.ctrlbit = S3C2412_CLKCON_UART0, .ctrlbit = S3C2412_CLKCON_UART0,
}, { }, {
.name = "uart", .name = "uart",
.id = 1, .devname = "s3c2412-uart.1",
.parent = &clk_p, .parent = &clk_p,
.enable = s3c2412_clkcon_enable, .enable = s3c2412_clkcon_enable,
.ctrlbit = S3C2412_CLKCON_UART1, .ctrlbit = S3C2412_CLKCON_UART1,
}, { }, {
.name = "uart", .name = "uart",
.id = 2, .devname = "s3c2412-uart.2",
.parent = &clk_p, .parent = &clk_p,
.enable = s3c2412_clkcon_enable, .enable = s3c2412_clkcon_enable,
.ctrlbit = S3C2412_CLKCON_UART2, .ctrlbit = S3C2412_CLKCON_UART2,
}, { }, {
.name = "rtc", .name = "rtc",
.id = -1,
.parent = &clk_p, .parent = &clk_p,
.enable = s3c2412_clkcon_enable, .enable = s3c2412_clkcon_enable,
.ctrlbit = S3C2412_CLKCON_RTC, .ctrlbit = S3C2412_CLKCON_RTC,
}, { }, {
.name = "watchdog", .name = "watchdog",
.id = -1,
.parent = &clk_p, .parent = &clk_p,
.ctrlbit = 0, .ctrlbit = 0,
}, { }, {
.name = "usb-bus-gadget", .name = "usb-bus-gadget",
.id = -1,
.parent = &clk_usb_bus, .parent = &clk_usb_bus,
.enable = s3c2412_clkcon_enable, .enable = s3c2412_clkcon_enable,
.ctrlbit = S3C2412_CLKCON_USB_DEV48, .ctrlbit = S3C2412_CLKCON_USB_DEV48,
}, { }, {
.name = "usb-bus-host", .name = "usb-bus-host",
.id = -1,
.parent = &clk_usb_bus, .parent = &clk_usb_bus,
.enable = s3c2412_clkcon_enable, .enable = s3c2412_clkcon_enable,
.ctrlbit = S3C2412_CLKCON_USB_HOST48, .ctrlbit = S3C2412_CLKCON_USB_HOST48,
......
...@@ -42,7 +42,7 @@ static struct clksrc_clk hsmmc_div[] = { ...@@ -42,7 +42,7 @@ static struct clksrc_clk hsmmc_div[] = {
[0] = { [0] = {
.clk = { .clk = {
.name = "hsmmc-div", .name = "hsmmc-div",
.id = 0, .devname = "s3c-sdhci.0",
.parent = &clk_esysclk.clk, .parent = &clk_esysclk.clk,
}, },
.reg_div = { .reg = S3C2416_CLKDIV2, .size = 2, .shift = 6 }, .reg_div = { .reg = S3C2416_CLKDIV2, .size = 2, .shift = 6 },
...@@ -50,7 +50,7 @@ static struct clksrc_clk hsmmc_div[] = { ...@@ -50,7 +50,7 @@ static struct clksrc_clk hsmmc_div[] = {
[1] = { [1] = {
.clk = { .clk = {
.name = "hsmmc-div", .name = "hsmmc-div",
.id = 1, .devname = "s3c-sdhci.1",
.parent = &clk_esysclk.clk, .parent = &clk_esysclk.clk,
}, },
.reg_div = { .reg = S3C2443_CLKDIV1, .size = 2, .shift = 6 }, .reg_div = { .reg = S3C2443_CLKDIV1, .size = 2, .shift = 6 },
...@@ -60,8 +60,8 @@ static struct clksrc_clk hsmmc_div[] = { ...@@ -60,8 +60,8 @@ static struct clksrc_clk hsmmc_div[] = {
static struct clksrc_clk hsmmc_mux[] = { static struct clksrc_clk hsmmc_mux[] = {
[0] = { [0] = {
.clk = { .clk = {
.id = 0,
.name = "hsmmc-if", .name = "hsmmc-if",
.devname = "s3c-sdhci.0",
.ctrlbit = (1 << 6), .ctrlbit = (1 << 6),
.enable = s3c2443_clkcon_enable_s, .enable = s3c2443_clkcon_enable_s,
}, },
...@@ -76,8 +76,8 @@ static struct clksrc_clk hsmmc_mux[] = { ...@@ -76,8 +76,8 @@ static struct clksrc_clk hsmmc_mux[] = {
}, },
[1] = { [1] = {
.clk = { .clk = {
.id = 1,
.name = "hsmmc-if", .name = "hsmmc-if",
.devname = "s3c-sdhci.1",
.ctrlbit = (1 << 12), .ctrlbit = (1 << 12),
.enable = s3c2443_clkcon_enable_s, .enable = s3c2443_clkcon_enable_s,
}, },
...@@ -94,7 +94,7 @@ static struct clksrc_clk hsmmc_mux[] = { ...@@ -94,7 +94,7 @@ static struct clksrc_clk hsmmc_mux[] = {
static struct clk hsmmc0_clk = { static struct clk hsmmc0_clk = {
.name = "hsmmc", .name = "hsmmc",
.id = 0, .devname = "s3c-sdhci.0",
.parent = &clk_h, .parent = &clk_h,
.enable = s3c2443_clkcon_enable_h, .enable = s3c2443_clkcon_enable_h,
.ctrlbit = S3C2416_HCLKCON_HSMMC0, .ctrlbit = S3C2416_HCLKCON_HSMMC0,
......
...@@ -90,14 +90,12 @@ static int s3c2440_camif_upll_setrate(struct clk *clk, unsigned long rate) ...@@ -90,14 +90,12 @@ static int s3c2440_camif_upll_setrate(struct clk *clk, unsigned long rate)
static struct clk s3c2440_clk_cam = { static struct clk s3c2440_clk_cam = {
.name = "camif", .name = "camif",
.id = -1,
.enable = s3c2410_clkcon_enable, .enable = s3c2410_clkcon_enable,
.ctrlbit = S3C2440_CLKCON_CAMERA, .ctrlbit = S3C2440_CLKCON_CAMERA,
}; };
static struct clk s3c2440_clk_cam_upll = { static struct clk s3c2440_clk_cam_upll = {
.name = "camif-upll", .name = "camif-upll",
.id = -1,
.ops = &(struct clk_ops) { .ops = &(struct clk_ops) {
.set_rate = s3c2440_camif_upll_setrate, .set_rate = s3c2440_camif_upll_setrate,
.round_rate = s3c2440_camif_upll_round, .round_rate = s3c2440_camif_upll_round,
...@@ -106,7 +104,6 @@ static struct clk s3c2440_clk_cam_upll = { ...@@ -106,7 +104,6 @@ static struct clk s3c2440_clk_cam_upll = {
static struct clk s3c2440_clk_ac97 = { static struct clk s3c2440_clk_ac97 = {
.name = "ac97", .name = "ac97",
.id = -1,
.enable = s3c2410_clkcon_enable, .enable = s3c2410_clkcon_enable,
.ctrlbit = S3C2440_CLKCON_CAMERA, .ctrlbit = S3C2440_CLKCON_CAMERA,
}; };
......
...@@ -59,7 +59,6 @@ ...@@ -59,7 +59,6 @@
static struct clk clk_i2s_ext = { static struct clk clk_i2s_ext = {
.name = "i2s-ext", .name = "i2s-ext",
.id = -1,
}; };
/* armdiv /* armdiv
...@@ -139,7 +138,6 @@ static int s3c2443_armclk_setrate(struct clk *clk, unsigned long rate) ...@@ -139,7 +138,6 @@ static int s3c2443_armclk_setrate(struct clk *clk, unsigned long rate)
static struct clk clk_armdiv = { static struct clk clk_armdiv = {
.name = "armdiv", .name = "armdiv",
.id = -1,
.parent = &clk_msysclk.clk, .parent = &clk_msysclk.clk,
.ops = &(struct clk_ops) { .ops = &(struct clk_ops) {
.round_rate = s3c2443_armclk_roundrate, .round_rate = s3c2443_armclk_roundrate,
...@@ -160,7 +158,6 @@ static struct clk *clk_arm_sources[] = { ...@@ -160,7 +158,6 @@ static struct clk *clk_arm_sources[] = {
static struct clksrc_clk clk_arm = { static struct clksrc_clk clk_arm = {
.clk = { .clk = {
.name = "armclk", .name = "armclk",
.id = -1,
}, },
.sources = &(struct clksrc_sources) { .sources = &(struct clksrc_sources) {
.sources = clk_arm_sources, .sources = clk_arm_sources,
...@@ -177,7 +174,6 @@ static struct clksrc_clk clk_arm = { ...@@ -177,7 +174,6 @@ static struct clksrc_clk clk_arm = {
static struct clksrc_clk clk_hsspi = { static struct clksrc_clk clk_hsspi = {
.clk = { .clk = {
.name = "hsspi", .name = "hsspi",
.id = -1,
.parent = &clk_esysclk.clk, .parent = &clk_esysclk.clk,
.ctrlbit = S3C2443_SCLKCON_HSSPICLK, .ctrlbit = S3C2443_SCLKCON_HSSPICLK,
.enable = s3c2443_clkcon_enable_s, .enable = s3c2443_clkcon_enable_s,
...@@ -196,7 +192,7 @@ static struct clksrc_clk clk_hsspi = { ...@@ -196,7 +192,7 @@ static struct clksrc_clk clk_hsspi = {
static struct clksrc_clk clk_hsmmc_div = { static struct clksrc_clk clk_hsmmc_div = {
.clk = { .clk = {
.name = "hsmmc-div", .name = "hsmmc-div",
.id = 1, .devname = "s3c-sdhci.1",
.parent = &clk_esysclk.clk, .parent = &clk_esysclk.clk,
}, },
.reg_div = { .reg = S3C2443_CLKDIV1, .size = 2, .shift = 6 }, .reg_div = { .reg = S3C2443_CLKDIV1, .size = 2, .shift = 6 },
...@@ -231,7 +227,7 @@ static int s3c2443_enable_hsmmc(struct clk *clk, int enable) ...@@ -231,7 +227,7 @@ static int s3c2443_enable_hsmmc(struct clk *clk, int enable)
static struct clk clk_hsmmc = { static struct clk clk_hsmmc = {
.name = "hsmmc-if", .name = "hsmmc-if",
.id = 1, .devname = "s3c-sdhci.1",
.parent = &clk_hsmmc_div.clk, .parent = &clk_hsmmc_div.clk,
.enable = s3c2443_enable_hsmmc, .enable = s3c2443_enable_hsmmc,
.ops = &(struct clk_ops) { .ops = &(struct clk_ops) {
...@@ -248,7 +244,6 @@ static struct clk clk_hsmmc = { ...@@ -248,7 +244,6 @@ static struct clk clk_hsmmc = {
static struct clksrc_clk clk_i2s_eplldiv = { static struct clksrc_clk clk_i2s_eplldiv = {
.clk = { .clk = {
.name = "i2s-eplldiv", .name = "i2s-eplldiv",
.id = -1,
.parent = &clk_esysclk.clk, .parent = &clk_esysclk.clk,
}, },
.reg_div = { .reg = S3C2443_CLKDIV1, .size = 4, .shift = 12, }, .reg_div = { .reg = S3C2443_CLKDIV1, .size = 4, .shift = 12, },
...@@ -271,7 +266,6 @@ struct clk *clk_i2s_srclist[] = { ...@@ -271,7 +266,6 @@ struct clk *clk_i2s_srclist[] = {
static struct clksrc_clk clk_i2s = { static struct clksrc_clk clk_i2s = {
.clk = { .clk = {
.name = "i2s-if", .name = "i2s-if",
.id = -1,
.ctrlbit = S3C2443_SCLKCON_I2SCLK, .ctrlbit = S3C2443_SCLKCON_I2SCLK,
.enable = s3c2443_clkcon_enable_s, .enable = s3c2443_clkcon_enable_s,
...@@ -288,25 +282,23 @@ static struct clksrc_clk clk_i2s = { ...@@ -288,25 +282,23 @@ static struct clksrc_clk clk_i2s = {
static struct clk init_clocks_off[] = { static struct clk init_clocks_off[] = {
{ {
.name = "sdi", .name = "sdi",
.id = -1,
.parent = &clk_p, .parent = &clk_p,
.enable = s3c2443_clkcon_enable_p, .enable = s3c2443_clkcon_enable_p,
.ctrlbit = S3C2443_PCLKCON_SDI, .ctrlbit = S3C2443_PCLKCON_SDI,
}, { }, {
.name = "iis", .name = "iis",
.id = -1,
.parent = &clk_p, .parent = &clk_p,
.enable = s3c2443_clkcon_enable_p, .enable = s3c2443_clkcon_enable_p,
.ctrlbit = S3C2443_PCLKCON_IIS, .ctrlbit = S3C2443_PCLKCON_IIS,
}, { }, {
.name = "spi", .name = "spi",
.id = 0, .devname = "s3c2410-spi.0",
.parent = &clk_p, .parent = &clk_p,
.enable = s3c2443_clkcon_enable_p, .enable = s3c2443_clkcon_enable_p,
.ctrlbit = S3C2443_PCLKCON_SPI0, .ctrlbit = S3C2443_PCLKCON_SPI0,
}, { }, {
.name = "spi", .name = "spi",
.id = 1, .devname = "s3c2410-spi.1",
.parent = &clk_p, .parent = &clk_p,
.enable = s3c2443_clkcon_enable_p, .enable = s3c2443_clkcon_enable_p,
.ctrlbit = S3C2443_PCLKCON_SPI1, .ctrlbit = S3C2443_PCLKCON_SPI1,
......
This diff is collapsed.
#ifndef __MACH_CLKDEV_H__
#define __MACH_CLKDEV_H__
#define __clk_get(clk) ({ 1; })
#define __clk_put(clk) do {} while (0)
#endif
...@@ -95,7 +95,6 @@ static struct clk_ops s5p6440_epll_ops = { ...@@ -95,7 +95,6 @@ static struct clk_ops s5p6440_epll_ops = {
static struct clksrc_clk clk_hclk = { static struct clksrc_clk clk_hclk = {
.clk = { .clk = {
.name = "clk_hclk", .name = "clk_hclk",
.id = -1,
.parent = &clk_armclk.clk, .parent = &clk_armclk.clk,
}, },
.reg_div = { .reg = S5P64X0_CLK_DIV0, .shift = 8, .size = 4 }, .reg_div = { .reg = S5P64X0_CLK_DIV0, .shift = 8, .size = 4 },
...@@ -104,7 +103,6 @@ static struct clksrc_clk clk_hclk = { ...@@ -104,7 +103,6 @@ static struct clksrc_clk clk_hclk = {
static struct clksrc_clk clk_pclk = { static struct clksrc_clk clk_pclk = {
.clk = { .clk = {
.name = "clk_pclk", .name = "clk_pclk",
.id = -1,
.parent = &clk_hclk.clk, .parent = &clk_hclk.clk,
}, },
.reg_div = { .reg = S5P64X0_CLK_DIV0, .shift = 12, .size = 4 }, .reg_div = { .reg = S5P64X0_CLK_DIV0, .shift = 12, .size = 4 },
...@@ -112,7 +110,6 @@ static struct clksrc_clk clk_pclk = { ...@@ -112,7 +110,6 @@ static struct clksrc_clk clk_pclk = {
static struct clksrc_clk clk_hclk_low = { static struct clksrc_clk clk_hclk_low = {
.clk = { .clk = {
.name = "clk_hclk_low", .name = "clk_hclk_low",
.id = -1,
}, },
.sources = &clkset_hclk_low, .sources = &clkset_hclk_low,
.reg_src = { .reg = S5P64X0_SYS_OTHERS, .shift = 6, .size = 1 }, .reg_src = { .reg = S5P64X0_SYS_OTHERS, .shift = 6, .size = 1 },
...@@ -122,7 +119,6 @@ static struct clksrc_clk clk_hclk_low = { ...@@ -122,7 +119,6 @@ static struct clksrc_clk clk_hclk_low = {
static struct clksrc_clk clk_pclk_low = { static struct clksrc_clk clk_pclk_low = {
.clk = { .clk = {
.name = "clk_pclk_low", .name = "clk_pclk_low",
.id = -1,
.parent = &clk_hclk_low.clk, .parent = &clk_hclk_low.clk,
}, },
.reg_div = { .reg = S5P64X0_CLK_DIV3, .shift = 12, .size = 4 }, .reg_div = { .reg = S5P64X0_CLK_DIV3, .shift = 12, .size = 4 },
...@@ -136,187 +132,167 @@ static struct clksrc_clk clk_pclk_low = { ...@@ -136,187 +132,167 @@ static struct clksrc_clk clk_pclk_low = {
static struct clk init_clocks_off[] = { static struct clk init_clocks_off[] = {
{ {
.name = "nand", .name = "nand",
.id = -1,
.parent = &clk_hclk.clk, .parent = &clk_hclk.clk,
.enable = s5p64x0_mem_ctrl, .enable = s5p64x0_mem_ctrl,
.ctrlbit = (1 << 2), .ctrlbit = (1 << 2),
}, { }, {
.name = "post", .name = "post",
.id = -1,
.parent = &clk_hclk_low.clk, .parent = &clk_hclk_low.clk,
.enable = s5p64x0_hclk0_ctrl, .enable = s5p64x0_hclk0_ctrl,
.ctrlbit = (1 << 5) .ctrlbit = (1 << 5)
}, { }, {
.name = "2d", .name = "2d",
.id = -1,
.parent = &clk_hclk.clk, .parent = &clk_hclk.clk,
.enable = s5p64x0_hclk0_ctrl, .enable = s5p64x0_hclk0_ctrl,
.ctrlbit = (1 << 8), .ctrlbit = (1 << 8),
}, { }, {
.name = "pdma", .name = "pdma",
.id = -1,
.parent = &clk_hclk_low.clk, .parent = &clk_hclk_low.clk,
.enable = s5p64x0_hclk0_ctrl, .enable = s5p64x0_hclk0_ctrl,
.ctrlbit = (1 << 12), .ctrlbit = (1 << 12),
}, { }, {
.name = "hsmmc", .name = "hsmmc",
.id = 0, .devname = "s3c-sdhci.0",
.parent = &clk_hclk_low.clk, .parent = &clk_hclk_low.clk,
.enable = s5p64x0_hclk0_ctrl, .enable = s5p64x0_hclk0_ctrl,
.ctrlbit = (1 << 17), .ctrlbit = (1 << 17),
}, { }, {
.name = "hsmmc", .name = "hsmmc",
.id = 1, .devname = "s3c-sdhci.1",
.parent = &clk_hclk_low.clk, .parent = &clk_hclk_low.clk,
.enable = s5p64x0_hclk0_ctrl, .enable = s5p64x0_hclk0_ctrl,
.ctrlbit = (1 << 18), .ctrlbit = (1 << 18),
}, { }, {
.name = "hsmmc", .name = "hsmmc",
.id = 2, .devname = "s3c-sdhci.2",
.parent = &clk_hclk_low.clk, .parent = &clk_hclk_low.clk,
.enable = s5p64x0_hclk0_ctrl, .enable = s5p64x0_hclk0_ctrl,
.ctrlbit = (1 << 19), .ctrlbit = (1 << 19),
}, { }, {
.name = "otg", .name = "otg",
.id = -1,
.parent = &clk_hclk_low.clk, .parent = &clk_hclk_low.clk,
.enable = s5p64x0_hclk0_ctrl, .enable = s5p64x0_hclk0_ctrl,
.ctrlbit = (1 << 20) .ctrlbit = (1 << 20)
}, { }, {
.name = "irom", .name = "irom",
.id = -1,
.parent = &clk_hclk.clk, .parent = &clk_hclk.clk,
.enable = s5p64x0_hclk0_ctrl, .enable = s5p64x0_hclk0_ctrl,
.ctrlbit = (1 << 25), .ctrlbit = (1 << 25),
}, { }, {
.name = "lcd", .name = "lcd",
.id = -1,
.parent = &clk_hclk_low.clk, .parent = &clk_hclk_low.clk,
.enable = s5p64x0_hclk1_ctrl, .enable = s5p64x0_hclk1_ctrl,
.ctrlbit = (1 << 1), .ctrlbit = (1 << 1),
}, { }, {
.name = "hclk_fimgvg", .name = "hclk_fimgvg",
.id = -1,
.parent = &clk_hclk.clk, .parent = &clk_hclk.clk,
.enable = s5p64x0_hclk1_ctrl, .enable = s5p64x0_hclk1_ctrl,
.ctrlbit = (1 << 2), .ctrlbit = (1 << 2),
}, { }, {
.name = "tsi", .name = "tsi",
.id = -1,
.parent = &clk_hclk_low.clk, .parent = &clk_hclk_low.clk,
.enable = s5p64x0_hclk1_ctrl, .enable = s5p64x0_hclk1_ctrl,
.ctrlbit = (1 << 0), .ctrlbit = (1 << 0),
}, { }, {
.name = "watchdog", .name = "watchdog",
.id = -1,
.parent = &clk_pclk_low.clk, .parent = &clk_pclk_low.clk,
.enable = s5p64x0_pclk_ctrl, .enable = s5p64x0_pclk_ctrl,
.ctrlbit = (1 << 5), .ctrlbit = (1 << 5),
}, { }, {
.name = "rtc", .name = "rtc",
.id = -1,
.parent = &clk_pclk_low.clk, .parent = &clk_pclk_low.clk,
.enable = s5p64x0_pclk_ctrl, .enable = s5p64x0_pclk_ctrl,
.ctrlbit = (1 << 6), .ctrlbit = (1 << 6),
}, { }, {
.name = "timers", .name = "timers",
.id = -1,
.parent = &clk_pclk_low.clk, .parent = &clk_pclk_low.clk,
.enable = s5p64x0_pclk_ctrl, .enable = s5p64x0_pclk_ctrl,
.ctrlbit = (1 << 7), .ctrlbit = (1 << 7),
}, { }, {
.name = "pcm", .name = "pcm",
.id = -1,
.parent = &clk_pclk_low.clk, .parent = &clk_pclk_low.clk,
.enable = s5p64x0_pclk_ctrl, .enable = s5p64x0_pclk_ctrl,
.ctrlbit = (1 << 8), .ctrlbit = (1 << 8),
}, { }, {
.name = "adc", .name = "adc",
.id = -1,
.parent = &clk_pclk_low.clk, .parent = &clk_pclk_low.clk,
.enable = s5p64x0_pclk_ctrl, .enable = s5p64x0_pclk_ctrl,
.ctrlbit = (1 << 12), .ctrlbit = (1 << 12),
}, { }, {
.name = "i2c", .name = "i2c",
.id = -1,
.parent = &clk_pclk_low.clk, .parent = &clk_pclk_low.clk,
.enable = s5p64x0_pclk_ctrl, .enable = s5p64x0_pclk_ctrl,
.ctrlbit = (1 << 17), .ctrlbit = (1 << 17),
}, { }, {
.name = "spi", .name = "spi",
.id = 0, .devname = "s3c64xx-spi.0",
.parent = &clk_pclk_low.clk, .parent = &clk_pclk_low.clk,
.enable = s5p64x0_pclk_ctrl, .enable = s5p64x0_pclk_ctrl,
.ctrlbit = (1 << 21), .ctrlbit = (1 << 21),
}, { }, {
.name = "spi", .name = "spi",
.id = 1, .devname = "s3c64xx-spi.1",
.parent = &clk_pclk_low.clk, .parent = &clk_pclk_low.clk,
.enable = s5p64x0_pclk_ctrl, .enable = s5p64x0_pclk_ctrl,
.ctrlbit = (1 << 22), .ctrlbit = (1 << 22),
}, { }, {
.name = "gps", .name = "gps",
.id = -1,
.parent = &clk_pclk_low.clk, .parent = &clk_pclk_low.clk,
.enable = s5p64x0_pclk_ctrl, .enable = s5p64x0_pclk_ctrl,
.ctrlbit = (1 << 25), .ctrlbit = (1 << 25),
}, { }, {
.name = "iis", .name = "iis",
.id = 0, .devname = "samsung-i2s.0",
.parent = &clk_pclk_low.clk, .parent = &clk_pclk_low.clk,
.enable = s5p64x0_pclk_ctrl, .enable = s5p64x0_pclk_ctrl,
.ctrlbit = (1 << 26), .ctrlbit = (1 << 26),
}, { }, {
.name = "dsim", .name = "dsim",
.id = -1,
.parent = &clk_pclk_low.clk, .parent = &clk_pclk_low.clk,
.enable = s5p64x0_pclk_ctrl, .enable = s5p64x0_pclk_ctrl,
.ctrlbit = (1 << 28), .ctrlbit = (1 << 28),
}, { }, {
.name = "etm", .name = "etm",
.id = -1,
.parent = &clk_pclk.clk, .parent = &clk_pclk.clk,
.enable = s5p64x0_pclk_ctrl, .enable = s5p64x0_pclk_ctrl,
.ctrlbit = (1 << 29), .ctrlbit = (1 << 29),
}, { }, {
.name = "dmc0", .name = "dmc0",
.id = -1,
.parent = &clk_pclk.clk, .parent = &clk_pclk.clk,
.enable = s5p64x0_pclk_ctrl, .enable = s5p64x0_pclk_ctrl,
.ctrlbit = (1 << 30), .ctrlbit = (1 << 30),
}, { }, {
.name = "pclk_fimgvg", .name = "pclk_fimgvg",
.id = -1,
.parent = &clk_pclk.clk, .parent = &clk_pclk.clk,
.enable = s5p64x0_pclk_ctrl, .enable = s5p64x0_pclk_ctrl,
.ctrlbit = (1 << 31), .ctrlbit = (1 << 31),
}, { }, {
.name = "sclk_spi_48", .name = "sclk_spi_48",
.id = 0, .devname = "s3c64xx-spi.0",
.parent = &clk_48m, .parent = &clk_48m,
.enable = s5p64x0_sclk_ctrl, .enable = s5p64x0_sclk_ctrl,
.ctrlbit = (1 << 22), .ctrlbit = (1 << 22),
}, { }, {
.name = "sclk_spi_48", .name = "sclk_spi_48",
.id = 1, .devname = "s3c64xx-spi.1",
.parent = &clk_48m, .parent = &clk_48m,
.enable = s5p64x0_sclk_ctrl, .enable = s5p64x0_sclk_ctrl,
.ctrlbit = (1 << 23), .ctrlbit = (1 << 23),
}, { }, {
.name = "mmc_48m", .name = "mmc_48m",
.id = 0, .devname = "s3c-sdhci.0",
.parent = &clk_48m, .parent = &clk_48m,
.enable = s5p64x0_sclk_ctrl, .enable = s5p64x0_sclk_ctrl,
.ctrlbit = (1 << 27), .ctrlbit = (1 << 27),
}, { }, {
.name = "mmc_48m", .name = "mmc_48m",
.id = 1, .devname = "s3c-sdhci.1",
.parent = &clk_48m, .parent = &clk_48m,
.enable = s5p64x0_sclk_ctrl, .enable = s5p64x0_sclk_ctrl,
.ctrlbit = (1 << 28), .ctrlbit = (1 << 28),
}, { }, {
.name = "mmc_48m", .name = "mmc_48m",
.id = 2, .devname = "s3c-sdhci.2",
.parent = &clk_48m, .parent = &clk_48m,
.enable = s5p64x0_sclk_ctrl, .enable = s5p64x0_sclk_ctrl,
.ctrlbit = (1 << 29), .ctrlbit = (1 << 29),
...@@ -329,43 +305,40 @@ static struct clk init_clocks_off[] = { ...@@ -329,43 +305,40 @@ static struct clk init_clocks_off[] = {
static struct clk init_clocks[] = { static struct clk init_clocks[] = {
{ {
.name = "intc", .name = "intc",
.id = -1,
.parent = &clk_hclk.clk, .parent = &clk_hclk.clk,
.enable = s5p64x0_hclk0_ctrl, .enable = s5p64x0_hclk0_ctrl,
.ctrlbit = (1 << 1), .ctrlbit = (1 << 1),
}, { }, {
.name = "mem", .name = "mem",
.id = -1,
.parent = &clk_hclk.clk, .parent = &clk_hclk.clk,
.enable = s5p64x0_hclk0_ctrl, .enable = s5p64x0_hclk0_ctrl,
.ctrlbit = (1 << 21), .ctrlbit = (1 << 21),
}, { }, {
.name = "uart", .name = "uart",
.id = 0, .devname = "s3c6400-uart.0",
.parent = &clk_pclk_low.clk, .parent = &clk_pclk_low.clk,
.enable = s5p64x0_pclk_ctrl, .enable = s5p64x0_pclk_ctrl,
.ctrlbit = (1 << 1), .ctrlbit = (1 << 1),
}, { }, {
.name = "uart", .name = "uart",
.id = 1, .devname = "s3c6400-uart.1",
.parent = &clk_pclk_low.clk, .parent = &clk_pclk_low.clk,
.enable = s5p64x0_pclk_ctrl, .enable = s5p64x0_pclk_ctrl,
.ctrlbit = (1 << 2), .ctrlbit = (1 << 2),
}, { }, {
.name = "uart", .name = "uart",
.id = 2, .devname = "s3c6400-uart.2",
.parent = &clk_pclk_low.clk, .parent = &clk_pclk_low.clk,
.enable = s5p64x0_pclk_ctrl, .enable = s5p64x0_pclk_ctrl,
.ctrlbit = (1 << 3), .ctrlbit = (1 << 3),
}, { }, {
.name = "uart", .name = "uart",
.id = 3, .devname = "s3c6400-uart.3",
.parent = &clk_pclk_low.clk, .parent = &clk_pclk_low.clk,
.enable = s5p64x0_pclk_ctrl, .enable = s5p64x0_pclk_ctrl,
.ctrlbit = (1 << 4), .ctrlbit = (1 << 4),
}, { }, {
.name = "gpio", .name = "gpio",
.id = -1,
.parent = &clk_pclk_low.clk, .parent = &clk_pclk_low.clk,
.enable = s5p64x0_pclk_ctrl, .enable = s5p64x0_pclk_ctrl,
.ctrlbit = (1 << 18), .ctrlbit = (1 << 18),
...@@ -374,12 +347,10 @@ static struct clk init_clocks[] = { ...@@ -374,12 +347,10 @@ static struct clk init_clocks[] = {
static struct clk clk_iis_cd_v40 = { static struct clk clk_iis_cd_v40 = {
.name = "iis_cdclk_v40", .name = "iis_cdclk_v40",
.id = -1,
}; };
static struct clk clk_pcm_cd = { static struct clk clk_pcm_cd = {
.name = "pcm_cdclk", .name = "pcm_cdclk",
.id = -1,
}; };
static struct clk *clkset_group1_list[] = { static struct clk *clkset_group1_list[] = {
...@@ -420,7 +391,7 @@ static struct clksrc_clk clksrcs[] = { ...@@ -420,7 +391,7 @@ static struct clksrc_clk clksrcs[] = {
{ {
.clk = { .clk = {
.name = "sclk_mmc", .name = "sclk_mmc",
.id = 0, .devname = "s3c-sdhci.0",
.ctrlbit = (1 << 24), .ctrlbit = (1 << 24),
.enable = s5p64x0_sclk_ctrl, .enable = s5p64x0_sclk_ctrl,
}, },
...@@ -430,7 +401,7 @@ static struct clksrc_clk clksrcs[] = { ...@@ -430,7 +401,7 @@ static struct clksrc_clk clksrcs[] = {
}, { }, {
.clk = { .clk = {
.name = "sclk_mmc", .name = "sclk_mmc",
.id = 1, .devname = "s3c-sdhci.1",
.ctrlbit = (1 << 25), .ctrlbit = (1 << 25),
.enable = s5p64x0_sclk_ctrl, .enable = s5p64x0_sclk_ctrl,
}, },
...@@ -440,7 +411,7 @@ static struct clksrc_clk clksrcs[] = { ...@@ -440,7 +411,7 @@ static struct clksrc_clk clksrcs[] = {
}, { }, {
.clk = { .clk = {
.name = "sclk_mmc", .name = "sclk_mmc",
.id = 2, .devname = "s3c-sdhci.2",
.ctrlbit = (1 << 26), .ctrlbit = (1 << 26),
.enable = s5p64x0_sclk_ctrl, .enable = s5p64x0_sclk_ctrl,
}, },
...@@ -450,7 +421,6 @@ static struct clksrc_clk clksrcs[] = { ...@@ -450,7 +421,6 @@ static struct clksrc_clk clksrcs[] = {
}, { }, {
.clk = { .clk = {
.name = "uclk1", .name = "uclk1",
.id = -1,
.ctrlbit = (1 << 5), .ctrlbit = (1 << 5),
.enable = s5p64x0_sclk_ctrl, .enable = s5p64x0_sclk_ctrl,
}, },
...@@ -460,7 +430,7 @@ static struct clksrc_clk clksrcs[] = { ...@@ -460,7 +430,7 @@ static struct clksrc_clk clksrcs[] = {
}, { }, {
.clk = { .clk = {
.name = "sclk_spi", .name = "sclk_spi",
.id = 0, .devname = "s3c64xx-spi.0",
.ctrlbit = (1 << 20), .ctrlbit = (1 << 20),
.enable = s5p64x0_sclk_ctrl, .enable = s5p64x0_sclk_ctrl,
}, },
...@@ -470,7 +440,7 @@ static struct clksrc_clk clksrcs[] = { ...@@ -470,7 +440,7 @@ static struct clksrc_clk clksrcs[] = {
}, { }, {
.clk = { .clk = {
.name = "sclk_spi", .name = "sclk_spi",
.id = 1, .devname = "s3c64xx-spi.1",
.ctrlbit = (1 << 21), .ctrlbit = (1 << 21),
.enable = s5p64x0_sclk_ctrl, .enable = s5p64x0_sclk_ctrl,
}, },
...@@ -480,7 +450,6 @@ static struct clksrc_clk clksrcs[] = { ...@@ -480,7 +450,6 @@ static struct clksrc_clk clksrcs[] = {
}, { }, {
.clk = { .clk = {
.name = "sclk_post", .name = "sclk_post",
.id = -1,
.ctrlbit = (1 << 10), .ctrlbit = (1 << 10),
.enable = s5p64x0_sclk_ctrl, .enable = s5p64x0_sclk_ctrl,
}, },
...@@ -490,7 +459,6 @@ static struct clksrc_clk clksrcs[] = { ...@@ -490,7 +459,6 @@ static struct clksrc_clk clksrcs[] = {
}, { }, {
.clk = { .clk = {
.name = "sclk_dispcon", .name = "sclk_dispcon",
.id = -1,
.ctrlbit = (1 << 1), .ctrlbit = (1 << 1),
.enable = s5p64x0_sclk1_ctrl, .enable = s5p64x0_sclk1_ctrl,
}, },
...@@ -500,7 +468,6 @@ static struct clksrc_clk clksrcs[] = { ...@@ -500,7 +468,6 @@ static struct clksrc_clk clksrcs[] = {
}, { }, {
.clk = { .clk = {
.name = "sclk_fimgvg", .name = "sclk_fimgvg",
.id = -1,
.ctrlbit = (1 << 2), .ctrlbit = (1 << 2),
.enable = s5p64x0_sclk1_ctrl, .enable = s5p64x0_sclk1_ctrl,
}, },
...@@ -510,7 +477,6 @@ static struct clksrc_clk clksrcs[] = { ...@@ -510,7 +477,6 @@ static struct clksrc_clk clksrcs[] = {
}, { }, {
.clk = { .clk = {
.name = "sclk_audio2", .name = "sclk_audio2",
.id = -1,
.ctrlbit = (1 << 11), .ctrlbit = (1 << 11),
.enable = s5p64x0_sclk_ctrl, .enable = s5p64x0_sclk_ctrl,
}, },
......
...@@ -36,7 +36,6 @@ ...@@ -36,7 +36,6 @@
static struct clksrc_clk clk_mout_dpll = { static struct clksrc_clk clk_mout_dpll = {
.clk = { .clk = {
.name = "mout_dpll", .name = "mout_dpll",
.id = -1,
}, },
.sources = &clk_src_dpll, .sources = &clk_src_dpll,
.reg_src = { .reg = S5P64X0_CLK_SRC0, .shift = 5, .size = 1 }, .reg_src = { .reg = S5P64X0_CLK_SRC0, .shift = 5, .size = 1 },
...@@ -96,7 +95,6 @@ static struct clk_ops s5p6450_epll_ops = { ...@@ -96,7 +95,6 @@ static struct clk_ops s5p6450_epll_ops = {
static struct clksrc_clk clk_dout_epll = { static struct clksrc_clk clk_dout_epll = {
.clk = { .clk = {
.name = "dout_epll", .name = "dout_epll",
.id = -1,
.parent = &clk_mout_epll.clk, .parent = &clk_mout_epll.clk,
}, },
.reg_div = { .reg = S5P64X0_CLK_DIV1, .shift = 24, .size = 4 }, .reg_div = { .reg = S5P64X0_CLK_DIV1, .shift = 24, .size = 4 },
...@@ -105,7 +103,6 @@ static struct clksrc_clk clk_dout_epll = { ...@@ -105,7 +103,6 @@ static struct clksrc_clk clk_dout_epll = {
static struct clksrc_clk clk_mout_hclk_sel = { static struct clksrc_clk clk_mout_hclk_sel = {
.clk = { .clk = {
.name = "mout_hclk_sel", .name = "mout_hclk_sel",
.id = -1,
}, },
.sources = &clkset_hclk_low, .sources = &clkset_hclk_low,
.reg_src = { .reg = S5P64X0_OTHERS, .shift = 15, .size = 1 }, .reg_src = { .reg = S5P64X0_OTHERS, .shift = 15, .size = 1 },
...@@ -124,7 +121,6 @@ static struct clksrc_sources clkset_hclk = { ...@@ -124,7 +121,6 @@ static struct clksrc_sources clkset_hclk = {
static struct clksrc_clk clk_hclk = { static struct clksrc_clk clk_hclk = {
.clk = { .clk = {
.name = "clk_hclk", .name = "clk_hclk",
.id = -1,
}, },
.sources = &clkset_hclk, .sources = &clkset_hclk,
.reg_src = { .reg = S5P64X0_OTHERS, .shift = 14, .size = 1 }, .reg_src = { .reg = S5P64X0_OTHERS, .shift = 14, .size = 1 },
...@@ -134,7 +130,6 @@ static struct clksrc_clk clk_hclk = { ...@@ -134,7 +130,6 @@ static struct clksrc_clk clk_hclk = {
static struct clksrc_clk clk_pclk = { static struct clksrc_clk clk_pclk = {
.clk = { .clk = {
.name = "clk_pclk", .name = "clk_pclk",
.id = -1,
.parent = &clk_hclk.clk, .parent = &clk_hclk.clk,
}, },
.reg_div = { .reg = S5P64X0_CLK_DIV0, .shift = 12, .size = 4 }, .reg_div = { .reg = S5P64X0_CLK_DIV0, .shift = 12, .size = 4 },
...@@ -142,7 +137,6 @@ static struct clksrc_clk clk_pclk = { ...@@ -142,7 +137,6 @@ static struct clksrc_clk clk_pclk = {
static struct clksrc_clk clk_dout_pwm_ratio0 = { static struct clksrc_clk clk_dout_pwm_ratio0 = {
.clk = { .clk = {
.name = "clk_dout_pwm_ratio0", .name = "clk_dout_pwm_ratio0",
.id = -1,
.parent = &clk_mout_hclk_sel.clk, .parent = &clk_mout_hclk_sel.clk,
}, },
.reg_div = { .reg = S5P64X0_CLK_DIV3, .shift = 16, .size = 4 }, .reg_div = { .reg = S5P64X0_CLK_DIV3, .shift = 16, .size = 4 },
...@@ -151,7 +145,6 @@ static struct clksrc_clk clk_dout_pwm_ratio0 = { ...@@ -151,7 +145,6 @@ static struct clksrc_clk clk_dout_pwm_ratio0 = {
static struct clksrc_clk clk_pclk_to_wdt_pwm = { static struct clksrc_clk clk_pclk_to_wdt_pwm = {
.clk = { .clk = {
.name = "clk_pclk_to_wdt_pwm", .name = "clk_pclk_to_wdt_pwm",
.id = -1,
.parent = &clk_dout_pwm_ratio0.clk, .parent = &clk_dout_pwm_ratio0.clk,
}, },
.reg_div = { .reg = S5P64X0_CLK_DIV3, .shift = 20, .size = 4 }, .reg_div = { .reg = S5P64X0_CLK_DIV3, .shift = 20, .size = 4 },
...@@ -160,7 +153,6 @@ static struct clksrc_clk clk_pclk_to_wdt_pwm = { ...@@ -160,7 +153,6 @@ static struct clksrc_clk clk_pclk_to_wdt_pwm = {
static struct clksrc_clk clk_hclk_low = { static struct clksrc_clk clk_hclk_low = {
.clk = { .clk = {
.name = "clk_hclk_low", .name = "clk_hclk_low",
.id = -1,
}, },
.sources = &clkset_hclk_low, .sources = &clkset_hclk_low,
.reg_src = { .reg = S5P64X0_OTHERS, .shift = 6, .size = 1 }, .reg_src = { .reg = S5P64X0_OTHERS, .shift = 6, .size = 1 },
...@@ -170,7 +162,6 @@ static struct clksrc_clk clk_hclk_low = { ...@@ -170,7 +162,6 @@ static struct clksrc_clk clk_hclk_low = {
static struct clksrc_clk clk_pclk_low = { static struct clksrc_clk clk_pclk_low = {
.clk = { .clk = {
.name = "clk_pclk_low", .name = "clk_pclk_low",
.id = -1,
.parent = &clk_hclk_low.clk, .parent = &clk_hclk_low.clk,
}, },
.reg_div = { .reg = S5P64X0_CLK_DIV3, .shift = 12, .size = 4 }, .reg_div = { .reg = S5P64X0_CLK_DIV3, .shift = 12, .size = 4 },
...@@ -184,109 +175,101 @@ static struct clksrc_clk clk_pclk_low = { ...@@ -184,109 +175,101 @@ static struct clksrc_clk clk_pclk_low = {
static struct clk init_clocks_off[] = { static struct clk init_clocks_off[] = {
{ {
.name = "usbhost", .name = "usbhost",
.id = -1,
.parent = &clk_hclk_low.clk, .parent = &clk_hclk_low.clk,
.enable = s5p64x0_hclk0_ctrl, .enable = s5p64x0_hclk0_ctrl,
.ctrlbit = (1 << 3), .ctrlbit = (1 << 3),
}, { }, {
.name = "pdma", .name = "pdma",
.id = -1,
.parent = &clk_hclk_low.clk, .parent = &clk_hclk_low.clk,
.enable = s5p64x0_hclk0_ctrl, .enable = s5p64x0_hclk0_ctrl,
.ctrlbit = (1 << 12), .ctrlbit = (1 << 12),
}, { }, {
.name = "hsmmc", .name = "hsmmc",
.id = 0, .devname = "s3c-sdhci.0",
.parent = &clk_hclk_low.clk, .parent = &clk_hclk_low.clk,
.enable = s5p64x0_hclk0_ctrl, .enable = s5p64x0_hclk0_ctrl,
.ctrlbit = (1 << 17), .ctrlbit = (1 << 17),
}, { }, {
.name = "hsmmc", .name = "hsmmc",
.id = 1, .devname = "s3c-sdhci.1",
.parent = &clk_hclk_low.clk, .parent = &clk_hclk_low.clk,
.enable = s5p64x0_hclk0_ctrl, .enable = s5p64x0_hclk0_ctrl,
.ctrlbit = (1 << 18), .ctrlbit = (1 << 18),
}, { }, {
.name = "hsmmc", .name = "hsmmc",
.id = 2, .devname = "s3c-sdhci.2",
.parent = &clk_hclk_low.clk, .parent = &clk_hclk_low.clk,
.enable = s5p64x0_hclk0_ctrl, .enable = s5p64x0_hclk0_ctrl,
.ctrlbit = (1 << 19), .ctrlbit = (1 << 19),
}, { }, {
.name = "usbotg", .name = "usbotg",
.id = -1,
.parent = &clk_hclk_low.clk, .parent = &clk_hclk_low.clk,
.enable = s5p64x0_hclk0_ctrl, .enable = s5p64x0_hclk0_ctrl,
.ctrlbit = (1 << 20), .ctrlbit = (1 << 20),
}, { }, {
.name = "lcd", .name = "lcd",
.id = -1,
.parent = &clk_h, .parent = &clk_h,
.enable = s5p64x0_hclk1_ctrl, .enable = s5p64x0_hclk1_ctrl,
.ctrlbit = (1 << 1), .ctrlbit = (1 << 1),
}, { }, {
.name = "watchdog", .name = "watchdog",
.id = -1,
.parent = &clk_pclk_low.clk, .parent = &clk_pclk_low.clk,
.enable = s5p64x0_pclk_ctrl, .enable = s5p64x0_pclk_ctrl,
.ctrlbit = (1 << 5), .ctrlbit = (1 << 5),
}, { }, {
.name = "rtc", .name = "rtc",
.id = -1,
.parent = &clk_pclk_low.clk, .parent = &clk_pclk_low.clk,
.enable = s5p64x0_pclk_ctrl, .enable = s5p64x0_pclk_ctrl,
.ctrlbit = (1 << 6), .ctrlbit = (1 << 6),
}, { }, {
.name = "adc", .name = "adc",
.id = -1,
.parent = &clk_pclk_low.clk, .parent = &clk_pclk_low.clk,
.enable = s5p64x0_pclk_ctrl, .enable = s5p64x0_pclk_ctrl,
.ctrlbit = (1 << 12), .ctrlbit = (1 << 12),
}, { }, {
.name = "i2c", .name = "i2c",
.id = 0, .devname = "s3c2440-i2c.0",
.parent = &clk_pclk_low.clk, .parent = &clk_pclk_low.clk,
.enable = s5p64x0_pclk_ctrl, .enable = s5p64x0_pclk_ctrl,
.ctrlbit = (1 << 17), .ctrlbit = (1 << 17),
}, { }, {
.name = "spi", .name = "spi",
.id = 0, .devname = "s3c64xx-spi.0",
.parent = &clk_pclk_low.clk, .parent = &clk_pclk_low.clk,
.enable = s5p64x0_pclk_ctrl, .enable = s5p64x0_pclk_ctrl,
.ctrlbit = (1 << 21), .ctrlbit = (1 << 21),
}, { }, {
.name = "spi", .name = "spi",
.id = 1, .devname = "s3c64xx-spi.1",
.parent = &clk_pclk_low.clk, .parent = &clk_pclk_low.clk,
.enable = s5p64x0_pclk_ctrl, .enable = s5p64x0_pclk_ctrl,
.ctrlbit = (1 << 22), .ctrlbit = (1 << 22),
}, { }, {
.name = "iis", .name = "iis",
.id = 0, .devname = "samsung-i2s.0",
.parent = &clk_pclk_low.clk, .parent = &clk_pclk_low.clk,
.enable = s5p64x0_pclk_ctrl, .enable = s5p64x0_pclk_ctrl,
.ctrlbit = (1 << 26), .ctrlbit = (1 << 26),
}, { }, {
.name = "iis", .name = "iis",
.id = 1, .devname = "samsung-i2s.1",
.parent = &clk_pclk_low.clk, .parent = &clk_pclk_low.clk,
.enable = s5p64x0_pclk_ctrl, .enable = s5p64x0_pclk_ctrl,
.ctrlbit = (1 << 15), .ctrlbit = (1 << 15),
}, { }, {
.name = "iis", .name = "iis",
.id = 2, .devname = "samsung-i2s.2",
.parent = &clk_pclk_low.clk, .parent = &clk_pclk_low.clk,
.enable = s5p64x0_pclk_ctrl, .enable = s5p64x0_pclk_ctrl,
.ctrlbit = (1 << 16), .ctrlbit = (1 << 16),
}, { }, {
.name = "i2c", .name = "i2c",
.id = 1, .devname = "s3c2440-i2c.1",
.parent = &clk_pclk_low.clk, .parent = &clk_pclk_low.clk,
.enable = s5p64x0_pclk_ctrl, .enable = s5p64x0_pclk_ctrl,
.ctrlbit = (1 << 27), .ctrlbit = (1 << 27),
}, { }, {
.name = "dmc0", .name = "dmc0",
.id = -1,
.parent = &clk_pclk.clk, .parent = &clk_pclk.clk,
.enable = s5p64x0_pclk_ctrl, .enable = s5p64x0_pclk_ctrl,
.ctrlbit = (1 << 30), .ctrlbit = (1 << 30),
...@@ -299,49 +282,45 @@ static struct clk init_clocks_off[] = { ...@@ -299,49 +282,45 @@ static struct clk init_clocks_off[] = {
static struct clk init_clocks[] = { static struct clk init_clocks[] = {
{ {
.name = "intc", .name = "intc",
.id = -1,
.parent = &clk_hclk.clk, .parent = &clk_hclk.clk,
.enable = s5p64x0_hclk0_ctrl, .enable = s5p64x0_hclk0_ctrl,
.ctrlbit = (1 << 1), .ctrlbit = (1 << 1),
}, { }, {
.name = "mem", .name = "mem",
.id = -1,
.parent = &clk_hclk.clk, .parent = &clk_hclk.clk,
.enable = s5p64x0_hclk0_ctrl, .enable = s5p64x0_hclk0_ctrl,
.ctrlbit = (1 << 21), .ctrlbit = (1 << 21),
}, { }, {
.name = "uart", .name = "uart",
.id = 0, .devname = "s3c6400-uart.0",
.parent = &clk_pclk_low.clk, .parent = &clk_pclk_low.clk,
.enable = s5p64x0_pclk_ctrl, .enable = s5p64x0_pclk_ctrl,
.ctrlbit = (1 << 1), .ctrlbit = (1 << 1),
}, { }, {
.name = "uart", .name = "uart",
.id = 1, .devname = "s3c6400-uart.1",
.parent = &clk_pclk_low.clk, .parent = &clk_pclk_low.clk,
.enable = s5p64x0_pclk_ctrl, .enable = s5p64x0_pclk_ctrl,
.ctrlbit = (1 << 2), .ctrlbit = (1 << 2),
}, { }, {
.name = "uart", .name = "uart",
.id = 2, .devname = "s3c6400-uart.2",
.parent = &clk_pclk_low.clk, .parent = &clk_pclk_low.clk,
.enable = s5p64x0_pclk_ctrl, .enable = s5p64x0_pclk_ctrl,
.ctrlbit = (1 << 3), .ctrlbit = (1 << 3),
}, { }, {
.name = "uart", .name = "uart",
.id = 3, .devname = "s3c6400-uart.3",
.parent = &clk_pclk_low.clk, .parent = &clk_pclk_low.clk,
.enable = s5p64x0_pclk_ctrl, .enable = s5p64x0_pclk_ctrl,
.ctrlbit = (1 << 4), .ctrlbit = (1 << 4),
}, { }, {
.name = "timers", .name = "timers",
.id = -1,
.parent = &clk_pclk_to_wdt_pwm.clk, .parent = &clk_pclk_to_wdt_pwm.clk,
.enable = s5p64x0_pclk_ctrl, .enable = s5p64x0_pclk_ctrl,
.ctrlbit = (1 << 7), .ctrlbit = (1 << 7),
}, { }, {
.name = "gpio", .name = "gpio",
.id = -1,
.parent = &clk_pclk_low.clk, .parent = &clk_pclk_low.clk,
.enable = s5p64x0_pclk_ctrl, .enable = s5p64x0_pclk_ctrl,
.ctrlbit = (1 << 18), .ctrlbit = (1 << 18),
...@@ -421,7 +400,6 @@ static struct clksrc_sources clkset_sclk_audio0 = { ...@@ -421,7 +400,6 @@ static struct clksrc_sources clkset_sclk_audio0 = {
static struct clksrc_clk clk_sclk_audio0 = { static struct clksrc_clk clk_sclk_audio0 = {
.clk = { .clk = {
.name = "audio-bus", .name = "audio-bus",
.id = -1,
.enable = s5p64x0_sclk_ctrl, .enable = s5p64x0_sclk_ctrl,
.ctrlbit = (1 << 8), .ctrlbit = (1 << 8),
.parent = &clk_dout_epll.clk, .parent = &clk_dout_epll.clk,
...@@ -435,7 +413,7 @@ static struct clksrc_clk clksrcs[] = { ...@@ -435,7 +413,7 @@ static struct clksrc_clk clksrcs[] = {
{ {
.clk = { .clk = {
.name = "sclk_mmc", .name = "sclk_mmc",
.id = 0, .devname = "s3c-sdhci.0",
.ctrlbit = (1 << 24), .ctrlbit = (1 << 24),
.enable = s5p64x0_sclk_ctrl, .enable = s5p64x0_sclk_ctrl,
}, },
...@@ -445,7 +423,7 @@ static struct clksrc_clk clksrcs[] = { ...@@ -445,7 +423,7 @@ static struct clksrc_clk clksrcs[] = {
}, { }, {
.clk = { .clk = {
.name = "sclk_mmc", .name = "sclk_mmc",
.id = 1, .devname = "s3c-sdhci.1",
.ctrlbit = (1 << 25), .ctrlbit = (1 << 25),
.enable = s5p64x0_sclk_ctrl, .enable = s5p64x0_sclk_ctrl,
}, },
...@@ -455,7 +433,7 @@ static struct clksrc_clk clksrcs[] = { ...@@ -455,7 +433,7 @@ static struct clksrc_clk clksrcs[] = {
}, { }, {
.clk = { .clk = {
.name = "sclk_mmc", .name = "sclk_mmc",
.id = 2, .devname = "s3c-sdhci.2",
.ctrlbit = (1 << 26), .ctrlbit = (1 << 26),
.enable = s5p64x0_sclk_ctrl, .enable = s5p64x0_sclk_ctrl,
}, },
...@@ -465,7 +443,6 @@ static struct clksrc_clk clksrcs[] = { ...@@ -465,7 +443,6 @@ static struct clksrc_clk clksrcs[] = {
}, { }, {
.clk = { .clk = {
.name = "uclk1", .name = "uclk1",
.id = -1,
.ctrlbit = (1 << 5), .ctrlbit = (1 << 5),
.enable = s5p64x0_sclk_ctrl, .enable = s5p64x0_sclk_ctrl,
}, },
...@@ -475,7 +452,7 @@ static struct clksrc_clk clksrcs[] = { ...@@ -475,7 +452,7 @@ static struct clksrc_clk clksrcs[] = {
}, { }, {
.clk = { .clk = {
.name = "sclk_spi", .name = "sclk_spi",
.id = 0, .devname = "s3c64xx-spi.0",
.ctrlbit = (1 << 20), .ctrlbit = (1 << 20),
.enable = s5p64x0_sclk_ctrl, .enable = s5p64x0_sclk_ctrl,
}, },
...@@ -485,7 +462,7 @@ static struct clksrc_clk clksrcs[] = { ...@@ -485,7 +462,7 @@ static struct clksrc_clk clksrcs[] = {
}, { }, {
.clk = { .clk = {
.name = "sclk_spi", .name = "sclk_spi",
.id = 1, .devname = "s3c64xx-spi.1",
.ctrlbit = (1 << 21), .ctrlbit = (1 << 21),
.enable = s5p64x0_sclk_ctrl, .enable = s5p64x0_sclk_ctrl,
}, },
...@@ -495,7 +472,6 @@ static struct clksrc_clk clksrcs[] = { ...@@ -495,7 +472,6 @@ static struct clksrc_clk clksrcs[] = {
}, { }, {
.clk = { .clk = {
.name = "sclk_fimc", .name = "sclk_fimc",
.id = -1,
.ctrlbit = (1 << 10), .ctrlbit = (1 << 10),
.enable = s5p64x0_sclk_ctrl, .enable = s5p64x0_sclk_ctrl,
}, },
...@@ -505,7 +481,6 @@ static struct clksrc_clk clksrcs[] = { ...@@ -505,7 +481,6 @@ static struct clksrc_clk clksrcs[] = {
}, { }, {
.clk = { .clk = {
.name = "aclk_mali", .name = "aclk_mali",
.id = -1,
.ctrlbit = (1 << 2), .ctrlbit = (1 << 2),
.enable = s5p64x0_sclk1_ctrl, .enable = s5p64x0_sclk1_ctrl,
}, },
...@@ -515,7 +490,6 @@ static struct clksrc_clk clksrcs[] = { ...@@ -515,7 +490,6 @@ static struct clksrc_clk clksrcs[] = {
}, { }, {
.clk = { .clk = {
.name = "sclk_2d", .name = "sclk_2d",
.id = -1,
.ctrlbit = (1 << 12), .ctrlbit = (1 << 12),
.enable = s5p64x0_sclk_ctrl, .enable = s5p64x0_sclk_ctrl,
}, },
...@@ -525,7 +499,6 @@ static struct clksrc_clk clksrcs[] = { ...@@ -525,7 +499,6 @@ static struct clksrc_clk clksrcs[] = {
}, { }, {
.clk = { .clk = {
.name = "sclk_usi", .name = "sclk_usi",
.id = -1,
.ctrlbit = (1 << 7), .ctrlbit = (1 << 7),
.enable = s5p64x0_sclk_ctrl, .enable = s5p64x0_sclk_ctrl,
}, },
...@@ -535,7 +508,6 @@ static struct clksrc_clk clksrcs[] = { ...@@ -535,7 +508,6 @@ static struct clksrc_clk clksrcs[] = {
}, { }, {
.clk = { .clk = {
.name = "sclk_camif", .name = "sclk_camif",
.id = -1,
.ctrlbit = (1 << 6), .ctrlbit = (1 << 6),
.enable = s5p64x0_sclk_ctrl, .enable = s5p64x0_sclk_ctrl,
}, },
...@@ -545,7 +517,6 @@ static struct clksrc_clk clksrcs[] = { ...@@ -545,7 +517,6 @@ static struct clksrc_clk clksrcs[] = {
}, { }, {
.clk = { .clk = {
.name = "sclk_dispcon", .name = "sclk_dispcon",
.id = -1,
.ctrlbit = (1 << 1), .ctrlbit = (1 << 1),
.enable = s5p64x0_sclk1_ctrl, .enable = s5p64x0_sclk1_ctrl,
}, },
...@@ -555,7 +526,6 @@ static struct clksrc_clk clksrcs[] = { ...@@ -555,7 +526,6 @@ static struct clksrc_clk clksrcs[] = {
}, { }, {
.clk = { .clk = {
.name = "sclk_hsmmc44", .name = "sclk_hsmmc44",
.id = -1,
.ctrlbit = (1 << 30), .ctrlbit = (1 << 30),
.enable = s5p64x0_sclk_ctrl, .enable = s5p64x0_sclk_ctrl,
}, },
......
#ifndef __MACH_CLKDEV_H__
#define __MACH_CLKDEV_H__
#define __clk_get(clk) ({ 1; })
#define __clk_put(clk) do {} while (0)
#endif
This diff is collapsed.
#ifndef __MACH_CLKDEV_H__
#define __MACH_CLKDEV_H__
#define __clk_get(clk) ({ 1; })
#define __clk_put(clk) do {} while (0)
#endif
This diff is collapsed.
#ifndef __MACH_CLKDEV_H__
#define __MACH_CLKDEV_H__
#define __clk_get(clk) ({ 1; })
#define __clk_put(clk) do {} while (0)
#endif
...@@ -169,7 +169,6 @@ static struct clk_ops dclk_ops = { ...@@ -169,7 +169,6 @@ static struct clk_ops dclk_ops = {
struct clk s3c24xx_dclk0 = { struct clk s3c24xx_dclk0 = {
.name = "dclk0", .name = "dclk0",
.id = -1,
.ctrlbit = S3C2410_DCLKCON_DCLK0EN, .ctrlbit = S3C2410_DCLKCON_DCLK0EN,
.enable = s3c24xx_dclk_enable, .enable = s3c24xx_dclk_enable,
.ops = &dclk_ops, .ops = &dclk_ops,
...@@ -177,7 +176,6 @@ struct clk s3c24xx_dclk0 = { ...@@ -177,7 +176,6 @@ struct clk s3c24xx_dclk0 = {
struct clk s3c24xx_dclk1 = { struct clk s3c24xx_dclk1 = {
.name = "dclk1", .name = "dclk1",
.id = -1,
.ctrlbit = S3C2410_DCLKCON_DCLK1EN, .ctrlbit = S3C2410_DCLKCON_DCLK1EN,
.enable = s3c24xx_dclk_enable, .enable = s3c24xx_dclk_enable,
.ops = &dclk_ops, .ops = &dclk_ops,
...@@ -189,12 +187,10 @@ static struct clk_ops clkout_ops = { ...@@ -189,12 +187,10 @@ static struct clk_ops clkout_ops = {
struct clk s3c24xx_clkout0 = { struct clk s3c24xx_clkout0 = {
.name = "clkout0", .name = "clkout0",
.id = -1,
.ops = &clkout_ops, .ops = &clkout_ops,
}; };
struct clk s3c24xx_clkout1 = { struct clk s3c24xx_clkout1 = {
.name = "clkout1", .name = "clkout1",
.id = -1,
.ops = &clkout_ops, .ops = &clkout_ops,
}; };
#ifndef __MACH_CLKDEV_H__
#define __MACH_CLKDEV_H__
#define __clk_get(clk) ({ 1; })
#define __clk_put(clk) do {} while (0)
#endif
...@@ -90,37 +90,31 @@ static int s3c2410_upll_enable(struct clk *clk, int enable) ...@@ -90,37 +90,31 @@ static int s3c2410_upll_enable(struct clk *clk, int enable)
static struct clk init_clocks_off[] = { static struct clk init_clocks_off[] = {
{ {
.name = "nand", .name = "nand",
.id = -1,
.parent = &clk_h, .parent = &clk_h,
.enable = s3c2410_clkcon_enable, .enable = s3c2410_clkcon_enable,
.ctrlbit = S3C2410_CLKCON_NAND, .ctrlbit = S3C2410_CLKCON_NAND,
}, { }, {
.name = "sdi", .name = "sdi",
.id = -1,
.parent = &clk_p, .parent = &clk_p,
.enable = s3c2410_clkcon_enable, .enable = s3c2410_clkcon_enable,
.ctrlbit = S3C2410_CLKCON_SDI, .ctrlbit = S3C2410_CLKCON_SDI,
}, { }, {
.name = "adc", .name = "adc",
.id = -1,
.parent = &clk_p, .parent = &clk_p,
.enable = s3c2410_clkcon_enable, .enable = s3c2410_clkcon_enable,
.ctrlbit = S3C2410_CLKCON_ADC, .ctrlbit = S3C2410_CLKCON_ADC,
}, { }, {
.name = "i2c", .name = "i2c",
.id = -1,
.parent = &clk_p, .parent = &clk_p,
.enable = s3c2410_clkcon_enable, .enable = s3c2410_clkcon_enable,
.ctrlbit = S3C2410_CLKCON_IIC, .ctrlbit = S3C2410_CLKCON_IIC,
}, { }, {
.name = "iis", .name = "iis",
.id = -1,
.parent = &clk_p, .parent = &clk_p,
.enable = s3c2410_clkcon_enable, .enable = s3c2410_clkcon_enable,
.ctrlbit = S3C2410_CLKCON_IIS, .ctrlbit = S3C2410_CLKCON_IIS,
}, { }, {
.name = "spi", .name = "spi",
.id = -1,
.parent = &clk_p, .parent = &clk_p,
.enable = s3c2410_clkcon_enable, .enable = s3c2410_clkcon_enable,
.ctrlbit = S3C2410_CLKCON_SPI, .ctrlbit = S3C2410_CLKCON_SPI,
...@@ -130,70 +124,61 @@ static struct clk init_clocks_off[] = { ...@@ -130,70 +124,61 @@ static struct clk init_clocks_off[] = {
static struct clk init_clocks[] = { static struct clk init_clocks[] = {
{ {
.name = "lcd", .name = "lcd",
.id = -1,
.parent = &clk_h, .parent = &clk_h,
.enable = s3c2410_clkcon_enable, .enable = s3c2410_clkcon_enable,
.ctrlbit = S3C2410_CLKCON_LCDC, .ctrlbit = S3C2410_CLKCON_LCDC,
}, { }, {
.name = "gpio", .name = "gpio",
.id = -1,
.parent = &clk_p, .parent = &clk_p,
.enable = s3c2410_clkcon_enable, .enable = s3c2410_clkcon_enable,
.ctrlbit = S3C2410_CLKCON_GPIO, .ctrlbit = S3C2410_CLKCON_GPIO,
}, { }, {
.name = "usb-host", .name = "usb-host",
.id = -1,
.parent = &clk_h, .parent = &clk_h,
.enable = s3c2410_clkcon_enable, .enable = s3c2410_clkcon_enable,
.ctrlbit = S3C2410_CLKCON_USBH, .ctrlbit = S3C2410_CLKCON_USBH,
}, { }, {
.name = "usb-device", .name = "usb-device",
.id = -1,
.parent = &clk_h, .parent = &clk_h,
.enable = s3c2410_clkcon_enable, .enable = s3c2410_clkcon_enable,
.ctrlbit = S3C2410_CLKCON_USBD, .ctrlbit = S3C2410_CLKCON_USBD,
}, { }, {
.name = "timers", .name = "timers",
.id = -1,
.parent = &clk_p, .parent = &clk_p,
.enable = s3c2410_clkcon_enable, .enable = s3c2410_clkcon_enable,
.ctrlbit = S3C2410_CLKCON_PWMT, .ctrlbit = S3C2410_CLKCON_PWMT,
}, { }, {
.name = "uart", .name = "uart",
.id = 0, .devname = "s3c2410-uart.0",
.parent = &clk_p, .parent = &clk_p,
.enable = s3c2410_clkcon_enable, .enable = s3c2410_clkcon_enable,
.ctrlbit = S3C2410_CLKCON_UART0, .ctrlbit = S3C2410_CLKCON_UART0,
}, { }, {
.name = "uart", .name = "uart",
.id = 1, .devname = "s3c2410-uart.1",
.parent = &clk_p, .parent = &clk_p,
.enable = s3c2410_clkcon_enable, .enable = s3c2410_clkcon_enable,
.ctrlbit = S3C2410_CLKCON_UART1, .ctrlbit = S3C2410_CLKCON_UART1,
}, { }, {
.name = "uart", .name = "uart",
.id = 2, .devname = "s3c2410-uart.2",
.parent = &clk_p, .parent = &clk_p,
.enable = s3c2410_clkcon_enable, .enable = s3c2410_clkcon_enable,
.ctrlbit = S3C2410_CLKCON_UART2, .ctrlbit = S3C2410_CLKCON_UART2,
}, { }, {
.name = "rtc", .name = "rtc",
.id = -1,
.parent = &clk_p, .parent = &clk_p,
.enable = s3c2410_clkcon_enable, .enable = s3c2410_clkcon_enable,
.ctrlbit = S3C2410_CLKCON_RTC, .ctrlbit = S3C2410_CLKCON_RTC,
}, { }, {
.name = "watchdog", .name = "watchdog",
.id = -1,
.parent = &clk_p, .parent = &clk_p,
.ctrlbit = 0, .ctrlbit = 0,
}, { }, {
.name = "usb-bus-host", .name = "usb-bus-host",
.id = -1,
.parent = &clk_usb_bus, .parent = &clk_usb_bus,
}, { }, {
.name = "usb-bus-gadget", .name = "usb-bus-gadget",
.id = -1,
.parent = &clk_usb_bus, .parent = &clk_usb_bus,
}, },
}; };
......
...@@ -56,7 +56,6 @@ int s3c2443_clkcon_enable_s(struct clk *clk, int enable) ...@@ -56,7 +56,6 @@ int s3c2443_clkcon_enable_s(struct clk *clk, int enable)
struct clk clk_mpllref = { struct clk clk_mpllref = {
.name = "mpllref", .name = "mpllref",
.parent = &clk_xtal, .parent = &clk_xtal,
.id = -1,
}; };
static struct clk *clk_epllref_sources[] = { static struct clk *clk_epllref_sources[] = {
...@@ -69,7 +68,6 @@ static struct clk *clk_epllref_sources[] = { ...@@ -69,7 +68,6 @@ static struct clk *clk_epllref_sources[] = {
struct clksrc_clk clk_epllref = { struct clksrc_clk clk_epllref = {
.clk = { .clk = {
.name = "epllref", .name = "epllref",
.id = -1,
}, },
.sources = &(struct clksrc_sources) { .sources = &(struct clksrc_sources) {
.sources = clk_epllref_sources, .sources = clk_epllref_sources,
...@@ -92,7 +90,6 @@ struct clksrc_clk clk_esysclk = { ...@@ -92,7 +90,6 @@ struct clksrc_clk clk_esysclk = {
.clk = { .clk = {
.name = "esysclk", .name = "esysclk",
.parent = &clk_epll, .parent = &clk_epll,
.id = -1,
}, },
.sources = &(struct clksrc_sources) { .sources = &(struct clksrc_sources) {
.sources = clk_sysclk_sources, .sources = clk_sysclk_sources,
...@@ -115,7 +112,6 @@ static unsigned long s3c2443_getrate_mdivclk(struct clk *clk) ...@@ -115,7 +112,6 @@ static unsigned long s3c2443_getrate_mdivclk(struct clk *clk)
static struct clk clk_mdivclk = { static struct clk clk_mdivclk = {
.name = "mdivclk", .name = "mdivclk",
.parent = &clk_mpllref, .parent = &clk_mpllref,
.id = -1,
.ops = &(struct clk_ops) { .ops = &(struct clk_ops) {
.get_rate = s3c2443_getrate_mdivclk, .get_rate = s3c2443_getrate_mdivclk,
}, },
...@@ -132,7 +128,6 @@ struct clksrc_clk clk_msysclk = { ...@@ -132,7 +128,6 @@ struct clksrc_clk clk_msysclk = {
.clk = { .clk = {
.name = "msysclk", .name = "msysclk",
.parent = &clk_xtal, .parent = &clk_xtal,
.id = -1,
}, },
.sources = &(struct clksrc_sources) { .sources = &(struct clksrc_sources) {
.sources = clk_msysclk_sources, .sources = clk_msysclk_sources,
...@@ -159,7 +154,6 @@ static unsigned long s3c2443_prediv_getrate(struct clk *clk) ...@@ -159,7 +154,6 @@ static unsigned long s3c2443_prediv_getrate(struct clk *clk)
static struct clk clk_prediv = { static struct clk clk_prediv = {
.name = "prediv", .name = "prediv",
.id = -1,
.parent = &clk_msysclk.clk, .parent = &clk_msysclk.clk,
.ops = &(struct clk_ops) { .ops = &(struct clk_ops) {
.get_rate = s3c2443_prediv_getrate, .get_rate = s3c2443_prediv_getrate,
...@@ -174,7 +168,6 @@ static struct clk clk_prediv = { ...@@ -174,7 +168,6 @@ static struct clk clk_prediv = {
static struct clksrc_clk clk_usb_bus_host = { static struct clksrc_clk clk_usb_bus_host = {
.clk = { .clk = {
.name = "usb-bus-host-parent", .name = "usb-bus-host-parent",
.id = -1,
.parent = &clk_esysclk.clk, .parent = &clk_esysclk.clk,
.ctrlbit = S3C2443_SCLKCON_USBHOST, .ctrlbit = S3C2443_SCLKCON_USBHOST,
.enable = s3c2443_clkcon_enable_s, .enable = s3c2443_clkcon_enable_s,
...@@ -189,7 +182,6 @@ static struct clksrc_clk clksrc_clks[] = { ...@@ -189,7 +182,6 @@ static struct clksrc_clk clksrc_clks[] = {
/* ART baud-rate clock sourced from esysclk via a divisor */ /* ART baud-rate clock sourced from esysclk via a divisor */
.clk = { .clk = {
.name = "uartclk", .name = "uartclk",
.id = -1,
.parent = &clk_esysclk.clk, .parent = &clk_esysclk.clk,
}, },
.reg_div = { .reg = S3C2443_CLKDIV1, .size = 4, .shift = 8 }, .reg_div = { .reg = S3C2443_CLKDIV1, .size = 4, .shift = 8 },
...@@ -197,7 +189,6 @@ static struct clksrc_clk clksrc_clks[] = { ...@@ -197,7 +189,6 @@ static struct clksrc_clk clksrc_clks[] = {
/* camera interface bus-clock, divided down from esysclk */ /* camera interface bus-clock, divided down from esysclk */
.clk = { .clk = {
.name = "camif-upll", /* same as 2440 name */ .name = "camif-upll", /* same as 2440 name */
.id = -1,
.parent = &clk_esysclk.clk, .parent = &clk_esysclk.clk,
.ctrlbit = S3C2443_SCLKCON_CAMCLK, .ctrlbit = S3C2443_SCLKCON_CAMCLK,
.enable = s3c2443_clkcon_enable_s, .enable = s3c2443_clkcon_enable_s,
...@@ -206,7 +197,6 @@ static struct clksrc_clk clksrc_clks[] = { ...@@ -206,7 +197,6 @@ static struct clksrc_clk clksrc_clks[] = {
}, { }, {
.clk = { .clk = {
.name = "display-if", .name = "display-if",
.id = -1,
.parent = &clk_esysclk.clk, .parent = &clk_esysclk.clk,
.ctrlbit = S3C2443_SCLKCON_DISPCLK, .ctrlbit = S3C2443_SCLKCON_DISPCLK,
.enable = s3c2443_clkcon_enable_s, .enable = s3c2443_clkcon_enable_s,
...@@ -219,13 +209,11 @@ static struct clksrc_clk clksrc_clks[] = { ...@@ -219,13 +209,11 @@ static struct clksrc_clk clksrc_clks[] = {
static struct clk init_clocks_off[] = { static struct clk init_clocks_off[] = {
{ {
.name = "adc", .name = "adc",
.id = -1,
.parent = &clk_p, .parent = &clk_p,
.enable = s3c2443_clkcon_enable_p, .enable = s3c2443_clkcon_enable_p,
.ctrlbit = S3C2443_PCLKCON_ADC, .ctrlbit = S3C2443_PCLKCON_ADC,
}, { }, {
.name = "i2c", .name = "i2c",
.id = -1,
.parent = &clk_p, .parent = &clk_p,
.enable = s3c2443_clkcon_enable_p, .enable = s3c2443_clkcon_enable_p,
.ctrlbit = S3C2443_PCLKCON_IIC, .ctrlbit = S3C2443_PCLKCON_IIC,
...@@ -235,136 +223,117 @@ static struct clk init_clocks_off[] = { ...@@ -235,136 +223,117 @@ static struct clk init_clocks_off[] = {
static struct clk init_clocks[] = { static struct clk init_clocks[] = {
{ {
.name = "dma", .name = "dma",
.id = 0,
.parent = &clk_h, .parent = &clk_h,
.enable = s3c2443_clkcon_enable_h, .enable = s3c2443_clkcon_enable_h,
.ctrlbit = S3C2443_HCLKCON_DMA0, .ctrlbit = S3C2443_HCLKCON_DMA0,
}, { }, {
.name = "dma", .name = "dma",
.id = 1,
.parent = &clk_h, .parent = &clk_h,
.enable = s3c2443_clkcon_enable_h, .enable = s3c2443_clkcon_enable_h,
.ctrlbit = S3C2443_HCLKCON_DMA1, .ctrlbit = S3C2443_HCLKCON_DMA1,
}, { }, {
.name = "dma", .name = "dma",
.id = 2,
.parent = &clk_h, .parent = &clk_h,
.enable = s3c2443_clkcon_enable_h, .enable = s3c2443_clkcon_enable_h,
.ctrlbit = S3C2443_HCLKCON_DMA2, .ctrlbit = S3C2443_HCLKCON_DMA2,
}, { }, {
.name = "dma", .name = "dma",
.id = 3,
.parent = &clk_h, .parent = &clk_h,
.enable = s3c2443_clkcon_enable_h, .enable = s3c2443_clkcon_enable_h,
.ctrlbit = S3C2443_HCLKCON_DMA3, .ctrlbit = S3C2443_HCLKCON_DMA3,
}, { }, {
.name = "dma", .name = "dma",
.id = 4,
.parent = &clk_h, .parent = &clk_h,
.enable = s3c2443_clkcon_enable_h, .enable = s3c2443_clkcon_enable_h,
.ctrlbit = S3C2443_HCLKCON_DMA4, .ctrlbit = S3C2443_HCLKCON_DMA4,
}, { }, {
.name = "dma", .name = "dma",
.id = 5,
.parent = &clk_h, .parent = &clk_h,
.enable = s3c2443_clkcon_enable_h, .enable = s3c2443_clkcon_enable_h,
.ctrlbit = S3C2443_HCLKCON_DMA5, .ctrlbit = S3C2443_HCLKCON_DMA5,
}, { }, {
.name = "hsmmc", .name = "hsmmc",
.id = 1,
.parent = &clk_h, .parent = &clk_h,
.enable = s3c2443_clkcon_enable_h, .enable = s3c2443_clkcon_enable_h,
.ctrlbit = S3C2443_HCLKCON_HSMMC, .ctrlbit = S3C2443_HCLKCON_HSMMC,
}, { }, {
.name = "gpio", .name = "gpio",
.id = -1,
.parent = &clk_p, .parent = &clk_p,
.enable = s3c2443_clkcon_enable_p, .enable = s3c2443_clkcon_enable_p,
.ctrlbit = S3C2443_PCLKCON_GPIO, .ctrlbit = S3C2443_PCLKCON_GPIO,
}, { }, {
.name = "usb-host", .name = "usb-host",
.id = -1,
.parent = &clk_h, .parent = &clk_h,
.enable = s3c2443_clkcon_enable_h, .enable = s3c2443_clkcon_enable_h,
.ctrlbit = S3C2443_HCLKCON_USBH, .ctrlbit = S3C2443_HCLKCON_USBH,
}, { }, {
.name = "usb-device", .name = "usb-device",
.id = -1,
.parent = &clk_h, .parent = &clk_h,
.enable = s3c2443_clkcon_enable_h, .enable = s3c2443_clkcon_enable_h,
.ctrlbit = S3C2443_HCLKCON_USBD, .ctrlbit = S3C2443_HCLKCON_USBD,
}, { }, {
.name = "lcd", .name = "lcd",
.id = -1,
.parent = &clk_h, .parent = &clk_h,
.enable = s3c2443_clkcon_enable_h, .enable = s3c2443_clkcon_enable_h,
.ctrlbit = S3C2443_HCLKCON_LCDC, .ctrlbit = S3C2443_HCLKCON_LCDC,
}, { }, {
.name = "timers", .name = "timers",
.id = -1,
.parent = &clk_p, .parent = &clk_p,
.enable = s3c2443_clkcon_enable_p, .enable = s3c2443_clkcon_enable_p,
.ctrlbit = S3C2443_PCLKCON_PWMT, .ctrlbit = S3C2443_PCLKCON_PWMT,
}, { }, {
.name = "cfc", .name = "cfc",
.id = -1,
.parent = &clk_h, .parent = &clk_h,
.enable = s3c2443_clkcon_enable_h, .enable = s3c2443_clkcon_enable_h,
.ctrlbit = S3C2443_HCLKCON_CFC, .ctrlbit = S3C2443_HCLKCON_CFC,
}, { }, {
.name = "ssmc", .name = "ssmc",
.id = -1,
.parent = &clk_h, .parent = &clk_h,
.enable = s3c2443_clkcon_enable_h, .enable = s3c2443_clkcon_enable_h,
.ctrlbit = S3C2443_HCLKCON_SSMC, .ctrlbit = S3C2443_HCLKCON_SSMC,
}, { }, {
.name = "uart", .name = "uart",
.id = 0, .devname = "s3c2440-uart.0",
.parent = &clk_p, .parent = &clk_p,
.enable = s3c2443_clkcon_enable_p, .enable = s3c2443_clkcon_enable_p,
.ctrlbit = S3C2443_PCLKCON_UART0, .ctrlbit = S3C2443_PCLKCON_UART0,
}, { }, {
.name = "uart", .name = "uart",
.id = 1, .devname = "s3c2440-uart.1",
.parent = &clk_p, .parent = &clk_p,
.enable = s3c2443_clkcon_enable_p, .enable = s3c2443_clkcon_enable_p,
.ctrlbit = S3C2443_PCLKCON_UART1, .ctrlbit = S3C2443_PCLKCON_UART1,
}, { }, {
.name = "uart", .name = "uart",
.id = 2, .devname = "s3c2440-uart.2",
.parent = &clk_p, .parent = &clk_p,
.enable = s3c2443_clkcon_enable_p, .enable = s3c2443_clkcon_enable_p,
.ctrlbit = S3C2443_PCLKCON_UART2, .ctrlbit = S3C2443_PCLKCON_UART2,
}, { }, {
.name = "uart", .name = "uart",
.id = 3, .devname = "s3c2440-uart.3",
.parent = &clk_p, .parent = &clk_p,
.enable = s3c2443_clkcon_enable_p, .enable = s3c2443_clkcon_enable_p,
.ctrlbit = S3C2443_PCLKCON_UART3, .ctrlbit = S3C2443_PCLKCON_UART3,
}, { }, {
.name = "rtc", .name = "rtc",
.id = -1,
.parent = &clk_p, .parent = &clk_p,
.enable = s3c2443_clkcon_enable_p, .enable = s3c2443_clkcon_enable_p,
.ctrlbit = S3C2443_PCLKCON_RTC, .ctrlbit = S3C2443_PCLKCON_RTC,
}, { }, {
.name = "watchdog", .name = "watchdog",
.id = -1,
.parent = &clk_p, .parent = &clk_p,
.ctrlbit = S3C2443_PCLKCON_WDT, .ctrlbit = S3C2443_PCLKCON_WDT,
}, { }, {
.name = "ac97", .name = "ac97",
.id = -1,
.parent = &clk_p, .parent = &clk_p,
.ctrlbit = S3C2443_PCLKCON_AC97, .ctrlbit = S3C2443_PCLKCON_AC97,
}, { }, {
.name = "nand", .name = "nand",
.id = -1,
.parent = &clk_h, .parent = &clk_h,
}, { }, {
.name = "usb-bus-host", .name = "usb-bus-host",
.id = -1,
.parent = &clk_usb_bus_host.clk, .parent = &clk_usb_bus_host.clk,
} }
}; };
......
...@@ -384,6 +384,7 @@ static void __init s5p_timer_resources(void) ...@@ -384,6 +384,7 @@ static void __init s5p_timer_resources(void)
unsigned long event_id = timer_source.event_id; unsigned long event_id = timer_source.event_id;
unsigned long source_id = timer_source.source_id; unsigned long source_id = timer_source.source_id;
char devname[15];
timerclk = clk_get(NULL, "timers"); timerclk = clk_get(NULL, "timers");
if (IS_ERR(timerclk)) if (IS_ERR(timerclk))
...@@ -391,6 +392,10 @@ static void __init s5p_timer_resources(void) ...@@ -391,6 +392,10 @@ static void __init s5p_timer_resources(void)
clk_enable(timerclk); clk_enable(timerclk);
sprintf(devname, "s3c24xx-pwm.%lu", event_id);
s3c_device_timer[event_id].id = event_id;
s3c_device_timer[event_id].dev.init_name = devname;
tin_event = clk_get(&s3c_device_timer[event_id].dev, "pwm-tin"); tin_event = clk_get(&s3c_device_timer[event_id].dev, "pwm-tin");
if (IS_ERR(tin_event)) if (IS_ERR(tin_event))
panic("failed to get pwm-tin clock for event timer"); panic("failed to get pwm-tin clock for event timer");
...@@ -401,6 +406,10 @@ static void __init s5p_timer_resources(void) ...@@ -401,6 +406,10 @@ static void __init s5p_timer_resources(void)
clk_enable(tin_event); clk_enable(tin_event);
sprintf(devname, "s3c24xx-pwm.%lu", source_id);
s3c_device_timer[source_id].id = source_id;
s3c_device_timer[source_id].dev.init_name = devname;
tin_source = clk_get(&s3c_device_timer[source_id].dev, "pwm-tin"); tin_source = clk_get(&s3c_device_timer[source_id].dev, "pwm-tin");
if (IS_ERR(tin_source)) if (IS_ERR(tin_source))
panic("failed to get pwm-tin clock for source timer"); panic("failed to get pwm-tin clock for source timer");
......
...@@ -71,74 +71,6 @@ static int clk_null_enable(struct clk *clk, int enable) ...@@ -71,74 +71,6 @@ static int clk_null_enable(struct clk *clk, int enable)
return 0; return 0;
} }
static int dev_is_s3c_uart(struct device *dev)
{
struct platform_device **pdev = s3c24xx_uart_devs;
int i;
for (i = 0; i < ARRAY_SIZE(s3c24xx_uart_devs); i++, pdev++)
if (*pdev && dev == &(*pdev)->dev)
return 1;
return 0;
}
/*
* Serial drivers call get_clock() very early, before platform bus
* has been set up, this requires a special check to let them get
* a proper clock
*/
static int dev_is_platform_device(struct device *dev)
{
return dev->bus == &platform_bus_type ||
(dev->bus == NULL && dev_is_s3c_uart(dev));
}
/* Clock API calls */
struct clk *clk_get(struct device *dev, const char *id)
{
struct clk *p;
struct clk *clk = ERR_PTR(-ENOENT);
int idno;
if (dev == NULL || !dev_is_platform_device(dev))
idno = -1;
else
idno = to_platform_device(dev)->id;
spin_lock(&clocks_lock);
list_for_each_entry(p, &clocks, list) {
if (p->id == idno &&
strcmp(id, p->name) == 0 &&
try_module_get(p->owner)) {
clk = p;
break;
}
}
/* check for the case where a device was supplied, but the
* clock that was being searched for is not device specific */
if (IS_ERR(clk)) {
list_for_each_entry(p, &clocks, list) {
if (p->id == -1 && strcmp(id, p->name) == 0 &&
try_module_get(p->owner)) {
clk = p;
break;
}
}
}
spin_unlock(&clocks_lock);
return clk;
}
void clk_put(struct clk *clk)
{
module_put(clk->owner);
}
int clk_enable(struct clk *clk) int clk_enable(struct clk *clk)
{ {
if (IS_ERR(clk) || clk == NULL) if (IS_ERR(clk) || clk == NULL)
...@@ -241,8 +173,6 @@ int clk_set_parent(struct clk *clk, struct clk *parent) ...@@ -241,8 +173,6 @@ int clk_set_parent(struct clk *clk, struct clk *parent)
return ret; return ret;
} }
EXPORT_SYMBOL(clk_get);
EXPORT_SYMBOL(clk_put);
EXPORT_SYMBOL(clk_enable); EXPORT_SYMBOL(clk_enable);
EXPORT_SYMBOL(clk_disable); EXPORT_SYMBOL(clk_disable);
EXPORT_SYMBOL(clk_get_rate); EXPORT_SYMBOL(clk_get_rate);
...@@ -265,7 +195,6 @@ struct clk_ops clk_ops_def_setrate = { ...@@ -265,7 +195,6 @@ struct clk_ops clk_ops_def_setrate = {
struct clk clk_xtal = { struct clk clk_xtal = {
.name = "xtal", .name = "xtal",
.id = -1,
.rate = 0, .rate = 0,
.parent = NULL, .parent = NULL,
.ctrlbit = 0, .ctrlbit = 0,
...@@ -273,30 +202,25 @@ struct clk clk_xtal = { ...@@ -273,30 +202,25 @@ struct clk clk_xtal = {
struct clk clk_ext = { struct clk clk_ext = {
.name = "ext", .name = "ext",
.id = -1,
}; };
struct clk clk_epll = { struct clk clk_epll = {
.name = "epll", .name = "epll",
.id = -1,
}; };
struct clk clk_mpll = { struct clk clk_mpll = {
.name = "mpll", .name = "mpll",
.id = -1,
.ops = &clk_ops_def_setrate, .ops = &clk_ops_def_setrate,
}; };
struct clk clk_upll = { struct clk clk_upll = {
.name = "upll", .name = "upll",
.id = -1,
.parent = NULL, .parent = NULL,
.ctrlbit = 0, .ctrlbit = 0,
}; };
struct clk clk_f = { struct clk clk_f = {
.name = "fclk", .name = "fclk",
.id = -1,
.rate = 0, .rate = 0,
.parent = &clk_mpll, .parent = &clk_mpll,
.ctrlbit = 0, .ctrlbit = 0,
...@@ -304,7 +228,6 @@ struct clk clk_f = { ...@@ -304,7 +228,6 @@ struct clk clk_f = {
struct clk clk_h = { struct clk clk_h = {
.name = "hclk", .name = "hclk",
.id = -1,
.rate = 0, .rate = 0,
.parent = NULL, .parent = NULL,
.ctrlbit = 0, .ctrlbit = 0,
...@@ -313,7 +236,6 @@ struct clk clk_h = { ...@@ -313,7 +236,6 @@ struct clk clk_h = {
struct clk clk_p = { struct clk clk_p = {
.name = "pclk", .name = "pclk",
.id = -1,
.rate = 0, .rate = 0,
.parent = NULL, .parent = NULL,
.ctrlbit = 0, .ctrlbit = 0,
...@@ -322,7 +244,6 @@ struct clk clk_p = { ...@@ -322,7 +244,6 @@ struct clk clk_p = {
struct clk clk_usb_bus = { struct clk clk_usb_bus = {
.name = "usb-bus", .name = "usb-bus",
.id = -1,
.rate = 0, .rate = 0,
.parent = &clk_upll, .parent = &clk_upll,
}; };
...@@ -330,7 +251,6 @@ struct clk clk_usb_bus = { ...@@ -330,7 +251,6 @@ struct clk clk_usb_bus = {
struct clk s3c24xx_uclk = { struct clk s3c24xx_uclk = {
.name = "uclk", .name = "uclk",
.id = -1,
}; };
/* initialise the clock system */ /* initialise the clock system */
...@@ -346,14 +266,11 @@ int s3c24xx_register_clock(struct clk *clk) ...@@ -346,14 +266,11 @@ int s3c24xx_register_clock(struct clk *clk)
if (clk->enable == NULL) if (clk->enable == NULL)
clk->enable = clk_null_enable; clk->enable = clk_null_enable;
/* add to the list of available clocks */ /* fill up the clk_lookup structure and register it*/
clk->lookup.dev_id = clk->devname;
/* Quick check to see if this clock has already been registered. */ clk->lookup.con_id = clk->name;
BUG_ON(clk->list.prev != clk->list.next); clk->lookup.clk = clk;
clkdev_add(&clk->lookup);
spin_lock(&clocks_lock);
list_add(&clk->list, &clocks);
spin_unlock(&clocks_lock);
return 0; return 0;
} }
...@@ -463,10 +380,7 @@ static int clk_debugfs_register_one(struct clk *c) ...@@ -463,10 +380,7 @@ static int clk_debugfs_register_one(struct clk *c)
char s[255]; char s[255];
char *p = s; char *p = s;
p += sprintf(p, "%s", c->name); p += sprintf(p, "%s", c->devname);
if (c->id >= 0)
sprintf(p, ":%d", c->id);
d = debugfs_create_dir(s, pa ? pa->dent : clk_debugfs_root); d = debugfs_create_dir(s, pa ? pa->dent : clk_debugfs_root);
if (!d) if (!d)
......
...@@ -10,6 +10,7 @@ ...@@ -10,6 +10,7 @@
*/ */
#include <linux/spinlock.h> #include <linux/spinlock.h>
#include <linux/clkdev.h>
struct clk; struct clk;
...@@ -40,6 +41,7 @@ struct clk { ...@@ -40,6 +41,7 @@ struct clk {
struct module *owner; struct module *owner;
struct clk *parent; struct clk *parent;
const char *name; const char *name;
const char *devname;
int id; int id;
int usage; int usage;
unsigned long rate; unsigned long rate;
...@@ -47,6 +49,7 @@ struct clk { ...@@ -47,6 +49,7 @@ struct clk {
struct clk_ops *ops; struct clk_ops *ops;
int (*enable)(struct clk *, int enable); int (*enable)(struct clk *, int enable);
struct clk_lookup lookup;
#if defined(CONFIG_PM_DEBUG) && defined(CONFIG_DEBUG_FS) #if defined(CONFIG_PM_DEBUG) && defined(CONFIG_DEBUG_FS)
struct dentry *dent; /* For visible tree hierarchy */ struct dentry *dent; /* For visible tree hierarchy */
#endif #endif
......
...@@ -268,6 +268,7 @@ static struct pwm_tdiv_clk clk_timer_tdiv[] = { ...@@ -268,6 +268,7 @@ static struct pwm_tdiv_clk clk_timer_tdiv[] = {
[0] = { [0] = {
.clk = { .clk = {
.name = "pwm-tdiv", .name = "pwm-tdiv",
.devname = "s3c24xx-pwm.0",
.ops = &clk_tdiv_ops, .ops = &clk_tdiv_ops,
.parent = &clk_timer_scaler[0], .parent = &clk_timer_scaler[0],
}, },
...@@ -275,6 +276,7 @@ static struct pwm_tdiv_clk clk_timer_tdiv[] = { ...@@ -275,6 +276,7 @@ static struct pwm_tdiv_clk clk_timer_tdiv[] = {
[1] = { [1] = {
.clk = { .clk = {
.name = "pwm-tdiv", .name = "pwm-tdiv",
.devname = "s3c24xx-pwm.1",
.ops = &clk_tdiv_ops, .ops = &clk_tdiv_ops,
.parent = &clk_timer_scaler[0], .parent = &clk_timer_scaler[0],
} }
...@@ -282,6 +284,7 @@ static struct pwm_tdiv_clk clk_timer_tdiv[] = { ...@@ -282,6 +284,7 @@ static struct pwm_tdiv_clk clk_timer_tdiv[] = {
[2] = { [2] = {
.clk = { .clk = {
.name = "pwm-tdiv", .name = "pwm-tdiv",
.devname = "s3c24xx-pwm.2",
.ops = &clk_tdiv_ops, .ops = &clk_tdiv_ops,
.parent = &clk_timer_scaler[1], .parent = &clk_timer_scaler[1],
}, },
...@@ -289,6 +292,7 @@ static struct pwm_tdiv_clk clk_timer_tdiv[] = { ...@@ -289,6 +292,7 @@ static struct pwm_tdiv_clk clk_timer_tdiv[] = {
[3] = { [3] = {
.clk = { .clk = {
.name = "pwm-tdiv", .name = "pwm-tdiv",
.devname = "s3c24xx-pwm.3",
.ops = &clk_tdiv_ops, .ops = &clk_tdiv_ops,
.parent = &clk_timer_scaler[1], .parent = &clk_timer_scaler[1],
}, },
...@@ -296,6 +300,7 @@ static struct pwm_tdiv_clk clk_timer_tdiv[] = { ...@@ -296,6 +300,7 @@ static struct pwm_tdiv_clk clk_timer_tdiv[] = {
[4] = { [4] = {
.clk = { .clk = {
.name = "pwm-tdiv", .name = "pwm-tdiv",
.devname = "s3c24xx-pwm.4",
.ops = &clk_tdiv_ops, .ops = &clk_tdiv_ops,
.parent = &clk_timer_scaler[1], .parent = &clk_timer_scaler[1],
}, },
...@@ -361,26 +366,31 @@ static struct clk_ops clk_tin_ops = { ...@@ -361,26 +366,31 @@ static struct clk_ops clk_tin_ops = {
static struct clk clk_tin[] = { static struct clk clk_tin[] = {
[0] = { [0] = {
.name = "pwm-tin", .name = "pwm-tin",
.devname = "s3c24xx-pwm.0",
.id = 0, .id = 0,
.ops = &clk_tin_ops, .ops = &clk_tin_ops,
}, },
[1] = { [1] = {
.name = "pwm-tin", .name = "pwm-tin",
.devname = "s3c24xx-pwm.1",
.id = 1, .id = 1,
.ops = &clk_tin_ops, .ops = &clk_tin_ops,
}, },
[2] = { [2] = {
.name = "pwm-tin", .name = "pwm-tin",
.devname = "s3c24xx-pwm.2",
.id = 2, .id = 2,
.ops = &clk_tin_ops, .ops = &clk_tin_ops,
}, },
[3] = { [3] = {
.name = "pwm-tin", .name = "pwm-tin",
.devname = "s3c24xx-pwm.3",
.id = 3, .id = 3,
.ops = &clk_tin_ops, .ops = &clk_tin_ops,
}, },
[4] = { [4] = {
.name = "pwm-tin", .name = "pwm-tin",
.devname = "s3c24xx-pwm.4",
.id = 4, .id = 4,
.ops = &clk_tin_ops, .ops = &clk_tin_ops,
}, },
......
...@@ -259,6 +259,8 @@ static void __init s3c2410_timer_resources(void) ...@@ -259,6 +259,8 @@ static void __init s3c2410_timer_resources(void)
clk_enable(timerclk); clk_enable(timerclk);
if (!use_tclk1_12()) { if (!use_tclk1_12()) {
tmpdev.id = 4;
tmpdev.dev.init_name = "s3c24xx-pwm.4";
tin = clk_get(&tmpdev.dev, "pwm-tin"); tin = clk_get(&tmpdev.dev, "pwm-tin");
if (IS_ERR(tin)) if (IS_ERR(tin))
panic("failed to get pwm-tin clock for system timer"); panic("failed to get pwm-tin clock for system timer");
......
...@@ -96,8 +96,6 @@ static struct platform_driver s3c2410_serial_driver = { ...@@ -96,8 +96,6 @@ static struct platform_driver s3c2410_serial_driver = {
}, },
}; };
s3c24xx_console_init(&s3c2410_serial_driver, &s3c2410_uart_inf);
static int __init s3c2410_serial_init(void) static int __init s3c2410_serial_init(void)
{ {
return s3c24xx_serial_init(&s3c2410_serial_driver, &s3c2410_uart_inf); return s3c24xx_serial_init(&s3c2410_serial_driver, &s3c2410_uart_inf);
......
...@@ -130,8 +130,6 @@ static struct platform_driver s3c2412_serial_driver = { ...@@ -130,8 +130,6 @@ static struct platform_driver s3c2412_serial_driver = {
}, },
}; };
s3c24xx_console_init(&s3c2412_serial_driver, &s3c2412_uart_inf);
static inline int s3c2412_serial_init(void) static inline int s3c2412_serial_init(void)
{ {
return s3c24xx_serial_init(&s3c2412_serial_driver, &s3c2412_uart_inf); return s3c24xx_serial_init(&s3c2412_serial_driver, &s3c2412_uart_inf);
......
...@@ -159,8 +159,6 @@ static struct platform_driver s3c2440_serial_driver = { ...@@ -159,8 +159,6 @@ static struct platform_driver s3c2440_serial_driver = {
}, },
}; };
s3c24xx_console_init(&s3c2440_serial_driver, &s3c2440_uart_inf);
static int __init s3c2440_serial_init(void) static int __init s3c2440_serial_init(void)
{ {
return s3c24xx_serial_init(&s3c2440_serial_driver, &s3c2440_uart_inf); return s3c24xx_serial_init(&s3c2440_serial_driver, &s3c2440_uart_inf);
......
...@@ -130,8 +130,6 @@ static struct platform_driver s3c6400_serial_driver = { ...@@ -130,8 +130,6 @@ static struct platform_driver s3c6400_serial_driver = {
}, },
}; };
s3c24xx_console_init(&s3c6400_serial_driver, &s3c6400_uart_inf);
static int __init s3c6400_serial_init(void) static int __init s3c6400_serial_init(void)
{ {
return s3c24xx_serial_init(&s3c6400_serial_driver, &s3c6400_uart_inf); return s3c24xx_serial_init(&s3c6400_serial_driver, &s3c6400_uart_inf);
......
...@@ -135,13 +135,6 @@ static struct platform_driver s5p_serial_driver = { ...@@ -135,13 +135,6 @@ static struct platform_driver s5p_serial_driver = {
}, },
}; };
static int __init s5pv210_serial_console_init(void)
{
return s3c24xx_serial_initconsole(&s5p_serial_driver, s5p_uart_inf);
}
console_initcall(s5pv210_serial_console_init);
static int __init s5p_serial_init(void) static int __init s5p_serial_init(void)
{ {
return s3c24xx_serial_init(&s5p_serial_driver, *s5p_uart_inf); return s3c24xx_serial_init(&s5p_serial_driver, *s5p_uart_inf);
......
...@@ -1416,10 +1416,8 @@ s3c24xx_serial_console_setup(struct console *co, char *options) ...@@ -1416,10 +1416,8 @@ s3c24xx_serial_console_setup(struct console *co, char *options)
/* is the port configured? */ /* is the port configured? */
if (port->mapbase == 0x0) { if (port->mapbase == 0x0)
co->index = 0; return -ENODEV;
port = &s3c24xx_serial_ports[co->index].port;
}
cons_uart = port; cons_uart = port;
...@@ -1451,7 +1449,8 @@ static struct console s3c24xx_serial_console = { ...@@ -1451,7 +1449,8 @@ static struct console s3c24xx_serial_console = {
.flags = CON_PRINTBUFFER, .flags = CON_PRINTBUFFER,
.index = -1, .index = -1,
.write = s3c24xx_serial_console_write, .write = s3c24xx_serial_console_write,
.setup = s3c24xx_serial_console_setup .setup = s3c24xx_serial_console_setup,
.data = &s3c24xx_uart_drv,
}; };
int s3c24xx_serial_initconsole(struct platform_driver *drv, int s3c24xx_serial_initconsole(struct platform_driver *drv,
......
...@@ -79,25 +79,6 @@ extern int s3c24xx_serial_initconsole(struct platform_driver *drv, ...@@ -79,25 +79,6 @@ extern int s3c24xx_serial_initconsole(struct platform_driver *drv,
extern int s3c24xx_serial_init(struct platform_driver *drv, extern int s3c24xx_serial_init(struct platform_driver *drv,
struct s3c24xx_uart_info *info); struct s3c24xx_uart_info *info);
#ifdef CONFIG_SERIAL_SAMSUNG_CONSOLE
#define s3c24xx_console_init(__drv, __inf) \
static int __init s3c_serial_console_init(void) \
{ \
struct s3c24xx_uart_info *uinfo[CONFIG_SERIAL_SAMSUNG_UARTS]; \
int i; \
\
for (i = 0; i < CONFIG_SERIAL_SAMSUNG_UARTS; i++) \
uinfo[i] = __inf; \
return s3c24xx_serial_initconsole(__drv, uinfo); \
} \
\
console_initcall(s3c_serial_console_init)
#else
#define s3c24xx_console_init(drv, inf) extern void no_console(void)
#endif
#ifdef CONFIG_SERIAL_SAMSUNG_DEBUG #ifdef CONFIG_SERIAL_SAMSUNG_DEBUG
extern void printascii(const char *); extern void printascii(const char *);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment