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

Commit 50b88c46 authored by Linus Torvalds's avatar Linus Torvalds
Browse files

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

* master.kernel.org:/home/rmk/linux-2.6-arm: (21 commits)
  ARM: Fix ioremap_cached()/ioremap_wc() for SMP platforms
  ARM: 6043/1: AT91 slow-clock resume: Don't wait for a disabled PLL to lock
  ARM: 6031/1: fix Thumb-2 decompressor
  ARM: 6029/1: ep93xx: gpio.c: local functions should be static
  ARM: 6028/1: ARM: add MAINTAINERS for U300
  ARM: 6024/1: bcmring: fix missing down on semaphore in dma.c
  MXC: mach_armadillo5x0: Add USB Host support.
  ARM mach-mx3: duplicated include
  ARM mach-mx3: duplicated include
  imx31: add watchdog device on litekit board.
  imx3: Add watchdog platform device support
  MXC: mach-mx31_3ds: add support for freescale mc13783 power management device.
  MXC: mach-mx31_3ds: Add SPI1 device support.
  MXC: mach-mx31_3ds: Add support for on board NAND Flash.
  MXC: mach-mx31_3ds: Update variable names over recent mach name modification.
  imx31: fix parent clock for rtc
  i.MX51: remove NFC AXI static mapping
  i.MX51: determine silicon revision dynamically
  i.MX51: map TZIC dynamically
  i.MX51: Use correct clock for gpt
  ...
parents d6cf853d 85b3cce8
Loading
Loading
Loading
Loading
+10 −0
Original line number Original line Diff line number Diff line
@@ -971,6 +971,16 @@ L: linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
W:	http://www.mcuos.com
W:	http://www.mcuos.com
S:	Maintained
S:	Maintained


ARM/U300 MACHINE SUPPORT
M:	Linus Walleij <linus.walleij@stericsson.com>
L:	linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
S:	Supported
F:	arch/arm/mach-u300/
F:	drivers/i2c/busses/i2c-stu300.c
F:	drivers/rtc/rtc-coh901331.c
F:	drivers/watchdog/coh901327_wdt.c
F:	drivers/dma/coh901318*

