Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 45207
b: refs/heads/master
c: d1398a6
h: refs/heads/master
i:
  45205: db418f7
  45203: 908bb67
  45199: 96cc56c
v: v3
  • Loading branch information
Linus Torvalds committed Jan 4, 2007
1 parent d602147 commit 8972775
Show file tree
Hide file tree
Showing 40 changed files with 372 additions and 204 deletions.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: 0b67d94659a72734584a40b5e113e9261f97ae8c
refs/heads/master: d1398a6ff503a849f3c123bc5f0fdff383a1b6ec
30 changes: 29 additions & 1 deletion trunk/Documentation/arm/Samsung-S3C24XX/Overview.txt
Original file line number Diff line number Diff line change
Expand Up @@ -76,6 +76,15 @@ Machines
A S3C2410 based PDA from Acer. There is a Wiki page at
http://handhelds.org/moin/moin.cgi/AcerN30Documentation .

AML M5900

American Microsystems' M5900

Nex Vision Nexcoder
Nex Vision Otom

Two machines by Nex Vision


Adding New Machines
-------------------
Expand Down Expand Up @@ -115,6 +124,10 @@ RTC

Support for the onboard RTC unit, including alarm function.

This has recently been upgraded to use the new RTC core,
and the module has been renamed to rtc-s3c to fit in with
the new rtc naming scheme.


Watchdog
--------
Expand All @@ -128,7 +141,7 @@ NAND

The current kernels now have support for the s3c2410 NAND
controller. If there are any problems the latest linux-mtd
CVS can be found from http://www.linux-mtd.infradead.org/
code can be found from http://www.linux-mtd.infradead.org/


Serial
Expand Down Expand Up @@ -168,6 +181,21 @@ Suspend to RAM
See Suspend.txt for more information.


SPI
---

SPI drivers are available for both the in-built hardware
(although there is no DMA support yet) and a generic
GPIO based solution.


LEDs
----

There is support for GPIO based LEDs via a platform driver
in the LED subsystem.


Platform Data
-------------

Expand Down
7 changes: 3 additions & 4 deletions trunk/MAINTAINERS
Original file line number Diff line number Diff line change
Expand Up @@ -1564,10 +1564,9 @@ T: git kernel.org:/pub/scm/linux/kernel/git/bart/ide-2.6.git
S: Maintained

IDE/ATAPI CDROM DRIVER
P: Jens Axboe
M: axboe@kernel.dk
L: linux-kernel@vger.kernel.org
W: http://www.kernel.dk
P: Alan Cox
M: alan@lxorguk.ukuu.org.uk
L: linux-ide@vger.kernel.org
S: Maintained

IDE/ATAPI FLOPPY DRIVERS
Expand Down
19 changes: 19 additions & 0 deletions trunk/arch/arm/mach-iop13xx/io.c
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,25 @@
#include <asm/hardware.h>
#include <asm/io.h>

void * __iomem __iop13xx_io(unsigned long io_addr)
{
void __iomem * io_virt;

switch (io_addr) {
case IOP13XX_PCIE_LOWER_IO_PA ... IOP13XX_PCIE_UPPER_IO_PA:
io_virt = (void *) IOP13XX_PCIE_IO_PHYS_TO_VIRT(io_addr);
break;
case IOP13XX_PCIX_LOWER_IO_PA ... IOP13XX_PCIX_UPPER_IO_PA:
io_virt = (void *) IOP13XX_PCIX_IO_PHYS_TO_VIRT(io_addr);
break;
default:
BUG();
}

return io_virt;
}
EXPORT_SYMBOL(__iop13xx_io);

