Merge master.kernel.org:/home/rmk/linux-2.6-arm
This commit is contained in:
Коммит
f62378fcfc
|
@ -256,5 +256,5 @@ asmlinkage void ofw_init(ofw_handle_t o, int *nomr, int *pointer)
|
|||
temp[11]='\0';
|
||||
mem_len = OF_getproplen(o,phandle, temp);
|
||||
OF_getprop(o,phandle, temp, buffer, mem_len);
|
||||
(unsigned char) pointer[32] = ((unsigned char *) buffer)[mem_len-2];
|
||||
* ((unsigned char *) &pointer[32]) = ((unsigned char *) buffer)[mem_len-2];
|
||||
}
|
||||
|
|
|
@ -624,6 +624,9 @@ void __attribute__((noreturn)) __bug(const char *file, int line, void *data)
|
|||
printk(" - extra data = %p", data);
|
||||
printk("\n");
|
||||
*(int *)0 = 0;
|
||||
|
||||
/* Avoid "noreturn function does return" */
|
||||
for (;;);
|
||||
}
|
||||
EXPORT_SYMBOL(__bug);
|
||||
|
||||
|
|
|
@ -23,20 +23,20 @@ SECTIONS
|
|||
*(.init.text)
|
||||
_einittext = .;
|
||||
__proc_info_begin = .;
|
||||
*(.proc.info)
|
||||
*(.proc.info.init)
|
||||
__proc_info_end = .;
|
||||
__arch_info_begin = .;
|
||||
*(.arch.info)
|
||||
*(.arch.info.init)
|
||||
__arch_info_end = .;
|
||||
__tagtable_begin = .;
|
||||
*(.taglist)
|
||||
*(.taglist.init)
|
||||
__tagtable_end = .;
|
||||
. = ALIGN(16);
|
||||
__setup_start = .;
|
||||
*(.init.setup)
|
||||
__setup_end = .;
|
||||
__early_begin = .;
|
||||
*(__early_param)
|
||||
*(.early_param.init)
|
||||
__early_end = .;
|
||||
__initcall_start = .;
|
||||
*(.initcall1.init)
|
||||
|
|
|
@ -12,6 +12,7 @@
|
|||
*
|
||||
* Modifications:
|
||||
* 02-May-2005 BJD Copied from mach-bast.c
|
||||
* 20-Sep-2005 BJD Added static to non-exported items
|
||||
*/
|
||||
|
||||
#include <linux/kernel.h>
|
||||
|
@ -232,7 +233,7 @@ static struct s3c24xx_board anubis_board __initdata = {
|
|||
.clocks_count = ARRAY_SIZE(anubis_clocks)
|
||||
};
|
||||
|
||||
void __init anubis_map_io(void)
|
||||
static void __init anubis_map_io(void)
|
||||
{
|
||||
/* initialise the clocks */
|
||||
|
||||
|
|
|
@ -31,6 +31,7 @@
|
|||
* 17-Jul-2005 BJD Changed to platform device for SuperIO 16550s
|
||||
* 25-Jul-2005 BJD Removed ASIX static mappings
|
||||
* 27-Jul-2005 BJD Ensure maximum frequency of i2c bus
|
||||
* 20-Sep-2005 BJD Added static to non-exported items
|
||||
*/
|
||||
|
||||
#include <linux/kernel.h>
|
||||
|
@ -428,7 +429,7 @@ static struct s3c24xx_board bast_board __initdata = {
|
|||
.clocks_count = ARRAY_SIZE(bast_clocks)
|
||||
};
|
||||
|
||||
void __init bast_map_io(void)
|
||||
static void __init bast_map_io(void)
|
||||
{
|
||||
/* initialise the clocks */
|
||||
|
||||
|
|
|
@ -24,6 +24,7 @@
|
|||
* 10-Jan-2005 BJD Removed include of s3c2410.h
|
||||
* 14-Jan-2005 BJD Added clock init
|
||||
* 10-Mar-2005 LCVR Changed S3C2410_VA to S3C24XX_VA
|
||||
* 20-Sep-2005 BJD Added static to non-exported items
|
||||
*/
|
||||
|
||||
#include <linux/kernel.h>
|
||||
|
@ -147,7 +148,7 @@ static struct s3c24xx_board h1940_board __initdata = {
|
|||
.devices_count = ARRAY_SIZE(h1940_devices)
|
||||
};
|
||||
|
||||
void __init h1940_map_io(void)
|
||||
static void __init h1940_map_io(void)
|
||||
{
|
||||
s3c24xx_init_io(h1940_iodesc, ARRAY_SIZE(h1940_iodesc));
|
||||
s3c24xx_init_clocks(0);
|
||||
|
@ -155,13 +156,13 @@ void __init h1940_map_io(void)
|
|||
s3c24xx_set_board(&h1940_board);
|
||||
}
|
||||
|
||||
void __init h1940_init_irq(void)
|
||||
static void __init h1940_init_irq(void)
|
||||
{
|
||||
s3c24xx_init_irq();
|
||||
|
||||
}
|
||||
|
||||
void __init h1940_init(void)
|
||||
static void __init h1940_init(void)
|
||||
{
|
||||
set_s3c2410fb_info(&h1940_lcdcfg);
|
||||
}
|
||||
|
|
|
@ -97,7 +97,7 @@ static struct s3c24xx_board n30_board __initdata = {
|
|||
.devices_count = ARRAY_SIZE(n30_devices)
|
||||
};
|
||||
|
||||
void __init n30_map_io(void)
|
||||
static void __init n30_map_io(void)
|
||||
{
|
||||
s3c24xx_init_io(n30_iodesc, ARRAY_SIZE(n30_iodesc));
|
||||
s3c24xx_init_clocks(0);
|
||||
|
@ -105,14 +105,14 @@ void __init n30_map_io(void)
|
|||
s3c24xx_set_board(&n30_board);
|
||||
}
|
||||
|
||||
void __init n30_init_irq(void)
|
||||
static void __init n30_init_irq(void)
|
||||
{
|
||||
s3c24xx_init_irq();
|
||||
}
|
||||
|
||||
/* GPB3 is the line that controls the pull-up for the USB D+ line */
|
||||
|
||||
void __init n30_init(void)
|
||||
static void __init n30_init(void)
|
||||
{
|
||||
s3c_device_i2c.dev.platform_data = &n30_i2ccfg;
|
||||
|
||||
|
|
|
@ -136,7 +136,7 @@ static void __init nexcoder_sensorboard_init(void)
|
|||
s3c2410_gpio_cfgpin(S3C2410_GPF2, S3C2410_GPF2_OUTP); // CAM_GPIO6 => CAM_PWRDN
|
||||
}
|
||||
|
||||
void __init nexcoder_map_io(void)
|
||||
static void __init nexcoder_map_io(void)
|
||||
{
|
||||
s3c24xx_init_io(nexcoder_iodesc, ARRAY_SIZE(nexcoder_iodesc));
|
||||
s3c24xx_init_clocks(0);
|
||||
|
|
|
@ -105,7 +105,7 @@ static struct s3c24xx_board otom11_board __initdata = {
|
|||
};
|
||||
|
||||
|
||||
void __init otom11_map_io(void)
|
||||
static void __init otom11_map_io(void)
|
||||
{
|
||||
s3c24xx_init_io(otom11_iodesc, ARRAY_SIZE(otom11_iodesc));
|
||||
s3c24xx_init_clocks(0);
|
||||
|
|
|
@ -16,6 +16,7 @@
|
|||
* 14-Jan-2005 BJD Added new clock init
|
||||
* 10-Mar-2005 LCVR Changed S3C2410_VA to S3C24XX_VA
|
||||
* 14-Mar-2005 BJD Fixed __iomem warnings
|
||||
* 20-Sep-2005 BJD Added static to non-exported items
|
||||
*/
|
||||
|
||||
#include <linux/kernel.h>
|
||||
|
@ -108,7 +109,7 @@ static struct s3c24xx_board rx3715_board __initdata = {
|
|||
.devices_count = ARRAY_SIZE(rx3715_devices)
|
||||
};
|
||||
|
||||
void __init rx3715_map_io(void)
|
||||
static void __init rx3715_map_io(void)
|
||||
{
|
||||
s3c24xx_init_io(rx3715_iodesc, ARRAY_SIZE(rx3715_iodesc));
|
||||
s3c24xx_init_clocks(16934000);
|
||||
|
@ -116,7 +117,7 @@ void __init rx3715_map_io(void)
|
|||
s3c24xx_set_board(&rx3715_board);
|
||||
}
|
||||
|
||||
void __init rx3715_init_irq(void)
|
||||
static void __init rx3715_init_irq(void)
|
||||
{
|
||||
s3c24xx_init_irq();
|
||||
}
|
||||
|
|
|
@ -28,6 +28,7 @@
|
|||
* Ben Dooks <ben@simtec.co.uk>
|
||||
*
|
||||
* 10-Mar-2005 LCVR Changed S3C2410_VA to S3C24XX_VA
|
||||
* 20-Sep-2005 BJD Added static to non-exported items
|
||||
*
|
||||
***********************************************************************/
|
||||
|
||||
|
@ -97,7 +98,7 @@ static struct s3c24xx_board smdk2410_board __initdata = {
|
|||
.devices_count = ARRAY_SIZE(smdk2410_devices)
|
||||
};
|
||||
|
||||
void __init smdk2410_map_io(void)
|
||||
static void __init smdk2410_map_io(void)
|
||||
{
|
||||
s3c24xx_init_io(smdk2410_iodesc, ARRAY_SIZE(smdk2410_iodesc));
|
||||
s3c24xx_init_clocks(0);
|
||||
|
@ -105,7 +106,7 @@ void __init smdk2410_map_io(void)
|
|||
s3c24xx_set_board(&smdk2410_board);
|
||||
}
|
||||
|
||||
void __init smdk2410_init_irq(void)
|
||||
static void __init smdk2410_init_irq(void)
|
||||
{
|
||||
s3c24xx_init_irq();
|
||||
}
|
||||
|
|
|
@ -18,6 +18,7 @@
|
|||
* 22-Feb-2005 BJD Updated for 2.6.11-rc5 relesa
|
||||
* 10-Mar-2005 LCVR Replaced S3C2410_VA by S3C24XX_VA
|
||||
* 14-Mar-2005 BJD void __iomem fixes
|
||||
* 20-Sep-2005 BJD Added static to non-exported items
|
||||
*/
|
||||
|
||||
#include <linux/kernel.h>
|
||||
|
@ -98,7 +99,7 @@ static struct s3c24xx_board smdk2440_board __initdata = {
|
|||
.devices_count = ARRAY_SIZE(smdk2440_devices)
|
||||
};
|
||||
|
||||
void __init smdk2440_map_io(void)
|
||||
static void __init smdk2440_map_io(void)
|
||||
{
|
||||
s3c24xx_init_io(smdk2440_iodesc, ARRAY_SIZE(smdk2440_iodesc));
|
||||
s3c24xx_init_clocks(16934400);
|
||||
|
@ -106,7 +107,7 @@ void __init smdk2440_map_io(void)
|
|||
s3c24xx_set_board(&smdk2440_board);
|
||||
}
|
||||
|
||||
void __init smdk2440_machine_init(void)
|
||||
static void __init smdk2440_machine_init(void)
|
||||
{
|
||||
/* Configure the LEDs (even if we have no LED support)*/
|
||||
|
||||
|
|
|
@ -28,6 +28,7 @@
|
|||
* 10-Mar-2005 LCVR Changed S3C2410_VA to S3C24XX_VA
|
||||
* 14-Mar-2006 BJD void __iomem fixes
|
||||
* 22-Jun-2006 BJD Added DM9000 platform information
|
||||
* 20-Sep-2005 BJD Added static to non-exported items
|
||||
*/
|
||||
|
||||
#include <linux/kernel.h>
|
||||
|
@ -347,7 +348,7 @@ static void vr1000_power_off(void)
|
|||
s3c2410_gpio_setpin(S3C2410_GPB9, 1);
|
||||
}
|
||||
|
||||
void __init vr1000_map_io(void)
|
||||
static void __init vr1000_map_io(void)
|
||||
{
|
||||
/* initialise clock sources */
|
||||
|
||||
|
|
|
@ -233,7 +233,17 @@ do_page_fault(unsigned long addr, unsigned int fsr, struct pt_regs *regs)
|
|||
if (in_interrupt() || !mm)
|
||||
goto no_context;
|
||||
|
||||
down_read(&mm->mmap_sem);
|
||||
/*
|
||||
* As per x86, we may deadlock here. However, since the kernel only
|
||||
* validly references user space from well defined areas of the code,
|
||||
* we can bug out early if this is from code which shouldn't.
|
||||
*/
|
||||
if (!down_read_trylock(&mm->mmap_sem)) {
|
||||
if (!user_mode(regs) && !search_exception_tables(regs->ARM_pc))
|
||||
goto no_context;
|
||||
down_read(&mm->mmap_sem);
|
||||
}
|
||||
|
||||
fault = __do_page_fault(mm, addr, fsr, tsk);
|
||||
up_read(&mm->mmap_sem);
|
||||
|
||||
|
|
|
@ -509,7 +509,7 @@ cpu_arm1020_name:
|
|||
|
||||
.align
|
||||
|
||||
.section ".proc.info", #alloc, #execinstr
|
||||
.section ".proc.info.init", #alloc, #execinstr
|
||||
|
||||
.type __arm1020_proc_info,#object
|
||||
__arm1020_proc_info:
|
||||
|
|
|
@ -491,7 +491,7 @@ cpu_arm1020e_name:
|
|||
|
||||
.align
|
||||
|
||||
.section ".proc.info", #alloc, #execinstr
|
||||
.section ".proc.info.init", #alloc, #execinstr
|
||||
|
||||
.type __arm1020e_proc_info,#object
|
||||
__arm1020e_proc_info:
|
||||
|
|
|
@ -473,7 +473,7 @@ cpu_arm1022_name:
|
|||
|
||||
.align
|
||||
|
||||
.section ".proc.info", #alloc, #execinstr
|
||||
.section ".proc.info.init", #alloc, #execinstr
|
||||
|
||||
.type __arm1022_proc_info,#object
|
||||
__arm1022_proc_info:
|
||||
|
|
|
@ -469,7 +469,7 @@ cpu_arm1026_name:
|
|||
|
||||
.align
|
||||
|
||||
.section ".proc.info", #alloc, #execinstr
|
||||
.section ".proc.info.init", #alloc, #execinstr
|
||||
|
||||
.type __arm1026_proc_info,#object
|
||||
__arm1026_proc_info:
|
||||
|
|
|
@ -332,7 +332,7 @@ cpu_arm710_name:
|
|||
|
||||
.align
|
||||
|
||||
.section ".proc.info", #alloc, #execinstr
|
||||
.section ".proc.info.init", #alloc, #execinstr
|
||||
|
||||
.type __arm6_proc_info, #object
|
||||
__arm6_proc_info:
|
||||
|
|
|
@ -222,7 +222,7 @@ cpu_arm720_name:
|
|||
* See linux/include/asm-arm/procinfo.h for a definition of this structure.
|
||||
*/
|
||||
|
||||
.section ".proc.info", #alloc, #execinstr
|
||||
.section ".proc.info.init", #alloc, #execinstr
|
||||
|
||||
.type __arm710_proc_info, #object
|
||||
__arm710_proc_info:
|
||||
|
|
|
@ -452,7 +452,7 @@ cpu_arm920_name:
|
|||
|
||||
.align
|
||||
|
||||
.section ".proc.info", #alloc, #execinstr
|
||||
.section ".proc.info.init", #alloc, #execinstr
|
||||
|
||||
.type __arm920_proc_info,#object
|
||||
__arm920_proc_info:
|
||||
|
|
|
@ -456,7 +456,7 @@ cpu_arm922_name:
|
|||
|
||||
.align
|
||||
|
||||
.section ".proc.info", #alloc, #execinstr
|
||||
.section ".proc.info.init", #alloc, #execinstr
|
||||
|
||||
.type __arm922_proc_info,#object
|
||||
__arm922_proc_info:
|
||||
|
|
|
@ -521,7 +521,7 @@ cpu_arm925_name:
|
|||
|
||||
.align
|
||||
|
||||
.section ".proc.info", #alloc, #execinstr
|
||||
.section ".proc.info.init", #alloc, #execinstr
|
||||
|
||||
.type __arm925_proc_info,#object
|
||||
__arm925_proc_info:
|
||||
|
|
|
@ -471,7 +471,7 @@ cpu_arm926_name:
|
|||
|
||||
.align
|
||||
|
||||
.section ".proc.info", #alloc, #execinstr
|
||||
.section ".proc.info.init", #alloc, #execinstr
|
||||
|
||||
.type __arm926_proc_info,#object
|
||||
__arm926_proc_info:
|
||||
|
|
|
@ -249,7 +249,7 @@ cpu_sa110_name:
|
|||
|
||||
.align
|
||||
|
||||
.section ".proc.info", #alloc, #execinstr
|
||||
.section ".proc.info.init", #alloc, #execinstr
|
||||
|
||||
.type __sa110_proc_info,#object
|
||||
__sa110_proc_info:
|
||||
|
|
|
@ -280,7 +280,7 @@ cpu_sa1110_name:
|
|||
|
||||
.align
|
||||
|
||||
.section ".proc.info", #alloc, #execinstr
|
||||
.section ".proc.info.init", #alloc, #execinstr
|
||||
|
||||
.type __sa1100_proc_info,#object
|
||||
__sa1100_proc_info:
|
||||
|
|
|
@ -240,7 +240,7 @@ cpu_elf_name:
|
|||
.size cpu_elf_name, . - cpu_elf_name
|
||||
.align
|
||||
|
||||
.section ".proc.info", #alloc, #execinstr
|
||||
.section ".proc.info.init", #alloc, #execinstr
|
||||
|
||||
/*
|
||||
* Match any ARMv6 processor core.
|
||||
|
|
|
@ -578,7 +578,7 @@ cpu_pxa270_name:
|
|||
|
||||
.align
|
||||
|
||||
.section ".proc.info", #alloc, #execinstr
|
||||
.section ".proc.info.init", #alloc, #execinstr
|
||||
|
||||
.type __80200_proc_info,#object
|
||||
__80200_proc_info:
|
||||
|
|
|
@ -23,12 +23,13 @@ static struct i2c_driver pcf8583_driver;
|
|||
|
||||
static unsigned short ignore[] = { I2C_CLIENT_END };
|
||||
static unsigned short normal_addr[] = { 0x50, I2C_CLIENT_END };
|
||||
static unsigned short *forces[] = { NULL };
|
||||
|
||||
static struct i2c_client_address_data addr_data = {
|
||||
.normal_i2c = normal_addr,
|
||||
.probe = ignore,
|
||||
.ignore = ignore,
|
||||
.force = ignore,
|
||||
.forces = forces,
|
||||
};
|
||||
|
||||
#define DAT(x) ((unsigned int)(x->dev.driver_data))
|
||||
|
|
|
@ -50,7 +50,7 @@ struct machine_desc {
|
|||
*/
|
||||
#define MACHINE_START(_type,_name) \
|
||||
const struct machine_desc __mach_desc_##_type \
|
||||
__attribute__((__section__(".arch.info"))) = { \
|
||||
__attribute__((__section__(".arch.info.init"))) = { \
|
||||
.nr = MACH_TYPE_##_type, \
|
||||
.name = _name,
|
||||
|
||||
|
|
|
@ -171,7 +171,7 @@ struct tagtable {
|
|||
int (*parse)(const struct tag *);
|
||||
};
|
||||
|
||||
#define __tag __attribute_used__ __attribute__((__section__(".taglist")))
|
||||
#define __tag __attribute_used__ __attribute__((__section__(".taglist.init")))
|
||||
#define __tagtable(tag, fn) \
|
||||
static struct tagtable __tagtable_##fn __tag = { tag, fn }
|
||||
|
||||
|
@ -213,6 +213,6 @@ struct early_params {
|
|||
|
||||
#define __early_param(name,fn) \
|
||||
static struct early_params __early_##fn __attribute_used__ \
|
||||
__attribute__((__section__("__early_param"))) = { name, fn }
|
||||
__attribute__((__section__(".early_param.init"))) = { name, fn }
|
||||
|
||||
#endif
|
||||
|
|
Загрузка…
Ссылка в новой задаче