Commit 5466eb5d authored by Linus Torvalds's avatar Linus Torvalds

Merge master.kernel.org:/home/rmk/linux-2.6-arm

* master.kernel.org:/home/rmk/linux-2.6-arm:
  [ARM] 3362/1: [cleanup] - duplicate decleration of mem_fclk_21285
  [ARM] 3365/1: [cleanup] header for compat.c exported functions
  [ARM] 3364/1: [cleanup] warning fix - definitions for enable_hlt and disable_hlt
  [ARM] 3363/1: [cleanup] process.c - fix warnings
  [ARM] 3358/1: [S3C2410] add missing SPI DMA resources
  [ARM] 3357/1: enable frontlight on collie
  [ARM] Fix "thead" typo
parents 2d7f2ea9 43332989
...@@ -629,6 +629,22 @@ static int locomo_resume(struct platform_device *dev) ...@@ -629,6 +629,22 @@ static int locomo_resume(struct platform_device *dev)
} }
#endif #endif
#define LCM_ALC_EN 0x8000
void frontlight_set(struct locomo *lchip, int duty, int vr, int bpwf)
{
unsigned long flags;
spin_lock_irqsave(&lchip->lock, flags);
locomo_writel(bpwf, lchip->base + LOCOMO_FRONTLIGHT + LOCOMO_ALS);
udelay(100);
locomo_writel(duty, lchip->base + LOCOMO_FRONTLIGHT + LOCOMO_ALD);
locomo_writel(bpwf | LCM_ALC_EN, lchip->base + LOCOMO_FRONTLIGHT + LOCOMO_ALS);
spin_unlock_irqrestore(&lchip->lock, flags);
}
/** /**
* locomo_probe - probe for a single LoCoMo chip. * locomo_probe - probe for a single LoCoMo chip.
* @phys_addr: physical address of device. * @phys_addr: physical address of device.
...@@ -688,6 +704,11 @@ __locomo_probe(struct device *me, struct resource *mem, int irq) ...@@ -688,6 +704,11 @@ __locomo_probe(struct device *me, struct resource *mem, int irq)
/* FrontLight */ /* FrontLight */
locomo_writel(0, lchip->base + LOCOMO_FRONTLIGHT + LOCOMO_ALS); locomo_writel(0, lchip->base + LOCOMO_FRONTLIGHT + LOCOMO_ALS);
locomo_writel(0, lchip->base + LOCOMO_FRONTLIGHT + LOCOMO_ALD); locomo_writel(0, lchip->base + LOCOMO_FRONTLIGHT + LOCOMO_ALD);
/* Same constants can be used for collie and poodle
(depending on CONFIG options in original sharp code)? */
frontlight_set(lchip, 163, 0, 148);
/* Longtime timer */ /* Longtime timer */
locomo_writel(0, lchip->base + LOCOMO_LTINT); locomo_writel(0, lchip->base + LOCOMO_LTINT);
/* SPI */ /* SPI */
......
...@@ -27,6 +27,8 @@ ...@@ -27,6 +27,8 @@
#include <asm/mach/arch.h> #include <asm/mach/arch.h>
#include "compat.h"
/* /*
* Usage: * Usage:
* - do not go blindly adding fields, add them at the end * - do not go blindly adding fields, add them at the end
......
/*
* linux/arch/arm/kernel/compat.h
*
* Copyright (C) 2001 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.
*/
extern void convert_to_tag_list(struct tag *tags);
extern void squash_mem_tags(struct tag *tag);
...@@ -27,6 +27,7 @@ ...@@ -27,6 +27,7 @@
#include <linux/kallsyms.h> #include <linux/kallsyms.h>
#include <linux/init.h> #include <linux/init.h>
#include <linux/cpu.h> #include <linux/cpu.h>
#include <linux/elfcore.h>
#include <asm/leds.h> #include <asm/leds.h>
#include <asm/processor.h> #include <asm/processor.h>
...@@ -83,7 +84,7 @@ EXPORT_SYMBOL(pm_power_off); ...@@ -83,7 +84,7 @@ EXPORT_SYMBOL(pm_power_off);
* This is our default idle handler. We need to disable * This is our default idle handler. We need to disable
* interrupts here to ensure we don't miss a wakeup call. * interrupts here to ensure we don't miss a wakeup call.
*/ */
void default_idle(void) static void default_idle(void)
{ {
if (hlt_counter) if (hlt_counter)
cpu_relax(); cpu_relax();
......
...@@ -628,7 +628,7 @@ static int ptrace_setwmmxregs(struct task_struct *tsk, void __user *ufp) ...@@ -628,7 +628,7 @@ static int ptrace_setwmmxregs(struct task_struct *tsk, void __user *ufp)
if (!test_ti_thread_flag(thread, TIF_USING_IWMMXT)) if (!test_ti_thread_flag(thread, TIF_USING_IWMMXT))
return -EACCES; return -EACCES;
iwmmxt_task_release(thread); /* force a reload */ iwmmxt_task_release(thread); /* force a reload */
return copy_from_user(&thead->fpstate.iwmmxt, ufp, IWMMXT_SIZE) return copy_from_user(&thread->fpstate.iwmmxt, ufp, IWMMXT_SIZE)
? -EFAULT : 0; ? -EFAULT : 0;
} }
......
...@@ -37,6 +37,8 @@ ...@@ -37,6 +37,8 @@
#include <asm/mach/irq.h> #include <asm/mach/irq.h>
#include <asm/mach/time.h> #include <asm/mach/time.h>
#include "compat.h"
#ifndef MEM_SIZE #ifndef MEM_SIZE
#define MEM_SIZE (16*1024*1024) #define MEM_SIZE (16*1024*1024)
#endif #endif
...@@ -53,10 +55,7 @@ static int __init fpe_setup(char *line) ...@@ -53,10 +55,7 @@ static int __init fpe_setup(char *line)
__setup("fpe=", fpe_setup); __setup("fpe=", fpe_setup);
#endif #endif
extern unsigned int mem_fclk_21285;
extern void paging_init(struct meminfo *, struct machine_desc *desc); extern void paging_init(struct meminfo *, struct machine_desc *desc);
extern void convert_to_tag_list(struct tag *tags);
extern void squash_mem_tags(struct tag *tag);
extern void reboot_setup(char *str); extern void reboot_setup(char *str);
extern int root_mountflags; extern int root_mountflags;
extern void _stext, _text, _etext, __data_start, _edata, _end; extern void _stext, _text, _etext, __data_start, _edata, _end;
......
...@@ -334,11 +334,17 @@ static struct resource s3c_spi0_resource[] = { ...@@ -334,11 +334,17 @@ static struct resource s3c_spi0_resource[] = {
}; };
static u64 s3c_device_spi0_dmamask = 0xffffffffUL;
struct platform_device s3c_device_spi0 = { struct platform_device s3c_device_spi0 = {
.name = "s3c2410-spi", .name = "s3c2410-spi",
.id = 0, .id = 0,
.num_resources = ARRAY_SIZE(s3c_spi0_resource), .num_resources = ARRAY_SIZE(s3c_spi0_resource),
.resource = s3c_spi0_resource, .resource = s3c_spi0_resource,
.dev = {
.dma_mask = &s3c_device_spi0_dmamask,
.coherent_dma_mask = 0xffffffffUL
}
}; };
EXPORT_SYMBOL(s3c_device_spi0); EXPORT_SYMBOL(s3c_device_spi0);
...@@ -359,11 +365,17 @@ static struct resource s3c_spi1_resource[] = { ...@@ -359,11 +365,17 @@ static struct resource s3c_spi1_resource[] = {
}; };
static u64 s3c_device_spi1_dmamask = 0xffffffffUL;
struct platform_device s3c_device_spi1 = { struct platform_device s3c_device_spi1 = {
.name = "s3c2410-spi", .name = "s3c2410-spi",
.id = 1, .id = 1,
.num_resources = ARRAY_SIZE(s3c_spi1_resource), .num_resources = ARRAY_SIZE(s3c_spi1_resource),
.resource = s3c_spi1_resource, .resource = s3c_spi1_resource,
.dev = {
.dma_mask = &s3c_device_spi1_dmamask,
.coherent_dma_mask = 0xffffffffUL
}
}; };
EXPORT_SYMBOL(s3c_device_spi1); EXPORT_SYMBOL(s3c_device_spi1);
......
...@@ -415,6 +415,9 @@ static inline unsigned long __xchg(unsigned long x, volatile void *ptr, int size ...@@ -415,6 +415,9 @@ static inline unsigned long __xchg(unsigned long x, volatile void *ptr, int size
return ret; return ret;
} }
extern void disable_hlt(void);
extern void enable_hlt(void);
#endif /* __ASSEMBLY__ */ #endif /* __ASSEMBLY__ */
#define arch_align_stack(x) (x) #define arch_align_stack(x) (x)
......
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