2005-04-16 22:20:36 +00:00
|
|
|
/*
|
2008-08-02 09:55:55 +00:00
|
|
|
* arch/arm/include/asm/mach/arch.h
|
2005-04-16 22:20:36 +00:00
|
|
|
*
|
|
|
|
* Copyright (C) 2000 Russell King
|
|
|
|
*
|
|
|
|
* 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 __ASSEMBLY__
|
|
|
|
|
|
|
|
struct tag;
|
|
|
|
struct meminfo;
|
|
|
|
struct sys_timer;
|
2011-11-09 18:13:43 +00:00
|
|
|
struct pt_regs;
|
2005-04-16 22:20:36 +00:00
|
|
|
|
|
|
|
struct machine_desc {
|
|
|
|
unsigned int nr; /* architecture number */
|
|
|
|
const char *name; /* architecture name */
|
2011-07-06 02:38:10 +00:00
|
|
|
unsigned long atag_offset; /* tagged list (relative) */
|
2011-12-20 21:56:45 +00:00
|
|
|
const char *const *dt_compat; /* array of device tree
|
2011-04-28 20:27:21 +00:00
|
|
|
* 'compatible' strings */
|
2005-04-16 22:20:36 +00:00
|
|
|
|
2010-10-15 02:37:52 +00:00
|
|
|
unsigned int nr_irqs; /* number of IRQs */
|
|
|
|
|
2011-07-06 02:28:08 +00:00
|
|
|
#ifdef CONFIG_ZONE_DMA
|
|
|
|
unsigned long dma_zone_size; /* size of DMA-able area */
|
|
|
|
#endif
|
|
|
|
|
2005-04-16 22:20:36 +00:00
|
|
|
unsigned int video_start; /* start of video RAM */
|
|
|
|
unsigned int video_end; /* end of video RAM */
|
|
|
|
|
2011-11-01 14:27:33 +00:00
|
|
|
unsigned char reserve_lp0 :1; /* never has lp0 */
|
|
|
|
unsigned char reserve_lp1 :1; /* never has lp1 */
|
|
|
|
unsigned char reserve_lp2 :1; /* never has lp2 */
|
|
|
|
char restart_mode; /* default restart mode */
|
ARM: platform fixups: remove mdesc argument to fixup function
Get rid of the mdesc pointer in the fixup function call. No one uses
the mdesc pointer, it shouldn't be modified anyway, and we can't wrap
it, so let's remove it.
Platform files found by:
$ regexp=$(git grep -h '\.fixup.*=' arch/arm |
sed 's!.*= *\([^,]*\),* *!\1!' | sort -u |
tr '\n' '|' | sed 's,|$,,;s,|,\\|,g')
$ git grep $regexp arch/arm
Acked-by: Nicolas Pitre <nicolas.pitre@linaro.org>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2010-12-20 10:37:50 +00:00
|
|
|
void (*fixup)(struct tag *, char **,
|
2005-04-16 22:20:36 +00:00
|
|
|
struct meminfo *);
|
2010-05-22 17:18:57 +00:00
|
|
|
void (*reserve)(void);/* reserve mem blocks */
|
2005-04-16 22:20:36 +00:00
|
|
|
void (*map_io)(void);/* IO mapping function */
|
2010-12-16 13:49:34 +00:00
|
|
|
void (*init_early)(void);
|
2005-04-16 22:20:36 +00:00
|
|
|
void (*init_irq)(void);
|
|
|
|
struct sys_timer *timer; /* system tick timer */
|
|
|
|
void (*init_machine)(void);
|
2012-04-25 14:24:44 +00:00
|
|
|
void (*init_late)(void);
|
2010-12-13 08:42:34 +00:00
|
|
|
#ifdef CONFIG_MULTI_IRQ_HANDLER
|
|
|
|
void (*handle_irq)(struct pt_regs *);
|
|
|
|
#endif
|
2011-11-04 15:05:24 +00:00
|
|
|
void (*restart)(char, const char *);
|
2005-04-16 22:20:36 +00:00
|
|
|
};
|
|
|
|
|
2010-12-20 10:18:36 +00:00
|
|
|
/*
|
|
|
|
* Current machine - only accessible during boot.
|
|
|
|
*/
|
|
|
|
extern struct machine_desc *machine_desc;
|
|
|
|
|
2011-04-28 20:27:21 +00:00
|
|
|
/*
|
|
|
|
* Machine type table - also only accessible during boot
|
|
|
|
*/
|
|
|
|
extern struct machine_desc __arch_info_begin[], __arch_info_end[];
|
|
|
|
#define for_each_machine_desc(p) \
|
|
|
|
for (p = __arch_info_begin; p < __arch_info_end; p++)
|
|
|
|
|
2005-04-16 22:20:36 +00:00
|
|
|
/*
|
|
|
|
* Set of macros to define architecture features. This is built into
|
|
|
|
* a table by the linker.
|
|
|
|
*/
|
2005-10-28 13:29:43 +00:00
|
|
|
#define MACHINE_START(_type,_name) \
|
|
|
|
static const struct machine_desc __mach_desc_##_type \
|
2007-05-11 23:18:55 +00:00
|
|
|
__used \
|
2005-09-20 15:45:20 +00:00
|
|
|
__attribute__((__section__(".arch.info.init"))) = { \
|
2005-10-28 13:29:43 +00:00
|
|
|
.nr = MACH_TYPE_##_type, \
|
2005-04-16 22:20:36 +00:00
|
|
|
.name = _name,
|
|
|
|
|
|
|
|
#define MACHINE_END \
|
|
|
|
};
|
|
|
|
|
2011-07-25 15:52:11 +00:00
|
|
|
#define DT_MACHINE_START(_name, _namestr) \
|
|
|
|
static const struct machine_desc __mach_desc_##_name \
|
|
|
|
__used \
|
|
|
|
__attribute__((__section__(".arch.info.init"))) = { \
|
|
|
|
.nr = ~0, \
|
|
|
|
.name = _namestr,
|
|
|
|
|
2005-04-16 22:20:36 +00:00
|
|
|
#endif
|