void * __iomem __iop13xx_ioremap(unsigned long cookie, size_t size,
unsigned long flags)
{
Expand Down
4 changes: 3 additions & 1 deletion trunk/arch/arm/mach-pxa/generic.c
Original file line number Diff line number Diff line change
Expand Up @@ -76,7 +76,9 @@ unsigned long long sched_clock(void)
/*
* 96-bit math to perform tick * NSEC_PER_SEC / CLOCK_TICK_RATE for
* any value of CLOCK_TICK_RATE. Max value is in the 80 thousand
* years range which is nice, but with higher computation cost.
* years range and truncation to unsigned long long limits it to
* sched_clock's max range of ~584 years. This is nice but with
* higher computation cost.
*/
{
union {
Expand Down
8 changes: 4 additions & 4 deletions trunk/arch/arm/mach-pxa/time.c
Original file line number Diff line number Diff line change
Expand Up @@ -101,7 +101,7 @@ static struct irqaction pxa_timer_irq = {
.handler = pxa_timer_interrupt,
};

cycle_t pxa_get_cycles(void)
static cycle_t pxa_get_cycles(void)
{
return OSCR;
}
Expand Down Expand Up @@ -134,13 +134,13 @@ static void __init pxa_timer_init(void)
OSMR0 = OSCR + LATCH; /* set initial match */
local_irq_restore(flags);

/* on PXA OSCR runs continiously and is not written to, so we can use it
* as clock source directly.
/*
* OSCR runs continuously on PXA and is not written to,
* so we can use it as clock source directly.
*/
clocksource_pxa.mult =
clocksource_hz2mult(CLOCK_TICK_RATE, clocksource_pxa.shift);
clocksource_register(&clocksource_pxa);

}

#ifdef CONFIG_NO_IDLE_HZ
Expand Down
4 changes: 2 additions & 2 deletions trunk/arch/arm/mach-s3c2410/dma.c
Original file line number Diff line number Diff line change
Expand Up @@ -1053,11 +1053,11 @@ int s3c2410_dma_config(dmach_t channel,
if (chan == NULL)
return -EINVAL;

printk("Initial dcon is %08x\n", dcon);
pr_debug("%s: Initial dcon is %08x\n", __FUNCTION__, dcon);

dcon |= chan->dcon & dma_sel.dcon_mask;

printk("New dcon is %08x\n", dcon);
pr_debug("%s: New dcon is %08x\n", __FUNCTION__, dcon);

switch (xferunit) {
case 1:
Expand Down
6 changes: 6 additions & 0 deletions trunk/arch/arm/mm/copypage-v4mc.c
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,7 @@
#include <asm/page.h>
#include <asm/pgtable.h>
#include <asm/tlbflush.h>
#include <asm/cacheflush.h>

#include "mm.h"

Expand Down Expand Up @@ -69,6 +70,11 @@ mc_copy_user_page(void *from, void *to)

void v4_mc_copy_user_page(void *kto, const void *kfrom, unsigned long vaddr)
{
struct page *page = virt_to_page(kfrom);

if (test_and_clear_bit(PG_dcache_dirty, &page->flags))
__flush_dcache_page(page_mapping(page), page);

spin_lock(&minicache_lock);

set_pte_ext(TOP_PTE(0xffff8000), pfn_pte(__pa(kfrom) >> PAGE_SHIFT, minicache_pgprot), 0);
Expand Down
4 changes: 4 additions & 0 deletions trunk/arch/arm/mm/copypage-v6.c
Original file line number Diff line number Diff line change
Expand Up @@ -53,6 +53,10 @@ static void v6_copy_user_page_aliasing(void *kto, const void *kfrom, unsigned lo
{
unsigned int offset = CACHE_COLOUR(vaddr);
unsigned long from, to;
struct page *page = virt_to_page(kfrom);

if (test_and_clear_bit(PG_dcache_dirty, &page->flags))
__flush_dcache_page(page_mapping(page), page);

/*
* Discard data in the kernel mapping for the new page.
Expand Down
6 changes: 6 additions & 0 deletions trunk/arch/arm/mm/copypage-xscale.c
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,7 @@
#include <asm/page.h>
#include <asm/pgtable.h>
#include <asm/tlbflush.h>
#include <asm/cacheflush.h>

#include "mm.h"

Expand Down Expand Up @@ -91,6 +92,11 @@ mc_copy_user_page(void *from, void *to)

void xscale_mc_copy_user_page(void *kto, const void *kfrom, unsigned long vaddr)
{
struct page *page = virt_to_page(kfrom);

if (test_and_clear_bit(PG_dcache_dirty, &page->flags))
__flush_dcache_page(page_mapping(page), page);

spin_lock(&minicache_lock);

set_pte_ext(TOP_PTE(COPYPAGE_MINICACHE), pfn_pte(__pa(kfrom) >> PAGE_SHIFT, minicache_pgprot), 0);
Expand Down
15 changes: 15 additions & 0 deletions trunk/arch/arm/vfp/vfpmodule.c
Original file line number Diff line number Diff line change
Expand Up @@ -264,6 +264,18 @@ void VFP9_bounce(u32 trigger, u32 fpexc, struct pt_regs *regs)
vfp_raise_exceptions(exceptions, trigger, orig_fpscr, regs);
}

static void vfp_enable(void *unused)
{
u32 access = get_copro_access();

/*
* Enable full access to VFP (cp10 and cp11)
*/
set_copro_access(access | CPACC_FULL(10) | CPACC_FULL(11));
}

#include <linux/smp.h>

/*
* VFP support code initialisation.
*/
Expand All @@ -288,6 +300,7 @@ static int __init vfp_init(void)
* we just need to read the VFPSID register.
*/
vfpsid = fmrx(FPSID);
barrier();

printk(KERN_INFO "VFP support v0.3: ");
if (VFP_arch) {
Expand All @@ -301,6 +314,8 @@ static int __init vfp_init(void)
} else if (vfpsid & FPSID_NODOUBLE) {
printk("no double precision support\n");
} else {
smp_call_function(vfp_enable, NULL, 1, 1);

VFP_arch = (vfpsid & FPSID_ARCH_MASK) >> FPSID_ARCH_BIT; /* Extract the architecture version */
printk("implementor %02x architecture %d part %02x variant %x rev %x\n",
(vfpsid & FPSID_IMPLEMENTER_MASK) >> FPSID_IMPLEMENTER_BIT,
Expand Down
2 changes: 1 addition & 1 deletion trunk/arch/i386/boot/compressed/head.S
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@
#include <asm/page.h>
#include <asm/boot.h>

.section ".text.head"
.section ".text.head","ax",@progbits
.globl startup_32

startup_32:
Expand Down
10 changes: 6 additions & 4 deletions trunk/arch/i386/kernel/cpu/cpufreq/acpi-cpufreq.c
Original file line number Diff line number Diff line change
Expand Up @@ -373,8 +373,8 @@ static int acpi_cpufreq_target(struct cpufreq_policy *policy,
cpumask_t online_policy_cpus;
struct drv_cmd cmd;
unsigned int msr;
unsigned int next_state = 0;
unsigned int next_perf_state = 0;
unsigned int next_state = 0; /* Index into freq_table */
unsigned int next_perf_state = 0; /* Index into perf table */
unsigned int i;
int result = 0;

Expand Down Expand Up @@ -420,6 +420,7 @@ static int acpi_cpufreq_target(struct cpufreq_policy *policy,
msr =
(u32) perf->states[next_perf_state].
control & INTEL_MSR_RANGE;
cmd.val = get_cur_val(online_policy_cpus);
cmd.val = (cmd.val & ~INTEL_MSR_RANGE) | msr;
break;
case SYSTEM_IO_CAPABLE:
Expand All @@ -439,8 +440,8 @@ static int acpi_cpufreq_target(struct cpufreq_policy *policy,
else
cpu_set(policy->cpu, cmd.mask);

freqs.old = data->freq_table[perf->state].frequency;
freqs.new = data->freq_table[next_perf_state].frequency;
freqs.old = perf->states[perf->state].core_frequency * 1000;
freqs.new = data->freq_table[next_state].frequency;
for_each_cpu_mask(i, cmd.mask) {
freqs.cpu = i;
cpufreq_notify_transition(&freqs, CPUFREQ_PRECHANGE);
Expand Down Expand Up @@ -677,6 +678,7 @@ static int acpi_cpufreq_cpu_init(struct cpufreq_policy *policy)
valid_states++;
}
data->freq_table[valid_states].frequency = CPUFREQ_TABLE_END;
perf->state = 0;

result = cpufreq_frequency_table_cpuinfo(policy, data->freq_table);
if (result)
Expand Down
Loading

0 comments on commit 8972775

Please sign in to comment.