Commit 1cb3fd09 authored by Olof Johansson's avatar Olof Johansson

Merge tag 'renesas-cleanup-for-v3.12' of...

Merge tag 'renesas-cleanup-for-v3.12' of git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas into next/cleanup

From Simon Horman:
renesas-cleanup-for-v3.12 Renesas ARM based SoC cleanups for v3.12

* remove mach/dma.h, it is not used
* r8a7778 SoC: Removed unused r8a7778_init_irq
* emev2 SoC: Use less verbose resource declarations
* emev2 SoC: Correct typo in comment
* r8a7790 SoC: Remove redundant init_machine callback
* emev2, r8a7740, r8a7778, r8a7779, sh7372 and sh73a0 SoCs: Remove auxdata
* emev2, r8a73a4, ape6evm, r8a7790 and sh73a0 SoCs, and
  lager and kzm9g boards: remove init_irq declaration in machine description
* sh73a0 SoC: pinmux platform device cleanup
* r8a7778 SoC: add __initdata on resource and device data
* armadillo800eva board: Remove unused commend and define

* tag 'renesas-cleanup-for-v3.12' of git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas: (22 commits)
  ARM: shmobile: Remove unused mach/dma.h
  ARM: shmobile: r8a7778: remove r8a7778_init_irq()
  ARM: shmobile: Fix EMEV2 clock comment typo
  ARM: shmobile: Make EMEV2 platform devices more compact
  ARM: shmobile: Remove unused EMEV2/KZM9D early console
  ARM: shmobile: Remove redundant r8a7790 callback
  ARM: shmobile: Remove unused sh73a0 auxdata table
  ARM: shmobile: Remove unused sh7372 auxdata table
  ARM: shmobile: Remove unused r8a7779 auxdata table
  ARM: shmobile: Remove unused r8a7778 auxdata and callback
  ARM: shmobile: Remove unused r8a7740 auxdata table
  ARM: shmobile: Remove unused EMEV2 auxdata and callback
  ARM: shmobile: kzm9g: Remove init_irq declaration in machine description
  ARM: shmobile: sh73a0: Remove init_irq declaration in machine description
  ARM: shmobile: lager: Remove init_irq declaration in machine description
  ARM: shmobile: r8a7790: Remove init_irq declaration in machine description
  ARM: shmobile: ape6evm: Remove init_irq declaration in machine description
  ARM: shmobile: r8a73a4: Remove init_irq declaration in machine description
  ARM: shmobile: emev2: Remove init_irq declaration in machine description
  ARM: shmobile: sh73a0 pinmux platform device cleanup
  ...