ARM/U8500 ARM ARCHITECTURE
ARM/U8500 ARM ARCHITECTURE
M:	Srinidhi Kasagar <srinidhi.kasagar@stericsson.com>
M:	Srinidhi Kasagar <srinidhi.kasagar@stericsson.com>
L:	linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
L:	linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
+1 −1
Original line number Original line Diff line number Diff line
@@ -172,7 +172,7 @@ not_angel:
		adr	r0, LC0
		adr	r0, LC0
 ARM(		ldmia	r0, {r1, r2, r3, r4, r5, r6, r11, ip, sp})
 ARM(		ldmia	r0, {r1, r2, r3, r4, r5, r6, r11, ip, sp})
 THUMB(		ldmia	r0, {r1, r2, r3, r4, r5, r6, r11, ip}	)
 THUMB(		ldmia	r0, {r1, r2, r3, r4, r5, r6, r11, ip}	)
 THUMB(		ldr	sp, [r0, #28]				)
 THUMB(		ldr	sp, [r0, #32]				)
		subs	r0, r0, r1		@ calculate the delta offset
		subs	r0, r0, r1		@ calculate the delta offset


						@ if delta is zero, we are
						@ if delta is zero, we are
+12 −0
Original line number Original line Diff line number Diff line
@@ -205,13 +205,25 @@ ENTRY(at91_slow_clock)
	ldr	r3, .saved_pllbr
	ldr	r3, .saved_pllbr
	str	r3, [r1, #(AT91_CKGR_PLLBR - AT91_PMC)]
	str	r3, [r1, #(AT91_CKGR_PLLBR - AT91_PMC)]


	tst	r3, #(AT91_PMC_MUL &  0xff0000)
	bne	1f
	tst	r3, #(AT91_PMC_MUL & ~0xff0000)
	beq	2f
1:
	wait_pllblock
	wait_pllblock
2:


	/* Restore PLLA setting */
	/* Restore PLLA setting */
	ldr	r3, .saved_pllar
	ldr	r3, .saved_pllar
	str	r3, [r1, #(AT91_CKGR_PLLAR - AT91_PMC)]
	str	r3, [r1, #(AT91_CKGR_PLLAR - AT91_PMC)]


	tst	r3, #(AT91_PMC_MUL &  0xff0000)
	bne	3f
	tst	r3, #(AT91_PMC_MUL & ~0xff0000)
	beq	4f
3:
	wait_pllalock
	wait_pllalock
4:


#ifdef SLOWDOWN_MASTER_CLOCK
#ifdef SLOWDOWN_MASTER_CLOCK
	/*
	/*
+10 −3
Original line number Original line Diff line number Diff line
@@ -2221,11 +2221,15 @@ EXPORT_SYMBOL(dma_map_create_descriptor_ring);
int dma_unmap(DMA_MemMap_t *memMap,	/* Stores state information about the map */
int dma_unmap(DMA_MemMap_t *memMap,	/* Stores state information about the map */
	      int dirtied	/* non-zero if any of the pages were modified */
	      int dirtied	/* non-zero if any of the pages were modified */
    ) {
    ) {

	int rc = 0;
	int regionIdx;
	int regionIdx;
	int segmentIdx;
	int segmentIdx;
	DMA_Region_t *region;
	DMA_Region_t *region;
	DMA_Segment_t *segment;
	DMA_Segment_t *segment;


	down(&memMap->lock);

	for (regionIdx = 0; regionIdx < memMap->numRegionsUsed; regionIdx++) {
	for (regionIdx = 0; regionIdx < memMap->numRegionsUsed; regionIdx++) {
		region = &memMap->region[regionIdx];
		region = &memMap->region[regionIdx];


@@ -2239,7 +2243,8 @@ int dma_unmap(DMA_MemMap_t *memMap, /* Stores state information about the map */
					printk(KERN_ERR
					printk(KERN_ERR
					       "%s: vmalloc'd pages are not yet supported\n",
					       "%s: vmalloc'd pages are not yet supported\n",
					       __func__);
					       __func__);
					return -EINVAL;
					rc = -EINVAL;
					goto out;
				}
				}


			case DMA_MEM_TYPE_KMALLOC:
			case DMA_MEM_TYPE_KMALLOC:
@@ -2276,7 +2281,8 @@ int dma_unmap(DMA_MemMap_t *memMap, /* Stores state information about the map */
					printk(KERN_ERR
					printk(KERN_ERR
					       "%s: Unsupported memory type: %d\n",
					       "%s: Unsupported memory type: %d\n",
					       __func__, region->memType);
					       __func__, region->memType);
					return -EINVAL;
					rc = -EINVAL;
					goto out;
				}
				}
			}
			}


@@ -2314,9 +2320,10 @@ int dma_unmap(DMA_MemMap_t *memMap, /* Stores state information about the map */
	memMap->numRegionsUsed = 0;
	memMap->numRegionsUsed = 0;
	memMap->inUse = 0;
	memMap->inUse = 0;


out:
	up(&memMap->lock);
	up(&memMap->lock);


	return 0;
	return rc;
}
}


EXPORT_SYMBOL(dma_unmap);
EXPORT_SYMBOL(dma_unmap);
+3 −3
Original line number Original line Diff line number Diff line
@@ -25,7 +25,7 @@
#include <mach/hardware.h>
#include <mach/hardware.h>


/*************************************************************************
/*************************************************************************
 * GPIO handling for EP93xx
 * Interrupt handling for EP93xx on-chip GPIOs
 *************************************************************************/
 *************************************************************************/
static unsigned char gpio_int_unmasked[3];
static unsigned char gpio_int_unmasked[3];
static unsigned char gpio_int_enabled[3];
static unsigned char gpio_int_enabled[3];
@@ -40,7 +40,7 @@ static const u8 eoi_register_offset[3] = { 0x98, 0xb4, 0x54 };
static const u8 int_en_register_offset[3]	= { 0x9c, 0xb8, 0x58 };
static const u8 int_en_register_offset[3]	= { 0x9c, 0xb8, 0x58 };
static const u8 int_debounce_register_offset[3]	= { 0xa8, 0xc4, 0x64 };
static const u8 int_debounce_register_offset[3]	= { 0xa8, 0xc4, 0x64 };


void ep93xx_gpio_update_int_params(unsigned port)
static void ep93xx_gpio_update_int_params(unsigned port)
{
{
	BUG_ON(port > 2);
	BUG_ON(port > 2);


@@ -56,7 +56,7 @@ void ep93xx_gpio_update_int_params(unsigned port)
		EP93XX_GPIO_REG(int_en_register_offset[port]));
		EP93XX_GPIO_REG(int_en_register_offset[port]));
}
}


void ep93xx_gpio_int_mask(unsigned line)
static inline void ep93xx_gpio_int_mask(unsigned line)
{
{
	gpio_int_unmasked[line >> 3] &= ~(1 << (line & 7));
	gpio_int_unmasked[line >> 3] &= ~(1 << (line & 7));
}
}
Loading