Move s3c2410 specific code from s3c24xx_init_io to s3c2410.c
and make the s3c2410.h header obsolete.
This also removes unnecessary references to s3c2410.h that were
still present in s3c2440 and s3c2443.
Signed-off-by: Heiko Stuebner <heiko@...>
arch/arm/mach-s3c2410/common.h | 17 -----
arch/arm/mach-s3c2410/mach-amlm5900.c | 4 +-
arch/arm/mach-s3c2410/mach-bast.c | 4 +-
arch/arm/mach-s3c2410/mach-h1940.c | 4 +-
arch/arm/mach-s3c2410/mach-n30.c | 5 +-
arch/arm/mach-s3c2410/mach-otom.c | 5 +-
arch/arm/mach-s3c2410/mach-qt2410.c | 4 +-
arch/arm/mach-s3c2410/mach-smdk2410.c | 4 +-
arch/arm/mach-s3c2410/mach-tct_hammer.c | 4 +-
arch/arm/mach-s3c2410/mach-vr1000.c | 4 +-
arch/arm/mach-s3c2410/s3c2410.c | 50 +++++++++++++-
arch/arm/mach-s3c2410/s3c2410.h | 28 +++++++
arch/arm/mach-s3c2440/mach-nexcoder.c | 1 -
arch/arm/mach-s3c2440/mach-smdk2440.c | 1 -
arch/arm/mach-s3c2440/s3c244x.c | 1 -
arch/arm/mach-s3c2443/mach-smdk2443.c | 1 -
arch/arm/plat-s3c24xx/Makefile | 1 -
arch/arm/plat-s3c24xx/cpu.c | 101 --------------------------
arch/arm/plat-s3c24xx/s3c2410-clock.c | 1 -
arch/arm/plat-samsung/include/plat/cpu.h | 2 -
arch/arm/plat-samsung/include/plat/s3c2410.h | 31 --------
21 files changed, 95 insertions(+), 178 deletions(-)
delete mode 100644 arch/arm/mach-s3c2410/common.h
create mode 100644 arch/arm/mach-s3c2410/s3c2410.h
delete mode 100644 arch/arm/plat-s3c24xx/cpu.c
delete mode 100644 arch/arm/plat-samsung/include/plat/s3c2410.h
@@ -1,17 +0,0 @@
-/*
- * Copyright (c) 2011 Samsung Electronics Co., Ltd.
- * http://www.samsung.com
- *
- * Common Header for S3C2410 machines
- *
- * 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.
- */
-
-#ifndef __ARCH_ARM_MACH_S3C2410_COMMON_H
-#define __ARCH_ARM_MACH_S3C2410_COMMON_H
-
-void s3c2410_restart(char mode, const char *cmd);
-
-#endif /* __ARCH_ARM_MACH_S3C2410_COMMON_H */
@@ -63,7 +63,7 @@
#include <linux/mtd/map.h>
#include <linux/mtd/physmap.h>
-#include "common.h"
+#include "s3c2410.h"
static struct resource amlm5900_nor_resource = {
.start = 0x00000000,
@@ -162,7 +162,7 @@ static struct platform_device *amlm5900_devices[] __initdata = {
static void __init amlm5900_map_io(void)
{
- s3c24xx_init_io(amlm5900_iodesc, ARRAY_SIZE(amlm5900_iodesc));
+ s3c2410_init_io(amlm5900_iodesc, ARRAY_SIZE(amlm5900_iodesc));
s3c24xx_init_clocks(0);
s3c24xx_init_uarts(amlm5900_uartcfgs, ARRAY_SIZE(amlm5900_uartcfgs));
}
@@ -66,7 +66,7 @@
#include "usb-simtec.h"
#include "nor-simtec.h"
-#include "common.h"
+#include "s3c2410.h"
#define COPYRIGHT ", Copyright 2004-2008 Simtec Electronics"
@@ -608,7 +608,7 @@ static void __init bast_map_io(void)
s3c_hwmon_set_platdata(&bast_hwmon_info);
- s3c24xx_init_io(bast_iodesc, ARRAY_SIZE(bast_iodesc));
+ s3c2410_init_io(bast_iodesc, ARRAY_SIZE(bast_iodesc));
s3c24xx_init_clocks(0);
s3c24xx_init_uarts(bast_uartcfgs, ARRAY_SIZE(bast_uartcfgs));
}
@@ -70,7 +70,7 @@
#include <sound/uda1380.h>
-#include "common.h"
+#include "s3c2410.h"
#define H1940_LATCH ((void __force __iomem *)0xF8000000)
@@ -654,7 +654,7 @@ static struct platform_device *h1940_devices[] __initdata = {
static void __init h1940_map_io(void)
{
- s3c24xx_init_io(h1940_iodesc, ARRAY_SIZE(h1940_iodesc));
+ s3c2410_init_io(h1940_iodesc, ARRAY_SIZE(h1940_iodesc));
s3c24xx_init_clocks(0);
s3c24xx_init_uarts(h1940_uartcfgs, ARRAY_SIZE(h1940_uartcfgs));
@@ -48,10 +48,9 @@
#include <plat/cpu.h>
#include <plat/devs.h>
#include <plat/mci.h>
-#include <plat/s3c2410.h>
#include <plat/udc.h>
-#include "common.h"
+#include "s3c2410.h"
static struct map_desc n30_iodesc[] __initdata = {
/* nothing here yet */
@@ -532,7 +531,7 @@ static void __init n30_hwinit(void)
static void __init n30_map_io(void)
{
- s3c24xx_init_io(n30_iodesc, ARRAY_SIZE(n30_iodesc));
+ s3c2410_init_io(n30_iodesc, ARRAY_SIZE(n30_iodesc));
n30_hwinit();
s3c24xx_init_clocks(0);
s3c24xx_init_uarts(n30_uartcfgs, ARRAY_SIZE(n30_uartcfgs));
@@ -32,13 +32,12 @@
#include <plat/regs-serial.h>
#include <mach/regs-gpio.h>
-#include <plat/s3c2410.h>
#include <plat/clock.h>
#include <plat/devs.h>
#include <plat/iic.h>
#include <plat/cpu.h>
-#include "common.h"
+#include "s3c2410.h"
static struct map_desc otom11_iodesc[] __initdata = {
/* Device area */
@@ -105,7 +104,7 @@ static struct platform_device *otom11_devices[] __initdata = {
static void __init otom11_map_io(void)
{
- s3c24xx_init_io(otom11_iodesc, ARRAY_SIZE(otom11_iodesc));
+ s3c2410_init_io(otom11_iodesc, ARRAY_SIZE(otom11_iodesc));
s3c24xx_init_clocks(0);
s3c24xx_init_uarts(otom11_uartcfgs, ARRAY_SIZE(otom11_uartcfgs));
}
@@ -62,7 +62,7 @@
#include <plat/cpu.h>
#include <plat/pm.h>
-#include "common.h"
+#include "s3c2410.h"
static struct map_desc qt2410_iodesc[] __initdata = {
{ 0xe0000000, __phys_to_pfn(S3C2410_CS3+0x01000000), SZ_1M, MT_DEVICE }
@@ -310,7 +310,7 @@ __setup("tft=", qt2410_tft_setup);
static void __init qt2410_map_io(void)
{
- s3c24xx_init_io(qt2410_iodesc, ARRAY_SIZE(qt2410_iodesc));
+ s3c2410_init_io(qt2410_iodesc, ARRAY_SIZE(qt2410_iodesc));
s3c24xx_init_clocks(12*1000*1000);
s3c24xx_init_uarts(smdk2410_uartcfgs, ARRAY_SIZE(smdk2410_uartcfgs));
}
@@ -54,7 +54,7 @@
#include <plat/common-smdk.h>
-#include "common.h"
+#include "s3c2410.h"
static struct map_desc smdk2410_iodesc[] __initdata = {
/* nothing here yet */
@@ -98,7 +98,7 @@ static struct platform_device *smdk2410_devices[] __initdata = {
static void __init smdk2410_map_io(void)
{
- s3c24xx_init_io(smdk2410_iodesc, ARRAY_SIZE(smdk2410_iodesc));
+ s3c2410_init_io(smdk2410_iodesc, ARRAY_SIZE(smdk2410_iodesc));
s3c24xx_init_clocks(0);
s3c24xx_init_uarts(smdk2410_uartcfgs, ARRAY_SIZE(smdk2410_uartcfgs));
}
@@ -54,7 +54,7 @@
#include <linux/mtd/map.h>
#include <linux/mtd/physmap.h>
-#include "common.h"
+#include "s3c2410.h"
static struct resource tct_hammer_nor_resource = {
.start = 0x00000000,
@@ -136,7 +136,7 @@ static struct platform_device *tct_hammer_devices[] __initdata = {
static void __init tct_hammer_map_io(void)
{
- s3c24xx_init_io(tct_hammer_iodesc, ARRAY_SIZE(tct_hammer_iodesc));
+ s3c2410_init_io(tct_hammer_iodesc, ARRAY_SIZE(tct_hammer_iodesc));
s3c24xx_init_clocks(0);
s3c24xx_init_uarts(tct_hammer_uartcfgs, ARRAY_SIZE(tct_hammer_uartcfgs));
}
@@ -53,7 +53,7 @@
#include "usb-simtec.h"
#include "nor-simtec.h"
-#include "common.h"
+#include "s3c2410.h"
/* macros for virtual address mods for the io space entries */
#define VA_C5(item) ((unsigned long)(item) + BAST_VAM_CS5)
@@ -356,7 +356,7 @@ static void __init vr1000_map_io(void)
pm_power_off = vr1000_power_off;
- s3c24xx_init_io(vr1000_iodesc, ARRAY_SIZE(vr1000_iodesc));
+ s3c2410_init_io(vr1000_iodesc, ARRAY_SIZE(vr1000_iodesc));
s3c24xx_init_clocks(0);
s3c24xx_init_uarts(vr1000_uartcfgs, ARRAY_SIZE(vr1000_uartcfgs));
}
@@ -36,7 +36,6 @@
#include <mach/regs-clock.h>
#include <plat/regs-serial.h>
-#include <plat/s3c2410.h>
#include <plat/cpu.h>
#include <plat/devs.h>
#include <plat/clock.h>
@@ -48,6 +47,55 @@
#include <plat/gpio-cfg.h>
#include <plat/gpio-cfg-helpers.h>
+#include "s3c2410.h"
+
+/* table of supported CPUs */
+
+static const char name_s3c2410[] = "S3C2410";
+static const char name_s3c2410a[] = "S3C2410A";
+
+static struct cpu_table cpu_ids[] __initdata = {
+ {
+ .idcode = 0x32410000,
+ .idmask = 0xffffffff,
+ .map_io = s3c2410_map_io,
+ .init_clocks = s3c2410_init_clocks,
+ .init_uarts = s3c2410_init_uarts,
+ .init = s3c2410_init,
+ .name = name_s3c2410
+ },
+ {
+ .idcode = 0x32410002,
+ .idmask = 0xffffffff,
+ .map_io = s3c2410_map_io,
+ .init_clocks = s3c2410_init_clocks,
+ .init_uarts = s3c2410_init_uarts,
+ .init = s3c2410a_init,
+ .name = name_s3c2410a
+ },
+};
+
+/* minimal IO mapping */
+
+static struct map_desc s3c_iodesc[] __initdata = {
+ IODESC_ENT(GPIO),
+ IODESC_ENT(IRQ),
+ IODESC_ENT(MEMCTRL),
+ IODESC_ENT(UART)
+};
+
+void __init s3c2410_init_io(struct map_desc *mach_desc, int size)
+{
+ /* initialise the io descriptors we need for initialisation */
+ iotable_init(mach_desc, size);
+ iotable_init(s3c_iodesc, ARRAY_SIZE(s3c_iodesc));
+
+ samsung_cpu_id = __raw_readl(S3C2410_GSTATUS1);
+ s3c24xx_init_cpu();
+
+ s3c_init_cpu(samsung_cpu_id, cpu_ids, ARRAY_SIZE(cpu_ids));
+}
+
/* Initial IO mappings */
static struct map_desc s3c2410_iodesc[] __initdata = {
@@ -0,0 +1,28 @@
+/*
+ * Copyright (c) 2011 Samsung Electronics Co., Ltd.
+ * http://www.samsung.com
+ *
+ * Common Header for S3C2410 machines
+ *
+ * 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.
+ */
+
+#ifndef __ARCH_ARM_MACH_S3C2410_S3C2410_H
+#define __ARCH_ARM_MACH_S3C2410_S3C2410_H
+
+extern int s3c2410_init(void);
+extern int s3c2410a_init(void);
+
+extern void s3c2410_map_io(void);
+
+extern void s3c2410_init_uarts(struct s3c2410_uartcfg *cfg, int no);
+
+extern void s3c2410_init_clocks(int xtal);
+
+void s3c2410_restart(char mode, const char *cmd);
+
+extern void s3c2410_init_io(struct map_desc *mach_desc, int size);
+
+#endif /* __ARCH_ARM_MACH_S3C2410_COMMON_H */
@@ -41,7 +41,6 @@
#include <plat/iic.h>
#include <plat/gpio-cfg.h>
-#include <plat/s3c2410.h>
#include <plat/clock.h>
#include <plat/devs.h>
#include <plat/cpu.h>
@@ -39,7 +39,6 @@
#include <mach/fb.h>
#include <plat/iic.h>
-#include <plat/s3c2410.h>
#include <plat/clock.h>
#include <plat/devs.h>
#include <plat/cpu.h>
@@ -38,7 +38,6 @@
#include <mach/regs-gpioj.h>
#include <mach/regs-dsc.h>
-#include <plat/s3c2410.h>
#include <plat/clock.h>
#include <plat/devs.h>
#include <plat/cpu.h>
@@ -39,7 +39,6 @@
#include <mach/fb.h>
#include <plat/iic.h>
-#include <plat/s3c2410.h>
#include <plat/clock.h>
#include <plat/devs.h>
#include <plat/cpu.h>
@@ -12,7 +12,6 @@ obj- :=
# Core files
-obj-y += cpu.o
obj-y += irq.o
obj-y += dev-uart.o
obj-y += clock.o
@@ -1,101 +0,0 @@
-/* linux/arch/arm/plat-s3c24xx/cpu.c
- *
- * Copyright (c) 2004-2005 Simtec Electronics
- * http://www.simtec.co.uk/products/SWLINUX/
- * Ben Dooks <ben@simtec.co.uk>
- *
- * S3C24XX CPU Support
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
-*/
-
-
-#include <linux/init.h>
-#include <linux/module.h>
-#include <linux/interrupt.h>
-#include <linux/ioport.h>
-#include <linux/serial_core.h>
-#include <linux/platform_device.h>
-#include <linux/delay.h>
-#include <linux/io.h>
-
-#include <mach/hardware.h>
-#include <asm/irq.h>
-#include <asm/cacheflush.h>
-
-#include <asm/mach/arch.h>
-#include <asm/mach/map.h>
-
-#include <mach/regs-gpio.h>
-#include <plat/regs-serial.h>
-
-#include <plat/cpu.h>
-#include <plat/devs.h>
-#include <plat/clock.h>
-#include <plat/s3c2410.h>
-
-/* table of supported CPUs */
-
-static const char name_s3c2410[] = "S3C2410";
-static const char name_s3c2410a[] = "S3C2410A";
-
-static struct cpu_table cpu_ids[] __initdata = {
- {
- .idcode = 0x32410000,
- .idmask = 0xffffffff,
- .map_io = s3c2410_map_io,
- .init_clocks = s3c2410_init_clocks,
- .init_uarts = s3c2410_init_uarts,
- .init = s3c2410_init,
- .name = name_s3c2410
- },
- {
- .idcode = 0x32410002,
- .idmask = 0xffffffff,
- .map_io = s3c2410_map_io,
- .init_clocks = s3c2410_init_clocks,
- .init_uarts = s3c2410_init_uarts,
- .init = s3c2410a_init,
- .name = name_s3c2410a
- },
-};
-
-/* minimal IO mapping */
-
-static struct map_desc s3c_iodesc[] __initdata = {
- IODESC_ENT(GPIO),
- IODESC_ENT(IRQ),
- IODESC_ENT(MEMCTRL),
- IODESC_ENT(UART)
-};
-
-/* read cpu identificaiton code */
-
-static unsigned long s3c24xx_read_idcode_v4(void)
-{
- return __raw_readl(S3C2410_GSTATUS1);
-}
-
-void __init s3c24xx_init_io(struct map_desc *mach_desc, int size)
-{
- /* initialise the io descriptors we need for initialisation */
- iotable_init(mach_desc, size);
- iotable_init(s3c_iodesc, ARRAY_SIZE(s3c_iodesc));
-
- samsung_cpu_id = s3c24xx_read_idcode_v4();
- s3c24xx_init_cpu();
-
- s3c_init_cpu(samsung_cpu_id, cpu_ids, ARRAY_SIZE(cpu_ids));
-}
@@ -41,7 +41,6 @@
#include <mach/regs-clock.h>
#include <mach/regs-gpio.h>
-#include <plat/s3c2410.h>
#include <plat/clock.h>
#include <plat/cpu.h>
@@ -154,8 +154,6 @@ extern void s3c_init_cpu(unsigned long idcode,
extern void s3c24xx_init_irq(void);
extern void s5p_init_irq(u32 *vic, u32 num_vic);
-extern void s3c24xx_init_io(struct map_desc *mach_desc, int size);
-
extern void s3c24xx_init_cpu(void);
extern void s3c64xx_init_cpu(void);
extern void s5p_init_cpu(void __iomem *cpuid_addr);
@@ -1,31 +0,0 @@
-/* linux/arch/arm/plat-samsung/include/plat/s3c2410.h
- *
- * Copyright (c) 2004 Simtec Electronics
- * Ben Dooks <ben@simtec.co.uk>
- *
- * Header file for s3c2410 machine directory
- *
- * 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.
- *
-*/
-
-#ifdef CONFIG_CPU_S3C2410
-
-extern int s3c2410_init(void);
-extern int s3c2410a_init(void);
-
-extern void s3c2410_map_io(void);
-
-extern void s3c2410_init_uarts(struct s3c2410_uartcfg *cfg, int no);
-
-extern void s3c2410_init_clocks(int xtal);
-
-#else
-#define s3c2410_init_clocks NULL
-#define s3c2410_init_uarts NULL
-#define s3c2410_map_io NULL
-#define s3c2410_init NULL
-#define s3c2410a_init NULL
-#endif