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

Commit 2f284c84 authored by Linus Torvalds's avatar Linus Torvalds
Browse files

Merge branch 'devel' of master.kernel.org:/home/rmk/linux-2.6-arm

* 'devel' of master.kernel.org:/home/rmk/linux-2.6-arm: (35 commits)
  ARM: Update (and cut down) mach-types
  ARM: 6771/1: vexpress: add support for multiple core tiles
  ARM: 6797/1: hw_breakpoint: Fix newlines in WARNings
  ARM: 6751/1: vexpress: select applicable errata workarounds in Kconfig
  ARM: 6753/1: omap4: Enable ARM local timers with OMAP4430 es1.0 exception
  ARM: 6759/1: smp: Select local timers vs broadcast timer support runtime
  ARM: pgtable: add pud-level code
  ARM: 6673/1: LPAE: use phys_addr_t instead of unsigned long for start of membanks
  ARM: Use long long format when printing meminfo physical addresses
  ARM: integrator: add Integrator/CP sched_clock support
  ARM: realview/vexpress: consolidate SMP bringup code
  ARM: realview/vexpress: consolidate localtimer support
  ARM: integrator/versatile: consolidate FPGA IRQ handling code
  ARM: rationalize versatile family Kconfig/Makefile
  ARM: realview: remove old AMBA device DMA definitions
  ARM: versatile: remove old AMBA device DMA definitions
  ARM: vexpress: use new init_early for clock tree and sched_clock init
  ARM: realview: use new init_early for clock tree and sched_clock init
  ARM: versatile: use new init_early for clock tree and sched_clock init
  ARM: integrator: use new init_early for clock tree init
  ...
parents 93a72052 6f82f4db
Loading
Loading
Loading
Loading
+7 −3
Original line number Original line Diff line number Diff line
@@ -235,6 +235,7 @@ config ARCH_INTEGRATOR
	select ICST
	select ICST
	select GENERIC_CLOCKEVENTS
	select GENERIC_CLOCKEVENTS
	select PLAT_VERSATILE
	select PLAT_VERSATILE
	select PLAT_VERSATILE_FPGA_IRQ
	help
	help
	  Support for ARM's Integrator platform.
	  Support for ARM's Integrator platform.


@@ -242,11 +243,11 @@ config ARCH_REALVIEW
	bool "ARM Ltd. RealView family"
	bool "ARM Ltd. RealView family"
	select ARM_AMBA
	select ARM_AMBA
	select CLKDEV_LOOKUP
	select CLKDEV_LOOKUP
	select HAVE_SCHED_CLOCK
	select ICST
	select ICST
	select GENERIC_CLOCKEVENTS
	select GENERIC_CLOCKEVENTS
	select ARCH_WANT_OPTIONAL_GPIOLIB
	select ARCH_WANT_OPTIONAL_GPIOLIB
	select PLAT_VERSATILE
	select PLAT_VERSATILE
	select PLAT_VERSATILE_CLCD
	select ARM_TIMER_SP804
	select ARM_TIMER_SP804
	select GPIO_PL061 if GPIOLIB
	select GPIO_PL061 if GPIOLIB
	help
	help
@@ -257,11 +258,12 @@ config ARCH_VERSATILE
	select ARM_AMBA
	select ARM_AMBA
	select ARM_VIC
	select ARM_VIC
	select CLKDEV_LOOKUP
	select CLKDEV_LOOKUP
	select HAVE_SCHED_CLOCK
	select ICST
	select ICST
	select GENERIC_CLOCKEVENTS
	select GENERIC_CLOCKEVENTS
	select ARCH_WANT_OPTIONAL_GPIOLIB
	select ARCH_WANT_OPTIONAL_GPIOLIB
	select PLAT_VERSATILE
	select PLAT_VERSATILE
	select PLAT_VERSATILE_CLCD
	select PLAT_VERSATILE_FPGA_IRQ
	select ARM_TIMER_SP804
	select ARM_TIMER_SP804
	help
	help
	  This enables support for ARM Ltd Versatile board.
	  This enables support for ARM Ltd Versatile board.
@@ -274,9 +276,10 @@ config ARCH_VEXPRESS
	select CLKDEV_LOOKUP
	select CLKDEV_LOOKUP
	select GENERIC_CLOCKEVENTS
	select GENERIC_CLOCKEVENTS
	select HAVE_CLK
	select HAVE_CLK
	select HAVE_SCHED_CLOCK
	select HAVE_PATA_PLATFORM
	select ICST
	select ICST
	select PLAT_VERSATILE
	select PLAT_VERSATILE
	select PLAT_VERSATILE_CLCD
	help
	help
	  This enables support for the ARM Ltd Versatile Express boards.
	  This enables support for the ARM Ltd Versatile Express boards.


@@ -1011,6 +1014,7 @@ source "arch/arm/mach-ux500/Kconfig"
source "arch/arm/mach-versatile/Kconfig"
source "arch/arm/mach-versatile/Kconfig"


source "arch/arm/mach-vexpress/Kconfig"
source "arch/arm/mach-vexpress/Kconfig"
source "arch/arm/plat-versatile/Kconfig"