Signed-off-by: default avatarOlof Johansson <olof@lixom.net>
parents 087bd3d4 ebd9616f
...@@ -20,7 +20,6 @@ ...@@ -20,7 +20,6 @@
#include <linux/gpio.h> #include <linux/gpio.h>
#include <linux/interrupt.h> #include <linux/interrupt.h>
#include <linux/irqchip.h>
#include <linux/kernel.h> #include <linux/kernel.h>
#include <linux/pinctrl/machine.h> #include <linux/pinctrl/machine.h>
#include <linux/platform_device.h> #include <linux/platform_device.h>
...@@ -102,7 +101,6 @@ static const char *ape6evm_boards_compat_dt[] __initdata = { ...@@ -102,7 +101,6 @@ static const char *ape6evm_boards_compat_dt[] __initdata = {
}; };
DT_MACHINE_START(APE6EVM_DT, "ape6evm") DT_MACHINE_START(APE6EVM_DT, "ape6evm")
.init_irq = irqchip_init,
.init_time = shmobile_timer_init, .init_time = shmobile_timer_init,
.init_machine = ape6evm_add_standard_devices, .init_machine = ape6evm_add_standard_devices,
.dt_compat = ape6evm_boards_compat_dt, .dt_compat = ape6evm_boards_compat_dt,
......
...@@ -679,15 +679,6 @@ static struct platform_device vcc_sdhi1 = { ...@@ -679,15 +679,6 @@ static struct platform_device vcc_sdhi1 = {
}; };
/* SDHI0 */ /* SDHI0 */
/*
* FIXME
*
* It use polling mode here, since
* CD (= Card Detect) pin is not connected to SDHI0_CD.
* We can use IRQ31 as card detect irq,
* but it needs chattering removal operation
*/
#define IRQ31 irq_pin(31)
static struct sh_mobile_sdhi_info sdhi0_info = { static struct sh_mobile_sdhi_info sdhi0_info = {
.dma_slave_tx = SHDMA_SLAVE_SDHI0_TX, .dma_slave_tx = SHDMA_SLAVE_SDHI0_TX,
.dma_slave_rx = SHDMA_SLAVE_SDHI0_RX, .dma_slave_rx = SHDMA_SLAVE_SDHI0_RX,
......
...@@ -85,7 +85,7 @@ static const char *kzm9d_boards_compat_dt[] __initdata = { ...@@ -85,7 +85,7 @@ static const char *kzm9d_boards_compat_dt[] __initdata = {
DT_MACHINE_START(KZM9D_DT, "kzm9d") DT_MACHINE_START(KZM9D_DT, "kzm9d")
.smp = smp_ops(emev2_smp_ops), .smp = smp_ops(emev2_smp_ops),
.map_io = emev2_map_io, .map_io = emev2_map_io,
.init_early = emev2_add_early_devices, .init_early = emev2_init_delay,
.nr_irqs = NR_IRQS_LEGACY, .nr_irqs = NR_IRQS_LEGACY,
.init_irq = emev2_init_irq, .init_irq = emev2_init_irq,
.init_machine = kzm9d_add_standard_devices, .init_machine = kzm9d_add_standard_devices,
......
...@@ -24,7 +24,6 @@ ...@@ -24,7 +24,6 @@
#include <linux/gpio.h> #include <linux/gpio.h>
#include <linux/io.h> #include <linux/io.h>
#include <linux/irq.h> #include <linux/irq.h>
#include <linux/irqchip.h>
#include <linux/input.h> #include <linux/input.h>
#include <linux/of_platform.h> #include <linux/of_platform.h>
#include <linux/pinctrl/machine.h> #include <linux/pinctrl/machine.h>
...@@ -99,7 +98,6 @@ DT_MACHINE_START(KZM9G_DT, "kzm9g-reference") ...@@ -99,7 +98,6 @@ DT_MACHINE_START(KZM9G_DT, "kzm9g-reference")
.map_io = sh73a0_map_io, .map_io = sh73a0_map_io,
.init_early = sh73a0_init_delay, .init_early = sh73a0_init_delay,
.nr_irqs = NR_IRQS_LEGACY, .nr_irqs = NR_IRQS_LEGACY,
.init_irq = irqchip_init,
.init_machine = kzm_init, .init_machine = kzm_init,
.init_time = shmobile_timer_init, .init_time = shmobile_timer_init,
.dt_compat = kzm9g_boards_compat_dt, .dt_compat = kzm9g_boards_compat_dt,
......
...@@ -22,7 +22,6 @@ ...@@ -22,7 +22,6 @@
#include <linux/gpio_keys.h> #include <linux/gpio_keys.h>
#include <linux/input.h> #include <linux/input.h>
#include <linux/interrupt.h> #include <linux/interrupt.h>
#include <linux/irqchip.h>
#include <linux/kernel.h> #include <linux/kernel.h>
#include <linux/leds.h> #include <linux/leds.h>
#include <linux/pinctrl/machine.h> #include <linux/pinctrl/machine.h>
...@@ -103,7 +102,6 @@ static const char *lager_boards_compat_dt[] __initdata = { ...@@ -103,7 +102,6 @@ static const char *lager_boards_compat_dt[] __initdata = {
}; };
DT_MACHINE_START(LAGER_DT, "lager") DT_MACHINE_START(LAGER_DT, "lager")
.init_irq = irqchip_init,
.init_time = r8a7790_timer_init, .init_time = r8a7790_timer_init,
.init_machine = lager_add_standard_devices, .init_machine = lager_add_standard_devices,
.dt_compat = lager_boards_compat_dt, .dt_compat = lager_boards_compat_dt,
......
...@@ -221,7 +221,7 @@ void __init emev2_clock_init(void) ...@@ -221,7 +221,7 @@ void __init emev2_clock_init(void)
smu_base = ioremap(EMEV2_SMU_BASE, PAGE_SIZE); smu_base = ioremap(EMEV2_SMU_BASE, PAGE_SIZE);
BUG_ON(!smu_base); BUG_ON(!smu_base);
/* setup STI timer to run on 37.768 kHz and deassert reset */ /* setup STI timer to run on 32.768 kHz and deassert reset */
emev2_smu_write(0, STI_CLKSEL); emev2_smu_write(0, STI_CLKSEL);
emev2_smu_write(1, STI_RSTCTRL); emev2_smu_write(1, STI_RSTCTRL);
......
...@@ -3,7 +3,7 @@ ...@@ -3,7 +3,7 @@
extern void emev2_map_io(void); extern void emev2_map_io(void);
extern void emev2_init_irq(void); extern void emev2_init_irq(void);
extern void emev2_add_early_devices(void); extern void emev2_init_delay(void);
extern void emev2_add_standard_devices(void); extern void emev2_add_standard_devices(void);
extern void emev2_clock_init(void); extern void emev2_clock_init(void);
extern void emev2_set_boot_vector(unsigned long value); extern void emev2_set_boot_vector(unsigned long value);
......
...@@ -33,7 +33,6 @@ extern void r8a7778_add_mmc_device(struct sh_mmcif_plat_data *info); ...@@ -33,7 +33,6 @@ extern void r8a7778_add_mmc_device(struct sh_mmcif_plat_data *info);
extern void r8a7778_init_late(void); extern void r8a7778_init_late(void);
extern void r8a7778_init_delay(void); extern void r8a7778_init_delay(void);
extern void r8a7778_init_irq(void);
extern void r8a7778_init_irq_dt(void); extern void r8a7778_init_irq_dt(void);
extern void r8a7778_clock_init(void); extern void r8a7778_clock_init(void);
extern void r8a7778_init_irq_extpin(int irlm); extern void r8a7778_init_irq_extpin(int irlm);
......
...@@ -20,7 +20,6 @@ ...@@ -20,7 +20,6 @@
#include <linux/init.h> #include <linux/init.h>
#include <linux/interrupt.h> #include <linux/interrupt.h>
#include <linux/irq.h> #include <linux/irq.h>
#include <linux/irqchip.h>
#include <linux/platform_device.h> #include <linux/platform_device.h>
#include <linux/platform_data/gpio-em.h> #include <linux/platform_data/gpio-em.h>
#include <linux/of_platform.h> #include <linux/of_platform.h>
...@@ -63,102 +62,40 @@ void __init emev2_map_io(void) ...@@ -63,102 +62,40 @@ void __init emev2_map_io(void)
/* UART */ /* UART */
static struct resource uart0_resources[] = { static struct resource uart0_resources[] = {
[0] = { DEFINE_RES_MEM(0xe1020000, 0x38),
.start = 0xe1020000, DEFINE_RES_IRQ(40),
.end = 0xe1020037,
.flags = IORESOURCE_MEM,
},
[1] = {
.start = 40,
.flags = IORESOURCE_IRQ,
}
};
static struct platform_device uart0_device = {
.name = "serial8250-em",
.id = 0,
.num_resources = ARRAY_SIZE(uart0_resources),
.resource = uart0_resources,
}; };
static struct resource uart1_resources[] = { static struct resource uart1_resources[] = {
[0] = { DEFINE_RES_MEM(0xe1030000, 0x38),
.start = 0xe1030000, DEFINE_RES_IRQ(41),
.end = 0xe1030037,
.flags = IORESOURCE_MEM,
},
[1] = {
.start = 41,
.flags = IORESOURCE_IRQ,
}
};
static struct platform_device uart1_device = {
.name = "serial8250-em",
.id = 1,
.num_resources = ARRAY_SIZE(uart1_resources),
.resource = uart1_resources,
}; };
static struct resource uart2_resources[] = { static struct resource uart2_resources[] = {
[0] = { DEFINE_RES_MEM(0xe1040000, 0x38),
.start = 0xe1040000, DEFINE_RES_IRQ(42),
.end = 0xe1040037,
.flags = IORESOURCE_MEM,
},
[1] = {
.start = 42,
.flags = IORESOURCE_IRQ,
}
};
static struct platform_device uart2_device = {
.name = "serial8250-em",
.id = 2,
.num_resources = ARRAY_SIZE(uart2_resources),
.resource = uart2_resources,
}; };
static struct resource uart3_resources[] = { static struct resource uart3_resources[] = {
[0] = { DEFINE_RES_MEM(0xe1050000, 0x38),
.start = 0xe1050000, DEFINE_RES_IRQ(43),
.end = 0xe1050037,
.flags = IORESOURCE_MEM,
},
[1] = {
.start = 43,
.flags = IORESOURCE_IRQ,
}
}; };
static struct platform_device uart3_device = { #define emev2_register_uart(idx) \
.name = "serial8250-em", platform_device_register_simple("serial8250-em", idx, \
.id = 3, uart##idx##_resources, \
.num_resources = ARRAY_SIZE(uart3_resources), ARRAY_SIZE(uart##idx##_resources))
.resource = uart3_resources,
};
/* STI */ /* STI */
static struct resource sti_resources[] = { static struct resource sti_resources[] = {
[0] = { DEFINE_RES_MEM(0xe0180000, 0x54),
.name = "STI", DEFINE_RES_IRQ(157),
.start = 0xe0180000,
.end = 0xe0180053,
.flags = IORESOURCE_MEM,
},
[1] = {
.start = 157,
.flags = IORESOURCE_IRQ,
},
};
static struct platform_device sti_device = {
.name = "em_sti",
.id = 0,
.resource = sti_resources,
.num_resources = ARRAY_SIZE(sti_resources),
}; };
#define emev2_register_sti() \
platform_device_register_simple("em_sti", 0, \
sti_resources, \
ARRAY_SIZE(sti_resources))
/* GIO */ /* GIO */
static struct gpio_em_config gio0_config = { static struct gpio_em_config gio0_config = {
...@@ -168,36 +105,10 @@ static struct gpio_em_config gio0_config = { ...@@ -168,36 +105,10 @@ static struct gpio_em_config gio0_config = {
}; };
static struct resource gio0_resources[] = { static struct resource gio0_resources[] = {
[0] = { DEFINE_RES_MEM(0xe0050000, 0x2c),
.name = "GIO_000", DEFINE_RES_MEM(0xe0050040, 0x20),
.start = 0xe0050000, DEFINE_RES_IRQ(99),
.end = 0xe005002b, DEFINE_RES_IRQ(100),
.flags = IORESOURCE_MEM,
},
[1] = {
.name = "GIO_000",
.start = 0xe0050040,
.end = 0xe005005f,
.flags = IORESOURCE_MEM,
},
[2] = {
.start = 99,
.flags = IORESOURCE_IRQ,
},
[3] = {
.start = 100,
.flags = IORESOURCE_IRQ,
},
};
static struct platform_device gio0_device = {
.name = "em_gio",
.id = 0,
.resource = gio0_resources,
.num_resources = ARRAY_SIZE(gio0_resources),
.dev = {
.platform_data = &gio0_config,
},
}; };
static struct gpio_em_config gio1_config = { static struct gpio_em_config gio1_config = {
...@@ -207,36 +118,10 @@ static struct gpio_em_config gio1_config = { ...@@ -207,36 +118,10 @@ static struct gpio_em_config gio1_config = {
}; };
static struct resource gio1_resources[] = { static struct resource gio1_resources[] = {
[0] = { DEFINE_RES_MEM(0xe0050080, 0x2c),
.name = "GIO_032", DEFINE_RES_MEM(0xe00500c0, 0x20),
.start = 0xe0050080, DEFINE_RES_IRQ(101),
.end = 0xe00500ab, DEFINE_RES_IRQ(102),
.flags = IORESOURCE_MEM,
},
[1] = {
.name = "GIO_032",
.start = 0xe00500c0,
.end = 0xe00500df,
.flags = IORESOURCE_MEM,
},
[2] = {
.start = 101,
.flags = IORESOURCE_IRQ,
},
[3] = {
.start = 102,
.flags = IORESOURCE_IRQ,
},
};
static struct platform_device gio1_device = {
.name = "em_gio",
.id = 1,
.resource = gio1_resources,
.num_resources = ARRAY_SIZE(gio1_resources),
.dev = {
.platform_data = &gio1_config,
},
}; };
static struct gpio_em_config gio2_config = { static struct gpio_em_config gio2_config = {
...@@ -246,36 +131,10 @@ static struct gpio_em_config gio2_config = { ...@@ -246,36 +131,10 @@ static struct gpio_em_config gio2_config = {
}; };
static struct resource gio2_resources[] = { static struct resource gio2_resources[] = {
[0] = { DEFINE_RES_MEM(0xe0050100, 0x2c),
.name = "GIO_064", DEFINE_RES_MEM(0xe0050140, 0x20),
.start = 0xe0050100, DEFINE_RES_IRQ(103),
.end = 0xe005012b, DEFINE_RES_IRQ(104),
.flags = IORESOURCE_MEM,
},
[1] = {
.name = "GIO_064",
.start = 0xe0050140,
.end = 0xe005015f,
.flags = IORESOURCE_MEM,
},
[2] = {
.start = 103,
.flags = IORESOURCE_IRQ,
},
[3] = {
.start = 104,
.flags = IORESOURCE_IRQ,
},
};
static struct platform_device gio2_device = {
.name = "em_gio",
.id = 2,
.resource = gio2_resources,
.num_resources = ARRAY_SIZE(gio2_resources),
.dev = {
.platform_data = &gio2_config,
},
}; };
static struct gpio_em_config gio3_config = { static struct gpio_em_config gio3_config = {
...@@ -285,36 +144,10 @@ static struct gpio_em_config gio3_config = { ...@@ -285,36 +144,10 @@ static struct gpio_em_config gio3_config = {
}; };
static struct resource gio3_resources[] = { static struct resource gio3_resources[] = {
[0] = { DEFINE_RES_MEM(0xe0050180, 0x2c),
.name = "GIO_096", DEFINE_RES_MEM(0xe00501c0, 0x20),
.start = 0xe0050180, DEFINE_RES_IRQ(105),
.end = 0xe00501ab, DEFINE_RES_IRQ(106),
.flags = IORESOURCE_MEM,
},
[1] = {
.name = "GIO_096",
.start = 0xe00501c0,
.end = 0xe00501df,
.flags = IORESOURCE_MEM,
},
[2] = {
.start = 105,
.flags = IORESOURCE_IRQ,
},
[3] = {
.start = 106,
.flags = IORESOURCE_IRQ,
},
};
static struct platform_device gio3_device = {
.name = "em_gio",
.id = 3,
.resource = gio3_resources,
.num_resources = ARRAY_SIZE(gio3_resources),
.dev = {
.platform_data = &gio3_config,
},
}; };
static struct gpio_em_config gio4_config = { static struct gpio_em_config gio4_config = {
...@@ -324,102 +157,51 @@ static struct gpio_em_config gio4_config = { ...@@ -324,102 +157,51 @@ static struct gpio_em_config gio4_config = {
}; };
static struct resource gio4_resources[] = { static struct resource gio4_resources[] = {
[0] = { DEFINE_RES_MEM(0xe0050200, 0x2c),
.name = "GIO_128", DEFINE_RES_MEM(0xe0050240, 0x20),
.start = 0xe0050200, DEFINE_RES_IRQ(107),
.end = 0xe005022b, DEFINE_RES_IRQ(108),
.flags = IORESOURCE_MEM,
},
[1] = {
.name = "GIO_128",
.start = 0xe0050240,
.end = 0xe005025f,
.flags = IORESOURCE_MEM,
},
[2] = {
.start = 107,
.flags = IORESOURCE_IRQ,
},
[3] = {
.start = 108,
.flags = IORESOURCE_IRQ,
},
}; };
static struct platform_device gio4_device = { #define emev2_register_gio(idx) \
.name = "em_gio", platform_device_register_resndata(&platform_bus, "em_gio", \
.id = 4, idx, gio##idx##_resources, \
.resource = gio4_resources, ARRAY_SIZE(gio##idx##_resources), \
.num_resources = ARRAY_SIZE(gio4_resources), &gio##idx##_config, \
.dev = { sizeof(struct gpio_em_config))
.platform_data = &gio4_config,
},
};
static struct resource pmu_resources[] = { static struct resource pmu_resources[] = {
[0] = { DEFINE_RES_IRQ(152),
.start = 152, DEFINE_RES_IRQ(153),
.end = 152,
.flags = IORESOURCE_IRQ,
},
[1] = {
.start = 153,
.end = 153,
.flags = IORESOURCE_IRQ,
},
};
static struct platform_device pmu_device = {
.name = "arm-pmu",
.id = -1,
.num_resources = ARRAY_SIZE(pmu_resources),
.resource = pmu_resources,
};
static struct platform_device *emev2_early_devices[] __initdata = {
&uart0_device,
&uart1_device,
&uart2_device,
&uart3_device,
}; };
static struct platform_device *emev2_late_devices[] __initdata = { #define emev2_register_pmu() \
&sti_device, platform_device_register_simple("arm-pmu", -1, \
&gio0_device, pmu_resources, \
&gio1_device, ARRAY_SIZE(pmu_resources))
&gio2_device,
&gio3_device,
&gio4_device,
&pmu_device,
};
void __init emev2_add_standard_devices(void) void __init emev2_add_standard_devices(void)
{ {
emev2_clock_init(); emev2_clock_init();
platform_add_devices(emev2_early_devices, emev2_register_uart(0);
ARRAY_SIZE(emev2_early_devices)); emev2_register_uart(1);
emev2_register_uart(2);
platform_add_devices(emev2_late_devices, emev2_register_uart(3);
ARRAY_SIZE(emev2_late_devices)); emev2_register_sti();
emev2_register_gio(0);
emev2_register_gio(1);
emev2_register_gio(2);
emev2_register_gio(3);
emev2_register_gio(4);
emev2_register_pmu();
} }
static void __init emev2_init_delay(void) void __init emev2_init_delay(void)
{ {
shmobile_setup_delay(533, 1, 3); /* Cortex-A9 @ 533MHz */ shmobile_setup_delay(533, 1, 3); /* Cortex-A9 @ 533MHz */
} }
void __init emev2_add_early_devices(void)
{
emev2_init_delay();
early_platform_add_devices(emev2_early_devices,
ARRAY_SIZE(emev2_early_devices));
/* setup early console here as well */
shmobile_setup_console();
}
void __init emev2_init_irq(void) void __init emev2_init_irq(void)
{ {
void __iomem *gic_dist_base; void __iomem *gic_dist_base;
...@@ -435,15 +217,6 @@ void __init emev2_init_irq(void) ...@@ -435,15 +217,6 @@ void __init emev2_init_irq(void)
} }
#ifdef CONFIG_USE_OF #ifdef CONFIG_USE_OF
static const struct of_dev_auxdata emev2_auxdata_lookup[] __initconst = {
{ }
};
static void __init emev2_add_standard_devices_dt(void)
{
of_platform_populate(NULL, of_default_bus_match_table,
emev2_auxdata_lookup, NULL);
}
static const char *emev2_boards_compat_dt[] __initdata = { static const char *emev2_boards_compat_dt[] __initdata = {
"renesas,emev2", "renesas,emev2",
...@@ -454,8 +227,6 @@ DT_MACHINE_START(EMEV2_DT, "Generic Emma Mobile EV2 (Flattened Device Tree)") ...@@ -454,8 +227,6 @@ DT_MACHINE_START(EMEV2_DT, "Generic Emma Mobile EV2 (Flattened Device Tree)")
.smp = smp_ops(emev2_smp_ops), .smp = smp_ops(emev2_smp_ops),
.init_early = emev2_init_delay, .init_early = emev2_init_delay,
.nr_irqs = NR_IRQS_LEGACY, .nr_irqs = NR_IRQS_LEGACY,
.init_irq = irqchip_init,
.init_machine = emev2_add_standard_devices_dt,
.dt_compat = emev2_boards_compat_dt, .dt_compat = emev2_boards_compat_dt,
MACHINE_END MACHINE_END
......
...@@ -18,7 +18,6 @@ ...@@ -18,7 +18,6 @@
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
*/ */
#include <linux/irq.h> #include <linux/irq.h>
#include <linux/irqchip.h>
#include <linux/kernel.h> #include <linux/kernel.h>
#include <linux/of_platform.h> #include <linux/of_platform.h>
#include <linux/platform_data/irq-renesas-irqc.h> #include <linux/platform_data/irq-renesas-irqc.h>
...@@ -194,7 +193,6 @@ static const char *r8a73a4_boards_compat_dt[] __initdata = { ...@@ -194,7 +193,6 @@ static const char *r8a73a4_boards_compat_dt[] __initdata = {
}; };
DT_MACHINE_START(R8A73A4_DT, "Generic R8A73A4 (Flattened Device Tree)") DT_MACHINE_START(R8A73A4_DT, "Generic R8A73A4 (Flattened Device Tree)")
.init_irq = irqchip_init,
.init_machine = r8a73a4_add_standard_devices_dt, .init_machine = r8a73a4_add_standard_devices_dt,
.init_time = shmobile_timer_init, .init_time = shmobile_timer_init,
.dt_compat = r8a73a4_boards_compat_dt, .dt_compat = r8a73a4_boards_compat_dt,
......
...@@ -986,16 +986,22 @@ void __init r8a7740_add_early_devices(void) ...@@ -986,16 +986,22 @@ void __init r8a7740_add_early_devices(void)
#ifdef CONFIG_USE_OF #ifdef CONFIG_USE_OF
static const struct of_dev_auxdata r8a7740_auxdata_lookup[] __initconst = { void __init r8a7740_add_early_devices_dt(void)
{ } {
}; shmobile_setup_delay(800, 1, 3); /* Cortex-A9 @ 800MHz */
early_platform_add_devices(r8a7740_early_devices,
ARRAY_SIZE(r8a7740_early_devices));
/* setup early console here as well */
shmobile_setup_console();
}
void __init r8a7740_add_standard_devices_dt(void) void __init r8a7740_add_standard_devices_dt(void)
{ {
platform_add_devices(r8a7740_devices_dt, platform_add_devices(r8a7740_devices_dt,
ARRAY_SIZE(r8a7740_devices_dt)); ARRAY_SIZE(r8a7740_devices_dt));
of_platform_populate(NULL, of_default_bus_match_table, of_platform_populate(NULL, of_default_bus_match_table, NULL, NULL);
r8a7740_auxdata_lookup, NULL);
} }
void __init r8a7740_init_delay(void) void __init r8a7740_init_delay(void)
......
...@@ -53,7 +53,7 @@ ...@@ -53,7 +53,7 @@
.irqs = SCIx_IRQ_MUXED(irq), \ .irqs = SCIx_IRQ_MUXED(irq), \
} }
static struct plat_sci_port scif_platform_data[] = { static struct plat_sci_port scif_platform_data[] __initdata = {
SCIF_INFO(0xffe40000, gic_iid(0x66)), SCIF_INFO(0xffe40000, gic_iid(0x66)),
SCIF_INFO(0xffe41000, gic_iid(0x67)), SCIF_INFO(0xffe41000, gic_iid(0x67)),
SCIF_INFO(0xffe42000, gic_iid(0x68)), SCIF_INFO(0xffe42000, gic_iid(0x68)),
...@@ -63,24 +63,24 @@ static struct plat_sci_port scif_platform_data[] = { ...@@ -63,24 +63,24 @@ static struct plat_sci_port scif_platform_data[] = {
}; };
/* TMU */ /* TMU */
static struct resource sh_tmu0_resources[] = { static struct resource sh_tmu0_resources[] __initdata = {
DEFINE_RES_MEM(0xffd80008, 12), DEFINE_RES_MEM(0xffd80008, 12),
DEFINE_RES_IRQ(gic_iid(0x40)), DEFINE_RES_IRQ(gic_iid(0x40)),
}; };
static struct sh_timer_config sh_tmu0_platform_data = { static struct sh_timer_config sh_tmu0_platform_data __initdata = {
.name = "TMU00", .name = "TMU00",
.channel_offset = 0x4, .channel_offset = 0x4,
.timer_bit = 0, .timer_bit = 0,
.clockevent_rating = 200, .clockevent_rating = 200,
}; };
static struct resource sh_tmu1_resources[] = { static struct resource sh_tmu1_resources[] __initdata = {
DEFINE_RES_MEM(0xffd80014, 12), DEFINE_RES_MEM(0xffd80014, 12),
DEFINE_RES_IRQ(gic_iid(0x41)), DEFINE_RES_IRQ(gic_iid(0x41)),
}; };
static struct sh_timer_config sh_tmu1_platform_data = { static struct sh_timer_config sh_tmu1_platform_data __initdata = {
.name = "TMU01", .name = "TMU01",
.channel_offset = 0x10, .channel_offset = 0x10,
.timer_bit = 1, .timer_bit = 1,
...@@ -189,7 +189,7 @@ USB_PLATFORM_INFO(ehci); ...@@ -189,7 +189,7 @@ USB_PLATFORM_INFO(ehci);
USB_PLATFORM_INFO(ohci); USB_PLATFORM_INFO(ohci);
/* Ether */ /* Ether */
static struct resource ether_resources[] = { static struct resource ether_resources[] __initdata = {
DEFINE_RES_MEM(0xfde00000, 0x400), DEFINE_RES_MEM(0xfde00000, 0x400),
DEFINE_RES_IRQ(gic_iid(0x89)), DEFINE_RES_IRQ(gic_iid(0x89)),
}; };
...@@ -203,17 +203,17 @@ void __init r8a7778_add_ether_device(struct sh_eth_plat_data *pdata) ...@@ -203,17 +203,17 @@ void __init r8a7778_add_ether_device(struct sh_eth_plat_data *pdata)
} }
/* PFC/GPIO */ /* PFC/GPIO */
static struct resource pfc_resources[] = { static struct resource pfc_resources[] __initdata = {
DEFINE_RES_MEM(0xfffc0000, 0x118), DEFINE_RES_MEM(0xfffc0000, 0x118),
}; };
#define R8A7778_GPIO(idx) \ #define R8A7778_GPIO(idx) \
static struct resource r8a7778_gpio##idx##_resources[] = { \ static struct resource r8a7778_gpio##idx##_resources[] __initdata = { \
DEFINE_RES_MEM(0xffc40000 + 0x1000 * (idx), 0x30), \ DEFINE_RES_MEM(0xffc40000 + 0x1000 * (idx), 0x30), \
DEFINE_RES_IRQ(gic_iid(0x87)), \ DEFINE_RES_IRQ(gic_iid(0x87)), \
}; \ }; \
\ \
static struct gpio_rcar_config r8a7778_gpio##idx##_platform_data = { \ static struct gpio_rcar_config r8a7778_gpio##idx##_platform_data __initdata = { \
.gpio_base = 32 * (idx), \ .gpio_base = 32 * (idx), \
.irq_base = GPIO_IRQ_BASE(idx), \ .irq_base = GPIO_IRQ_BASE(idx), \
.number_of_pins = 32, \ .number_of_pins = 32, \
...@@ -249,7 +249,7 @@ void __init r8a7778_pinmux_init(void) ...@@ -249,7 +249,7 @@ void __init r8a7778_pinmux_init(void)
}; };
/* SDHI */ /* SDHI */
static struct resource sdhi_resources[] = { static struct resource sdhi_resources[] __initdata = {
/* SDHI0 */ /* SDHI0 */
DEFINE_RES_MEM(0xFFE4C000, 0x100), DEFINE_RES_MEM(0xFFE4C000, 0x100),
DEFINE_RES_IRQ(gic_iid(0x77)), DEFINE_RES_IRQ(gic_iid(0x77)),
...@@ -365,12 +365,12 @@ void __init r8a7778_init_late(void) ...@@ -365,12 +365,12 @@ void __init r8a7778_init_late(void)
platform_device_register_full(&ohci_info); platform_device_register_full(&ohci_info);
} }
static struct renesas_intc_irqpin_config irqpin_platform_data = { static struct renesas_intc_irqpin_config irqpin_platform_data __initdata = {
.irq_base = irq_pin(0), /* IRQ0 -> IRQ3 */ .irq_base = irq_pin(0), /* IRQ0 -> IRQ3 */
.sense_bitfield_width = 2, .sense_bitfield_width = 2,
}; };
static struct resource irqpin_resources[] = { static struct resource irqpin_resources[] __initdata = {
DEFINE_RES_MEM(0xfe78001c, 4), /* ICR1 */ DEFINE_RES_MEM(0xfe78001c, 4), /* ICR1 */
DEFINE_RES_MEM(0xfe780010, 4), /* INTPRI */ DEFINE_RES_MEM(0xfe780010, 4), /* INTPRI */
DEFINE_RES_MEM(0xfe780024, 4), /* INTREQ */ DEFINE_RES_MEM(0xfe780024, 4), /* INTREQ */
...@@ -408,17 +408,25 @@ void __init r8a7778_init_irq_extpin(int irlm) ...@@ -408,17 +408,25 @@ void __init r8a7778_init_irq_extpin(int irlm)
&irqpin_platform_data, sizeof(irqpin_platform_data)); &irqpin_platform_data, sizeof(irqpin_platform_data));
} }
void __init r8a7778_init_delay(void)
{
shmobile_setup_delay(800, 1, 3); /* Cortex-A9 @ 800MHz */
}
#ifdef CONFIG_USE_OF
#define INT2SMSKCR0 0x82288 /* 0xfe782288 */ #define INT2SMSKCR0 0x82288 /* 0xfe782288 */
#define INT2SMSKCR1 0x8228c /* 0xfe78228c */ #define INT2SMSKCR1 0x8228c /* 0xfe78228c */
#define INT2NTSR0 0x00018 /* 0xfe700018 */ #define INT2NTSR0 0x00018 /* 0xfe700018 */
#define INT2NTSR1 0x0002c /* 0xfe70002c */ #define INT2NTSR1 0x0002c /* 0xfe70002c */
static void __init r8a7778_init_irq_common(void) void __init r8a7778_init_irq_dt(void)
{ {
void __iomem *base = ioremap_nocache(0xfe700000, 0x00100000); void __iomem *base = ioremap_nocache(0xfe700000, 0x00100000);
BUG_ON(!base); BUG_ON(!base);
irqchip_init();
/* route all interrupts to ARM */ /* route all interrupts to ARM */
__raw_writel(0x73ffffff, base + INT2NTSR0); __raw_writel(0x73ffffff, base + INT2NTSR0);
__raw_writel(0xffffffff, base + INT2NTSR1); __raw_writel(0xffffffff, base + INT2NTSR1);
...@@ -430,43 +438,6 @@ static void __init r8a7778_init_irq_common(void) ...@@ -430,43 +438,6 @@ static void __init r8a7778_init_irq_common(void)
iounmap(base); iounmap(base);
} }
void __init r8a7778_init_irq(void)
{
void __iomem *gic_dist_base;
void __iomem *gic_cpu_base;
gic_dist_base = ioremap_nocache(0xfe438000, PAGE_SIZE);
gic_cpu_base = ioremap_nocache(0xfe430000, PAGE_SIZE);
BUG_ON(!gic_dist_base || !gic_cpu_base);
/* use GIC to handle interrupts */
gic_init(0, 29, gic_dist_base, gic_cpu_base);
r8a7778_init_irq_common();
}
void __init r8a7778_init_delay(void)
{
shmobile_setup_delay(800, 1, 3); /* Cortex-A9 @ 800MHz */
}
#ifdef CONFIG_USE_OF
void __init r8a7778_init_irq_dt(void)
{
irqchip_init();
r8a7778_init_irq_common();
}
static const struct of_dev_auxdata r8a7778_auxdata_lookup[] __initconst = {
{},
};
void __init r8a7778_add_standard_devices_dt(void)
{
of_platform_populate(NULL, of_default_bus_match_table,
r8a7778_auxdata_lookup, NULL);
}
static const char *r8a7778_compat_dt[] __initdata = { static const char *r8a7778_compat_dt[] __initdata = {
"renesas,r8a7778", "renesas,r8a7778",
NULL, NULL,
...@@ -475,7 +446,6 @@ static const char *r8a7778_compat_dt[] __initdata = { ...@@ -475,7 +446,6 @@ static const char *r8a7778_compat_dt[] __initdata = {
DT_MACHINE_START(R8A7778_DT, "Generic R8A7778 (Flattened Device Tree)") DT_MACHINE_START(R8A7778_DT, "Generic R8A7778 (Flattened Device Tree)")
.init_early = r8a7778_init_delay, .init_early = r8a7778_init_delay,
.init_irq = r8a7778_init_irq_dt, .init_irq = r8a7778_init_irq_dt,
.init_machine = r8a7778_add_standard_devices_dt,
.init_time = shmobile_timer_init, .init_time = shmobile_timer_init,
.dt_compat = r8a7778_compat_dt, .dt_compat = r8a7778_compat_dt,
.init_late = r8a7778_init_late, .init_late = r8a7778_init_late,
......
...@@ -665,10 +665,6 @@ void __init r8a7779_init_delay(void) ...@@ -665,10 +665,6 @@ void __init r8a7779_init_delay(void)
shmobile_setup_delay(1000, 2, 4); /* Cortex-A9 @ 1000MHz */ shmobile_setup_delay(1000, 2, 4); /* Cortex-A9 @ 1000MHz */
} }
static const struct of_dev_auxdata r8a7779_auxdata_lookup[] __initconst = {
{},
};
void __init r8a7779_add_standard_devices_dt(void) void __init r8a7779_add_standard_devices_dt(void)
{ {
/* clocks are setup late during boot in the case of DT */ /* clocks are setup late during boot in the case of DT */
...@@ -676,8 +672,7 @@ void __init r8a7779_add_standard_devices_dt(void) ...@@ -676,8 +672,7 @@ void __init r8a7779_add_standard_devices_dt(void)
platform_add_devices(r8a7779_devices_dt, platform_add_devices(r8a7779_devices_dt,
ARRAY_SIZE(r8a7779_devices_dt)); ARRAY_SIZE(r8a7779_devices_dt));
of_platform_populate(NULL, of_default_bus_match_table, of_platform_populate(NULL, of_default_bus_match_table, NULL, NULL);
r8a7779_auxdata_lookup, NULL);
} }
static const char *r8a7779_compat_dt[] __initdata = { static const char *r8a7779_compat_dt[] __initdata = {
......
...@@ -19,7 +19,6 @@ ...@@ -19,7 +19,6 @@
*/ */
#include <linux/irq.h> #include <linux/irq.h>
#include <linux/irqchip.h>
#include <linux/kernel.h> #include <linux/kernel.h>
#include <linux/of_platform.h> #include <linux/of_platform.h>
#include <linux/serial_sci.h> #include <linux/serial_sci.h>
...@@ -177,10 +176,6 @@ void __init r8a7790_timer_init(void) ...@@ -177,10 +176,6 @@ void __init r8a7790_timer_init(void)
} }
#ifdef CONFIG_USE_OF #ifdef CONFIG_USE_OF
void __init r8a7790_add_standard_devices_dt(void)
{
of_platform_populate(NULL, of_default_bus_match_table, NULL, NULL);
}
static const char *r8a7790_boards_compat_dt[] __initdata = { static const char *r8a7790_boards_compat_dt[] __initdata = {
"renesas,r8a7790", "renesas,r8a7790",
...@@ -188,8 +183,6 @@ static const char *r8a7790_boards_compat_dt[] __initdata = { ...@@ -188,8 +183,6 @@ static const char *r8a7790_boards_compat_dt[] __initdata = {
}; };
DT_MACHINE_START(R8A7790_DT, "Generic R8A7790 (Flattened Device Tree)") DT_MACHINE_START(R8A7790_DT, "Generic R8A7790 (Flattened Device Tree)")
.init_irq = irqchip_init,
.init_machine = r8a7790_add_standard_devices_dt,
.init_time = r8a7790_timer_init, .init_time = r8a7790_timer_init,
.dt_compat = r8a7790_boards_compat_dt, .dt_compat = r8a7790_boards_compat_dt,
MACHINE_END MACHINE_END
......
...@@ -1147,10 +1147,6 @@ void __init sh7372_add_early_devices_dt(void) ...@@ -1147,10 +1147,6 @@ void __init sh7372_add_early_devices_dt(void)
shmobile_setup_console(); shmobile_setup_console();
} }
static const struct of_dev_auxdata sh7372_auxdata_lookup[] __initconst = {
{ }
};
void __init sh7372_add_standard_devices_dt(void) void __init sh7372_add_standard_devices_dt(void)
{ {
/* clocks are setup late during boot in the case of DT */ /* clocks are setup late during boot in the case of DT */
...@@ -1159,8 +1155,7 @@ void __init sh7372_add_standard_devices_dt(void) ...@@ -1159,8 +1155,7 @@ void __init sh7372_add_standard_devices_dt(void)
platform_add_devices(sh7372_early_devices, platform_add_devices(sh7372_early_devices,
ARRAY_SIZE(sh7372_early_devices)); ARRAY_SIZE(sh7372_early_devices));
of_platform_populate(NULL, of_default_bus_match_table, of_platform_populate(NULL, of_default_bus_match_table, NULL, NULL);
sh7372_auxdata_lookup, NULL);
} }
static const char *sh7372_boards_compat_dt[] __initdata = { static const char *sh7372_boards_compat_dt[] __initdata = {
......
...@@ -22,7 +22,6 @@ ...@@ -22,7 +22,6 @@
#include <linux/init.h> #include <linux/init.h>
#include <linux/interrupt.h> #include <linux/interrupt.h>
#include <linux/irq.h> #include <linux/irq.h>
#include <linux/irqchip.h>
#include <linux/platform_device.h> #include <linux/platform_device.h>
#include <linux/of_platform.h> #include <linux/of_platform.h>
#include <linux/delay.h> #include <linux/delay.h>
...@@ -61,29 +60,16 @@ void __init sh73a0_map_io(void) ...@@ -61,29 +60,16 @@ void __init sh73a0_map_io(void)
iotable_init(sh73a0_io_desc, ARRAY_SIZE(sh73a0_io_desc)); iotable_init(sh73a0_io_desc, ARRAY_SIZE(sh73a0_io_desc));
} }
static struct resource sh73a0_pfc_resources[] = { /* PFC */
[0] = { static struct resource pfc_resources[] __initdata = {
.start = 0xe6050000, DEFINE_RES_MEM(0xe6050000, 0x8000),
.end = 0xe6057fff, DEFINE_RES_MEM(0xe605801c, 0x000c),
.flags = IORESOURCE_MEM,
},
[1] = {
.start = 0xe605801c,
.end = 0xe6058027,
.flags = IORESOURCE_MEM,
}
};
static struct platform_device sh73a0_pfc_device = {
.name = "pfc-sh73a0",
.id = -1,
.resource = sh73a0_pfc_resources,
.num_resources = ARRAY_SIZE(sh73a0_pfc_resources),
}; };
void __init sh73a0_pinmux_init(void) void __init sh73a0_pinmux_init(void)
{ {
platform_device_register(&sh73a0_pfc_device); platform_device_register_simple("pfc-sh73a0", -1, pfc_resources,
ARRAY_SIZE(pfc_resources));
} }
static struct plat_sci_port scif0_platform_data = { static struct plat_sci_port scif0_platform_data = {
...@@ -958,10 +944,6 @@ void __init sh73a0_add_early_devices(void) ...@@ -958,10 +944,6 @@ void __init sh73a0_add_early_devices(void)
#ifdef CONFIG_USE_OF #ifdef CONFIG_USE_OF
static const struct of_dev_auxdata sh73a0_auxdata_lookup[] __initconst = {
{},
};
void __init sh73a0_add_standard_devices_dt(void) void __init sh73a0_add_standard_devices_dt(void)
{ {
struct platform_device_info devinfo = { .name = "cpufreq-cpu0", .id = -1, }; struct platform_device_info devinfo = { .name = "cpufreq-cpu0", .id = -1, };
...@@ -971,8 +953,7 @@ void __init sh73a0_add_standard_devices_dt(void) ...@@ -971,8 +953,7 @@ void __init sh73a0_add_standard_devices_dt(void)
platform_add_devices(sh73a0_devices_dt, platform_add_devices(sh73a0_devices_dt,
ARRAY_SIZE(sh73a0_devices_dt)); ARRAY_SIZE(sh73a0_devices_dt));
of_platform_populate(NULL, of_default_bus_match_table, of_platform_populate(NULL, of_default_bus_match_table, NULL, NULL);
sh73a0_auxdata_lookup, NULL);
/* Instantiate cpufreq-cpu0 */ /* Instantiate cpufreq-cpu0 */
platform_device_register_full(&devinfo); platform_device_register_full(&devinfo);
...@@ -988,7 +969,6 @@ DT_MACHINE_START(SH73A0_DT, "Generic SH73A0 (Flattened Device Tree)") ...@@ -988,7 +969,6 @@ DT_MACHINE_START(SH73A0_DT, "Generic SH73A0 (Flattened Device Tree)")
.map_io = sh73a0_map_io, .map_io = sh73a0_map_io,
.init_early = sh73a0_init_delay, .init_early = sh73a0_init_delay,
.nr_irqs = NR_IRQS_LEGACY, .nr_irqs = NR_IRQS_LEGACY,
.init_irq = irqchip_init,
.init_machine = sh73a0_add_standard_devices_dt, .init_machine = sh73a0_add_standard_devices_dt,
.dt_compat = sh73a0_boards_compat_dt, .dt_compat = sh73a0_boards_compat_dt,
MACHINE_END MACHINE_END
......
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