Merge branch 'percpu-for-linus' into percpu-for-next
Conflicts: arch/sparc/kernel/smp_64.c arch/x86/kernel/cpu/perf_counter.c arch/x86/kernel/setup_percpu.c drivers/cpufreq/cpufreq_ondemand.c mm/percpu.c Conflicts in core and arch percpu codes are mostly from commit ed78e1e078dd44249f88b1dd8c76dafb39567161 which substituted many num_possible_cpus() with nr_cpu_ids. As for-next branch has moved all the first chunk allocators into mm/percpu.c, the changes are moved from arch code to mm/percpu.c. Signed-off-by: Tejun Heo <tj@kernel.org>
This commit is contained in:
@@ -547,7 +547,7 @@ static int __init ap325rxa_devices_setup(void)
|
||||
return platform_add_devices(ap325rxa_devices,
|
||||
ARRAY_SIZE(ap325rxa_devices));
|
||||
}
|
||||
device_initcall(ap325rxa_devices_setup);
|
||||
arch_initcall(ap325rxa_devices_setup);
|
||||
|
||||
/* Return the board specific boot mode pin configuration */
|
||||
static int ap325rxa_mode_pins(void)
|
||||
|
@@ -608,7 +608,7 @@ static int __init migor_devices_setup(void)
|
||||
|
||||
return platform_add_devices(migor_devices, ARRAY_SIZE(migor_devices));
|
||||
}
|
||||
__initcall(migor_devices_setup);
|
||||
arch_initcall(migor_devices_setup);
|
||||
|
||||
/* Return the board specific boot mode pin configuration */
|
||||
static int migor_mode_pins(void)
|
||||
|
@@ -19,6 +19,7 @@
|
||||
#include <linux/smc91x.h>
|
||||
#include <linux/gpio.h>
|
||||
#include <linux/input.h>
|
||||
#include <linux/usb/r8a66597.h>
|
||||
#include <video/sh_mobile_lcdc.h>
|
||||
#include <media/sh_mobile_ceu.h>
|
||||
#include <asm/io.h>
|
||||
@@ -302,6 +303,34 @@ static struct platform_device sh_eth_device = {
|
||||
.resource = sh_eth_resources,
|
||||
};
|
||||
|
||||
static struct r8a66597_platdata sh7724_usb0_host_data = {
|
||||
};
|
||||
|
||||
static struct resource sh7724_usb0_host_resources[] = {
|
||||
[0] = {
|
||||
.start = 0xa4d80000,
|
||||
.end = 0xa4d800ff,
|
||||
.flags = IORESOURCE_MEM,
|
||||
},
|
||||
[1] = {
|
||||
.start = 65,
|
||||
.end = 65,
|
||||
.flags = IORESOURCE_IRQ | IRQF_TRIGGER_LOW,
|
||||
},
|
||||
};
|
||||
|
||||
static struct platform_device sh7724_usb0_host_device = {
|
||||
.name = "r8a66597_hcd",
|
||||
.id = 0,
|
||||
.dev = {
|
||||
.dma_mask = NULL, /* not use dma */
|
||||
.coherent_dma_mask = 0xffffffff,
|
||||
.platform_data = &sh7724_usb0_host_data,
|
||||
},
|
||||
.num_resources = ARRAY_SIZE(sh7724_usb0_host_resources),
|
||||
.resource = sh7724_usb0_host_resources,
|
||||
};
|
||||
|
||||
static struct platform_device *ms7724se_devices[] __initdata = {
|
||||
&heartbeat_device,
|
||||
&smc91x_eth_device,
|
||||
@@ -311,6 +340,7 @@ static struct platform_device *ms7724se_devices[] __initdata = {
|
||||
&ceu1_device,
|
||||
&keysc_device,
|
||||
&sh_eth_device,
|
||||
&sh7724_usb0_host_device,
|
||||
};
|
||||
|
||||
#define EEPROM_OP 0xBA206000
|
||||
@@ -364,6 +394,7 @@ static void __init sh_eth_init(void)
|
||||
#define SW4140 0xBA201000
|
||||
#define FPGA_OUT 0xBA200400
|
||||
#define PORT_HIZA 0xA4050158
|
||||
#define PORT_MSELCRB 0xA4050182
|
||||
|
||||
#define SW41_A 0x0100
|
||||
#define SW41_B 0x0200
|
||||
@@ -373,6 +404,7 @@ static void __init sh_eth_init(void)
|
||||
#define SW41_F 0x2000
|
||||
#define SW41_G 0x4000
|
||||
#define SW41_H 0x8000
|
||||
|
||||
static int __init devices_setup(void)
|
||||
{
|
||||
u16 sw = ctrl_inw(SW4140); /* select camera, monitor */
|
||||
@@ -385,6 +417,12 @@ static int __init devices_setup(void)
|
||||
(1 << 14)), /* RMII */
|
||||
FPGA_OUT);
|
||||
|
||||
/* turn on USB clocks, use external clock */
|
||||
ctrl_outw((ctrl_inw(PORT_MSELCRB) & ~0xc000) | 0x8000, PORT_MSELCRB);
|
||||
|
||||
/* enable USB0 port */
|
||||
ctrl_outw(0x0600, 0xa40501d4);
|
||||
|
||||
/* enable IRQ 0,1,2 */
|
||||
gpio_request(GPIO_FN_INTC_IRQ0, NULL);
|
||||
gpio_request(GPIO_FN_INTC_IRQ1, NULL);
|
||||
|
@@ -4,4 +4,6 @@
|
||||
/* SH only supports software counters through this interface. */
|
||||
static inline void set_perf_counter_pending(void) {}
|
||||
|
||||
#define PERF_COUNTER_INDEX_OFFSET 0
|
||||
|
||||
#endif /* __ASM_SH_PERF_COUNTER_H */
|
||||
|
@@ -73,20 +73,12 @@ static inline void pte_free(struct mm_struct *mm, pgtable_t pte)
|
||||
quicklist_free_page(QUICK_PT, NULL, pte);
|
||||
}
|
||||
|
||||
#define __pte_free_tlb(tlb,pte) \
|
||||
#define __pte_free_tlb(tlb,pte,addr) \
|
||||
do { \
|
||||
pgtable_page_dtor(pte); \
|
||||
tlb_remove_page((tlb), (pte)); \
|
||||
} while (0)
|
||||
|
||||
/*
|
||||
* allocating and freeing a pmd is trivial: the 1-entry pmd is
|
||||
* inside the pgd, so has no extra memory associated with it.
|
||||
*/
|
||||
|
||||
#define pmd_free(mm, x) do { } while (0)
|
||||
#define __pmd_free_tlb(tlb,x) do { } while (0)
|
||||
|
||||
static inline void check_pgt_cache(void)
|
||||
{
|
||||
quicklist_trim(QUICK_PGD, NULL, 25, 16);
|
||||
|
@@ -51,7 +51,7 @@ struct thread_info {
|
||||
.exec_domain = &default_exec_domain, \
|
||||
.flags = 0, \
|
||||
.cpu = 0, \
|
||||
.preempt_count = 1, \
|
||||
.preempt_count = INIT_PREEMPT_COUNT, \
|
||||
.addr_limit = KERNEL_DS, \
|
||||
.restart_block = { \
|
||||
.fn = do_no_restart_syscall, \
|
||||
|
@@ -91,9 +91,9 @@ tlb_end_vma(struct mmu_gather *tlb, struct vm_area_struct *vma)
|
||||
}
|
||||
|
||||
#define tlb_remove_page(tlb,page) free_page_and_swap_cache(page)
|
||||
#define pte_free_tlb(tlb, ptep) pte_free((tlb)->mm, ptep)
|
||||
#define pmd_free_tlb(tlb, pmdp) pmd_free((tlb)->mm, pmdp)
|
||||
#define pud_free_tlb(tlb, pudp) pud_free((tlb)->mm, pudp)
|
||||
#define pte_free_tlb(tlb, ptep, addr) pte_free((tlb)->mm, ptep)
|
||||
#define pmd_free_tlb(tlb, pmdp, addr) pmd_free((tlb)->mm, pmdp)
|
||||
#define pud_free_tlb(tlb, pudp, addr) pud_free((tlb)->mm, pudp)
|
||||
|
||||
#define tlb_migrate_finish(mm) do { } while (0)
|
||||
|
||||
|
@@ -187,7 +187,7 @@ static int __init sh7619_devices_setup(void)
|
||||
return platform_add_devices(sh7619_devices,
|
||||
ARRAY_SIZE(sh7619_devices));
|
||||
}
|
||||
__initcall(sh7619_devices_setup);
|
||||
arch_initcall(sh7619_devices_setup);
|
||||
|
||||
void __init plat_irq_setup(void)
|
||||
{
|
||||
|
@@ -238,7 +238,7 @@ static int __init mxg_devices_setup(void)
|
||||
return platform_add_devices(mxg_devices,
|
||||
ARRAY_SIZE(mxg_devices));
|
||||
}
|
||||
__initcall(mxg_devices_setup);
|
||||
arch_initcall(mxg_devices_setup);
|
||||
|
||||
void __init plat_irq_setup(void)
|
||||
{
|
||||
|
@@ -357,7 +357,7 @@ static int __init sh7201_devices_setup(void)
|
||||
return platform_add_devices(sh7201_devices,
|
||||
ARRAY_SIZE(sh7201_devices));
|
||||
}
|
||||
__initcall(sh7201_devices_setup);
|
||||
arch_initcall(sh7201_devices_setup);
|
||||
|
||||
void __init plat_irq_setup(void)
|
||||
{
|
||||
|
@@ -367,7 +367,7 @@ static int __init sh7203_devices_setup(void)
|
||||
return platform_add_devices(sh7203_devices,
|
||||
ARRAY_SIZE(sh7203_devices));
|
||||
}
|
||||
__initcall(sh7203_devices_setup);
|
||||
arch_initcall(sh7203_devices_setup);
|
||||
|
||||
void __init plat_irq_setup(void)
|
||||
{
|
||||
|
@@ -338,7 +338,7 @@ static int __init sh7206_devices_setup(void)
|
||||
return platform_add_devices(sh7206_devices,
|
||||
ARRAY_SIZE(sh7206_devices));
|
||||
}
|
||||
__initcall(sh7206_devices_setup);
|
||||
arch_initcall(sh7206_devices_setup);
|
||||
|
||||
void __init plat_irq_setup(void)
|
||||
{
|
||||
|
@@ -222,7 +222,7 @@ static int __init sh7705_devices_setup(void)
|
||||
return platform_add_devices(sh7705_devices,
|
||||
ARRAY_SIZE(sh7705_devices));
|
||||
}
|
||||
__initcall(sh7705_devices_setup);
|
||||
arch_initcall(sh7705_devices_setup);
|
||||
|
||||
static struct platform_device *sh7705_early_devices[] __initdata = {
|
||||
&tmu0_device,
|
||||
|
@@ -250,7 +250,7 @@ static int __init sh770x_devices_setup(void)
|
||||
return platform_add_devices(sh770x_devices,
|
||||
ARRAY_SIZE(sh770x_devices));
|
||||
}
|
||||
__initcall(sh770x_devices_setup);
|
||||
arch_initcall(sh770x_devices_setup);
|
||||
|
||||
static struct platform_device *sh770x_early_devices[] __initdata = {
|
||||
&tmu0_device,
|
||||
|
@@ -226,7 +226,7 @@ static int __init sh7710_devices_setup(void)
|
||||
return platform_add_devices(sh7710_devices,
|
||||
ARRAY_SIZE(sh7710_devices));
|
||||
}
|
||||
__initcall(sh7710_devices_setup);
|
||||
arch_initcall(sh7710_devices_setup);
|
||||
|
||||
static struct platform_device *sh7710_early_devices[] __initdata = {
|
||||
&tmu0_device,
|
||||
|
@@ -388,7 +388,7 @@ static int __init sh7720_devices_setup(void)
|
||||
return platform_add_devices(sh7720_devices,
|
||||
ARRAY_SIZE(sh7720_devices));
|
||||
}
|
||||
__initcall(sh7720_devices_setup);
|
||||
arch_initcall(sh7720_devices_setup);
|
||||
|
||||
static struct platform_device *sh7720_early_devices[] __initdata = {
|
||||
&cmt0_device,
|
||||
|
@@ -138,7 +138,7 @@ static int __init sh4202_devices_setup(void)
|
||||
return platform_add_devices(sh4202_devices,
|
||||
ARRAY_SIZE(sh4202_devices));
|
||||
}
|
||||
__initcall(sh4202_devices_setup);
|
||||
arch_initcall(sh4202_devices_setup);
|
||||
|
||||
static struct platform_device *sh4202_early_devices[] __initdata = {
|
||||
&tmu0_device,
|
||||
|
@@ -239,7 +239,7 @@ static int __init sh7750_devices_setup(void)
|
||||
return platform_add_devices(sh7750_devices,
|
||||
ARRAY_SIZE(sh7750_devices));
|
||||
}
|
||||
__initcall(sh7750_devices_setup);
|
||||
arch_initcall(sh7750_devices_setup);
|
||||
|
||||
static struct platform_device *sh7750_early_devices[] __initdata = {
|
||||
&tmu0_device,
|
||||
|
@@ -265,7 +265,7 @@ static int __init sh7760_devices_setup(void)
|
||||
return platform_add_devices(sh7760_devices,
|
||||
ARRAY_SIZE(sh7760_devices));
|
||||
}
|
||||
__initcall(sh7760_devices_setup);
|
||||
arch_initcall(sh7760_devices_setup);
|
||||
|
||||
static struct platform_device *sh7760_early_devices[] __initdata = {
|
||||
&tmu0_device,
|
||||
|
@@ -325,7 +325,7 @@ static int __init sh7343_devices_setup(void)
|
||||
return platform_add_devices(sh7343_devices,
|
||||
ARRAY_SIZE(sh7343_devices));
|
||||
}
|
||||
__initcall(sh7343_devices_setup);
|
||||
arch_initcall(sh7343_devices_setup);
|
||||
|
||||
static struct platform_device *sh7343_early_devices[] __initdata = {
|
||||
&cmt_device,
|
||||
|
@@ -318,7 +318,7 @@ static int __init sh7366_devices_setup(void)
|
||||
return platform_add_devices(sh7366_devices,
|
||||
ARRAY_SIZE(sh7366_devices));
|
||||
}
|
||||
__initcall(sh7366_devices_setup);
|
||||
arch_initcall(sh7366_devices_setup);
|
||||
|
||||
static struct platform_device *sh7366_early_devices[] __initdata = {
|
||||
&cmt_device,
|
||||
|
@@ -359,7 +359,7 @@ static int __init sh7722_devices_setup(void)
|
||||
return platform_add_devices(sh7722_devices,
|
||||
ARRAY_SIZE(sh7722_devices));
|
||||
}
|
||||
__initcall(sh7722_devices_setup);
|
||||
arch_initcall(sh7722_devices_setup);
|
||||
|
||||
static struct platform_device *sh7722_early_devices[] __initdata = {
|
||||
&cmt_device,
|
||||
|
@@ -473,7 +473,7 @@ static int __init sh7723_devices_setup(void)
|
||||
return platform_add_devices(sh7723_devices,
|
||||
ARRAY_SIZE(sh7723_devices));
|
||||
}
|
||||
__initcall(sh7723_devices_setup);
|
||||
arch_initcall(sh7723_devices_setup);
|
||||
|
||||
static struct platform_device *sh7723_early_devices[] __initdata = {
|
||||
&cmt_device,
|
||||
|
@@ -508,7 +508,7 @@ static int __init sh7724_devices_setup(void)
|
||||
return platform_add_devices(sh7724_devices,
|
||||
ARRAY_SIZE(sh7724_devices));
|
||||
}
|
||||
device_initcall(sh7724_devices_setup);
|
||||
arch_initcall(sh7724_devices_setup);
|
||||
|
||||
static struct platform_device *sh7724_early_devices[] __initdata = {
|
||||
&cmt_device,
|
||||
|
@@ -314,7 +314,7 @@ static int __init sh7763_devices_setup(void)
|
||||
return platform_add_devices(sh7763_devices,
|
||||
ARRAY_SIZE(sh7763_devices));
|
||||
}
|
||||
__initcall(sh7763_devices_setup);
|
||||
arch_initcall(sh7763_devices_setup);
|
||||
|
||||
static struct platform_device *sh7763_early_devices[] __initdata = {
|
||||
&tmu0_device,
|
||||
|
@@ -368,7 +368,7 @@ static int __init sh7770_devices_setup(void)
|
||||
return platform_add_devices(sh7770_devices,
|
||||
ARRAY_SIZE(sh7770_devices));
|
||||
}
|
||||
__initcall(sh7770_devices_setup);
|
||||
arch_initcall(sh7770_devices_setup);
|
||||
|
||||
static struct platform_device *sh7770_early_devices[] __initdata = {
|
||||
&tmu0_device,
|
||||
|
@@ -256,7 +256,7 @@ static int __init sh7780_devices_setup(void)
|
||||
return platform_add_devices(sh7780_devices,
|
||||
ARRAY_SIZE(sh7780_devices));
|
||||
}
|
||||
__initcall(sh7780_devices_setup);
|
||||
arch_initcall(sh7780_devices_setup);
|
||||
|
||||
static struct platform_device *sh7780_early_devices[] __initdata = {
|
||||
&tmu0_device,
|
||||
|
@@ -263,7 +263,7 @@ static int __init sh7785_devices_setup(void)
|
||||
return platform_add_devices(sh7785_devices,
|
||||
ARRAY_SIZE(sh7785_devices));
|
||||
}
|
||||
__initcall(sh7785_devices_setup);
|
||||
arch_initcall(sh7785_devices_setup);
|
||||
|
||||
static struct platform_device *sh7785_early_devices[] __initdata = {
|
||||
&tmu0_device,
|
||||
|
@@ -547,7 +547,7 @@ static int __init sh7786_devices_setup(void)
|
||||
return platform_add_devices(sh7786_devices,
|
||||
ARRAY_SIZE(sh7786_devices));
|
||||
}
|
||||
device_initcall(sh7786_devices_setup);
|
||||
arch_initcall(sh7786_devices_setup);
|
||||
|
||||
void __init plat_early_device_setup(void)
|
||||
{
|
||||
|
@@ -256,7 +256,7 @@ static int __init shx3_devices_setup(void)
|
||||
return platform_add_devices(shx3_devices,
|
||||
ARRAY_SIZE(shx3_devices));
|
||||
}
|
||||
__initcall(shx3_devices_setup);
|
||||
arch_initcall(shx3_devices_setup);
|
||||
|
||||
void __init plat_early_device_setup(void)
|
||||
{
|
||||
|
@@ -186,7 +186,7 @@ static int __init sh5_devices_setup(void)
|
||||
return platform_add_devices(sh5_devices,
|
||||
ARRAY_SIZE(sh5_devices));
|
||||
}
|
||||
__initcall(sh5_devices_setup);
|
||||
arch_initcall(sh5_devices_setup);
|
||||
|
||||
void __init plat_early_device_setup(void)
|
||||
{
|
||||
|
@@ -18,7 +18,6 @@
|
||||
#include <linux/mman.h>
|
||||
#include <linux/mm.h>
|
||||
#include <linux/smp.h>
|
||||
#include <linux/smp_lock.h>
|
||||
#include <linux/interrupt.h>
|
||||
|
||||
#include <asm/system.h>
|
||||
|
Reference in New Issue
Block a user