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

Commit 9c0d2a20 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: (38 commits)
  [ARM] 5191/1: ARM: remove CVS keywords
  [ARM] pxafb: fix the warning of incorrect lccr when lcd_conn is specified
  [ARM] pxafb: add flag to specify output format on LDD pins when base is RGBT16
  [ARM] pxafb: fix the incorrect configuration of GPIO77 as ACBIAS for TFT LCD
  [ARM] 5198/1: PalmTX: PCMCIA fixes
  [ARM] Fix a pile of broken watchdog drivers
  [ARM] update mach-types
  [ARM] 5196/1: fix inline asm constraints for preload
  [ARM] 5194/1: update .gitignore
  [ARM] add proc-macros.S include to proc-arm940 and proc-arm946
  [ARM] 5192/1: ARM TLB: add v7wbi_{possible,always}_flags to {possible,always}_tlb_flags
  [ARM] 5193/1: Wire up missing syscalls
  [ARM] traps: don't call undef hook functions with spinlock held
  [ARM] 5183/2: Provide Poodle LoCoMo GPIO names
  [ARM] dma-mapping: provide sync_range APIs
  [ARM] dma-mapping: improve type-safeness of DMA translations
  [ARM] Kirkwood: instantiate the orion_spi driver in the platform code
  [ARM] prevent crashing when too much RAM installed
  [ARM] Kirkwood: Instantiate mv_xor driver
  [ARM] Orion: Instantiate mv_xor driver for 5182
  ...
parents 5e6b83ed 66bfa2f0
Loading
Loading
Loading
Loading
+15 −0
Original line number Diff line number Diff line
@@ -13,6 +13,21 @@ Introduction
  data-sheet/users manual to find out the complete list.


GPIOLIB
-------

  With the event of the GPIOLIB in drivers/gpio, support for some
  of the GPIO functions such as reading and writing a pin will
  be removed in favour of this common access method.

  Once all the extant drivers have been converted, the functions
  listed below will be removed (they may be marked as __deprecated
  in the near future).

  - s3c2410_gpio_getpin
  - s3c2410_gpio_setpin


Headers
-------

+33 −2
Original line number Diff line number Diff line
@@ -8,9 +8,10 @@ Introduction

  The Samsung S3C24XX range of ARM9 System-on-Chip CPUs are supported
  by the 's3c2410' architecture of ARM Linux. Currently the S3C2410,
  S3C2412, S3C2413, S3C2440 and S3C2442 devices are supported.
  S3C2412, S3C2413, S3C2440, S3C2442 and S3C2443 devices are supported.

  Support for the S3C2400 and S3C24A0 series are in progress.

  Support for the S3C2400 series is in progress.

Configuration
-------------
@@ -38,6 +39,22 @@ Layout
  Register, kernel and platform data definitions are held in the
  arch/arm/mach-s3c2410 directory./include/mach

arch/arm/plat-s3c24xx:

  Files in here are either common to all the s3c24xx family,
  or are common to only some of them with names to indicate this
  status. The files that are not common to all are generally named
  with the initial cpu they support in the series to ensure a short
  name without any possibility of confusion with newer devices.

  As an example, initially s3c244x would cover s3c2440 and s3c2442, but
  with the s3c2443 which does not share many of the same drivers in
  this directory, the name becomes invalid. We stick to s3c2440-<x>
  to indicate a driver that is s3c2440 and s3c2442 compatible.

  This does mean that to find the status of any given SoC, a number
  of directories may need to be searched.


Machines
--------
@@ -159,6 +176,17 @@ NAND
  For more information see Documentation/arm/Samsung-S3C24XX/NAND.txt


SD/MMC
------

  The SD/MMC hardware pre S3C2443 is supported in the current
  kernel, the driver is drivers/mmc/host/s3cmci.c and supports
  1 and 4 bit SD or MMC cards.

  The SDIO behaviour of this driver has not been fully tested. There is no
  current support for hardware SDIO interrupts.


Serial
------

@@ -178,6 +206,9 @@ GPIO
  The core contains support for manipulating the GPIO, see the
  documentation in GPIO.txt in the same directory as this file.

  Newer kernels carry GPIOLIB, and support is being moved towards
  this with some of the older support in line to be removed.


Clock Management
----------------
+2 −1
Original line number Diff line number Diff line
piggy.gz
font.c
piggy.gz
vmlinux.lds
+29 −27
Original line number Diff line number Diff line
@@ -246,9 +246,9 @@ map_single(struct device *dev, void *ptr, size_t size,
		}

		dev_dbg(dev,
			"%s: unsafe buffer %p (phy=%p) mapped to %p (phy=%p)\n",
			__func__, buf->ptr, (void *) virt_to_dma(dev, buf->ptr),
			buf->safe, (void *) buf->safe_dma_addr);
			"%s: unsafe buffer %p (dma=%#x) mapped to %p (dma=%#x)\n",
			__func__, buf->ptr, virt_to_dma(dev, buf->ptr),
			buf->safe, buf->safe_dma_addr);

		if ((dir == DMA_TO_DEVICE) ||
		    (dir == DMA_BIDIRECTIONAL)) {
@@ -292,9 +292,9 @@ unmap_single(struct device *dev, dma_addr_t dma_addr, size_t size,
		BUG_ON(buf->size != size);

		dev_dbg(dev,
			"%s: unsafe buffer %p (phy=%p) mapped to %p (phy=%p)\n",
			__func__, buf->ptr, (void *) virt_to_dma(dev, buf->ptr),
			buf->safe, (void *) buf->safe_dma_addr);
			"%s: unsafe buffer %p (dma=%#x) mapped to %p (dma=%#x)\n",
			__func__, buf->ptr, virt_to_dma(dev, buf->ptr),
			buf->safe, buf->safe_dma_addr);

		DO_STATS ( device_info->bounce_count++ );

@@ -321,8 +321,7 @@ unmap_single(struct device *dev, dma_addr_t dma_addr, size_t size,
	}
}