source "arch/arm/mach-vt8500/Kconfig"
source "arch/arm/mach-vt8500/Kconfig"


+7 −1
Original line number Original line Diff line number Diff line
@@ -44,8 +44,14 @@ int local_timer_ack(void);
/*
/*
 * Setup a local timer interrupt for a CPU.
 * Setup a local timer interrupt for a CPU.
 */
 */
void local_timer_setup(struct clock_event_device *);
int local_timer_setup(struct clock_event_device *);


#else

static inline int local_timer_setup(struct clock_event_device *evt)
{
	return -ENXIO;
}
#endif
#endif


#endif
#endif
+8 −6
Original line number Original line Diff line number Diff line
@@ -21,6 +21,8 @@
#ifndef __ASM_OUTERCACHE_H
#ifndef __ASM_OUTERCACHE_H
#define __ASM_OUTERCACHE_H
#define __ASM_OUTERCACHE_H


#include <linux/types.h>

struct outer_cache_fns {
struct outer_cache_fns {
	void (*inv_range)(unsigned long, unsigned long);
	void (*inv_range)(unsigned long, unsigned long);
	void (*clean_range)(unsigned long, unsigned long);
	void (*clean_range)(unsigned long, unsigned long);
@@ -38,17 +40,17 @@ struct outer_cache_fns {


extern struct outer_cache_fns outer_cache;
extern struct outer_cache_fns outer_cache;


static inline void outer_inv_range(unsigned long start, unsigned long end)
static inline void outer_inv_range(phys_addr_t start, phys_addr_t end)
{
{
	if (outer_cache.inv_range)
	if (outer_cache.inv_range)
		outer_cache.inv_range(start, end);
		outer_cache.inv_range(start, end);
}
}
static inline void outer_clean_range(unsigned long start, unsigned long end)
static inline void outer_clean_range(phys_addr_t start, phys_addr_t end)
{
{
	if (outer_cache.clean_range)
	if (outer_cache.clean_range)
		outer_cache.clean_range(start, end);
		outer_cache.clean_range(start, end);
}
}
static inline void outer_flush_range(unsigned long start, unsigned long end)
static inline void outer_flush_range(phys_addr_t start, phys_addr_t end)
{
{
	if (outer_cache.flush_range)
	if (outer_cache.flush_range)
		outer_cache.flush_range(start, end);
		outer_cache.flush_range(start, end);
@@ -74,11 +76,11 @@ static inline void outer_disable(void)


#else
#else


static inline void outer_inv_range(unsigned long start, unsigned long end)
static inline void outer_inv_range(phys_addr_t start, phys_addr_t end)
{ }
{ }
static inline void outer_clean_range(unsigned long start, unsigned long end)
static inline void outer_clean_range(phys_addr_t start, phys_addr_t end)
{ }
{ }
static inline void outer_flush_range(unsigned long start, unsigned long end)
static inline void outer_flush_range(phys_addr_t start, phys_addr_t end)
{ }
{ }
static inline void outer_flush_all(void) { }
static inline void outer_flush_all(void) { }
static inline void outer_inv_all(void) { }
static inline void outer_inv_all(void) { }
+2 −1
Original line number Original line Diff line number Diff line
@@ -301,6 +301,7 @@ extern pgd_t swapper_pg_dir[PTRS_PER_PGD];
#define pgd_present(pgd)	(1)
#define pgd_present(pgd)	(1)
#define pgd_clear(pgdp)		do { } while (0)
#define pgd_clear(pgdp)		do { } while (0)
#define set_pgd(pgd,pgdp)	do { } while (0)
#define set_pgd(pgd,pgdp)	do { } while (0)
#define set_pud(pud,pudp)	do { } while (0)




/* Find an entry in the second-level page table.. */
/* Find an entry in the second-level page table.. */
@@ -351,7 +352,7 @@ static inline pte_t *pmd_page_vaddr(pmd_t pmd)
#define pte_unmap(pte)			__pte_unmap(pte)
#define pte_unmap(pte)			__pte_unmap(pte)


#define pte_pfn(pte)		(pte_val(pte) >> PAGE_SHIFT)
#define pte_pfn(pte)		(pte_val(pte) >> PAGE_SHIFT)
#define pfn_pte(pfn,prot)	__pte(((pfn) << PAGE_SHIFT) | pgprot_val(prot))
#define pfn_pte(pfn,prot)	__pte(__pfn_to_phys(pfn) | pgprot_val(prot))


#define pte_page(pte)		pfn_to_page(pte_pfn(pte))
#define pte_page(pte)		pfn_to_page(pte_pfn(pte))
#define mk_pte(page,prot)	pfn_pte(page_to_pfn(page), prot)
#define mk_pte(page,prot)	pfn_pte(page_to_pfn(page), prot)
+1 −1
Original line number Original line Diff line number Diff line
@@ -195,7 +195,7 @@ static struct tagtable __tagtable_##fn __tag = { tag, fn }
#define NR_BANKS 8
#define NR_BANKS 8


struct membank {
struct membank {
	unsigned long start;
	phys_addr_t start;
	unsigned long size;
	unsigned long size;
	unsigned int highmem;
	unsigned int highmem;
};
};
Loading