static inline void
sync_single(struct device *dev, dma_addr_t dma_addr, size_t size,
static int sync_single(struct device *dev, dma_addr_t dma_addr, size_t size,
			enum dma_data_direction dir)
{
	struct dmabounce_device_info *device_info = dev->archdata.dmabounce;
@@ -355,9 +354,9 @@ sync_single(struct device *dev, dma_addr_t dma_addr, size_t size,
		 */

		dev_dbg(dev,
			"%s: unsafe buffer %p (phy=%p) mapped to %p (phy=%p)\n",
			__func__, buf->ptr, (void *) virt_to_dma(dev, buf->ptr),
			buf->safe, (void *) buf->safe_dma_addr);
			"%s: unsafe buffer %p (dma=%#x) mapped to %p (dma=%#x)\n",
			__func__, buf->ptr, virt_to_dma(dev, buf->ptr),
			buf->safe, buf->safe_dma_addr);

		DO_STATS ( device_info->bounce_count++ );

@@ -383,8 +382,9 @@ sync_single(struct device *dev, dma_addr_t dma_addr, size_t size,
		 * No need to sync the safe buffer - it was allocated
		 * via the coherent allocators.
		 */
		return 0;
	} else {
		dma_cache_maint(dma_to_virt(dev, dma_addr), size, dir);
		return 1;
	}
}

@@ -474,25 +474,29 @@ dma_unmap_sg(struct device *dev, struct scatterlist *sg, int nents,
	}
}

void
dma_sync_single_for_cpu(struct device *dev, dma_addr_t dma_addr, size_t size,
void dma_sync_single_range_for_cpu(struct device *dev, dma_addr_t dma_addr,
				   unsigned long offset, size_t size,
				   enum dma_data_direction dir)
{
	dev_dbg(dev, "%s(ptr=%p,size=%d,dir=%x)\n",
		__func__, (void *) dma_addr, size, dir);
	dev_dbg(dev, "%s(dma=%#x,off=%#lx,size=%zx,dir=%x)\n",
		__func__, dma_addr, offset, size, dir);

	sync_single(dev, dma_addr, size, dir);
	if (sync_single(dev, dma_addr, offset + size, dir))
		dma_cache_maint(dma_to_virt(dev, dma_addr) + offset, size, dir);
}
EXPORT_SYMBOL(dma_sync_single_range_for_cpu);

void
dma_sync_single_for_device(struct device *dev, dma_addr_t dma_addr, size_t size,
void dma_sync_single_range_for_device(struct device *dev, dma_addr_t dma_addr,
				      unsigned long offset, size_t size,
				      enum dma_data_direction dir)
{
	dev_dbg(dev, "%s(ptr=%p,size=%d,dir=%x)\n",
		__func__, (void *) dma_addr, size, dir);
	dev_dbg(dev, "%s(dma=%#x,off=%#lx,size=%zx,dir=%x)\n",
		__func__, dma_addr, offset, size, dir);

	sync_single(dev, dma_addr, size, dir);
	if (sync_single(dev, dma_addr, offset + size, dir))
		dma_cache_maint(dma_to_virt(dev, dma_addr) + offset, size, dir);
}
EXPORT_SYMBOL(dma_sync_single_range_for_device);

void
dma_sync_sg_for_cpu(struct device *dev, struct scatterlist *sg, int nents,
@@ -644,8 +648,6 @@ EXPORT_SYMBOL(dma_map_single);
EXPORT_SYMBOL(dma_unmap_single);
EXPORT_SYMBOL(dma_map_sg);
EXPORT_SYMBOL(dma_unmap_sg);
EXPORT_SYMBOL(dma_sync_single_for_cpu);
EXPORT_SYMBOL(dma_sync_single_for_device);
EXPORT_SYMBOL(dma_sync_sg_for_cpu);
EXPORT_SYMBOL(dma_sync_sg_for_device);
EXPORT_SYMBOL(dmabounce_register_dev);
+10 −3
Original line number Diff line number Diff line
@@ -757,7 +757,14 @@ CONFIG_INPUT_EVDEV=y
#
# Input Device Drivers
#
# CONFIG_INPUT_KEYBOARD is not set
CONFIG_INPUT_KEYBOARD=y
# CONFIG_KEYBOARD_ATKBD is not set
# CONFIG_KEYBOARD_SUNKBD is not set
# CONFIG_KEYBOARD_LKKBD is not set
# CONFIG_KEYBOARD_XTKBD is not set
# CONFIG_KEYBOARD_NEWTON is not set
# CONFIG_KEYBOARD_STOWAWAY is not set
CONFIG_KEYBOARD_GPIO=y
# CONFIG_INPUT_MOUSE is not set
# CONFIG_INPUT_JOYSTICK is not set
# CONFIG_INPUT_TABLET is not set
@@ -1111,11 +1118,11 @@ CONFIG_RTC_DRV_DS1307=y
CONFIG_RTC_DRV_RS5C372=y
# CONFIG_RTC_DRV_ISL1208 is not set
# CONFIG_RTC_DRV_X1205 is not set
# CONFIG_RTC_DRV_PCF8563 is not set
CONFIG_RTC_DRV_PCF8563=y
# CONFIG_RTC_DRV_PCF8583 is not set
CONFIG_RTC_DRV_M41T80=y
# CONFIG_RTC_DRV_M41T80_WDT is not set
# CONFIG_RTC_DRV_S35390A is not set
CONFIG_RTC_DRV_S35390A=y

#
# SPI RTC drivers
Loading