]> pilppa.com Git - linux-2.6-omap-h63xx.git/log
linux-2.6-omap-h63xx.git
16 years ago[MIPS] IP28: added cache barrier to assembly routines
Thomas Bogendoerfer [Sun, 25 Nov 2007 10:47:56 +0000 (11:47 +0100)]
[MIPS] IP28: added cache barrier to assembly routines

IP28 needs special treatment to avoid speculative accesses. gcc
takes care for .c code, but for assembly code we need to do it
manually.

This is taken from Peter Fuersts IP28 patches.

Signed-off-by: Thomas Bogendoerfer <tsbogend@alpha.franken.de>
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
16 years ago[MIPS] TXx9 watchdog support for rbhma3100,rbhma4200,rbhma4500
Atsushi Nemoto [Fri, 23 Nov 2007 16:20:27 +0000 (01:20 +0900)]
[MIPS] TXx9 watchdog support for rbhma3100,rbhma4200,rbhma4500

This patch adds support for txx9wdt driver to rbhma3100, rbhma4200 and
rbhma4500 platform.

Signed-off-by: Atsushi Nemoto <anemo@mba.ocn.ne.jp>
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
16 years ago[MIPS] IP22/IP28: fix extracting board/chip rev
Thomas Bogendoerfer [Sun, 25 Nov 2007 10:27:06 +0000 (11:27 +0100)]
[MIPS] IP22/IP28: fix extracting board/chip rev

Taken from Peter Fuersts IP28 patches

Signed-off-by: Thomas Bogendoerfer <tsbogend@alpha.franken.de>
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
16 years ago[MIPS] Use real cache invalidate
Thomas Bogendoerfer [Mon, 26 Nov 2007 22:40:01 +0000 (23:40 +0100)]
[MIPS] Use real cache invalidate

R10k non coherent machines need a real dma cache invalidate to get rid of
speculative stores in cache.  For other machines this promises a slight
speedup.

Signed-off-by: Thomas Bogendoerfer <tsbogend@alpha.franken.de>
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
16 years ago[MIPS] SMP: Call platform methods via ops structure.
Ralf Baechle [Mon, 19 Nov 2007 12:23:51 +0000 (12:23 +0000)]
[MIPS] SMP: Call platform methods via ops structure.

Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
16 years ago[MIPS] Cleanup pcspeaker platform device registration.
Ralf Baechle [Tue, 29 Jan 2008 10:14:57 +0000 (10:14 +0000)]
[MIPS] Cleanup pcspeaker platform device registration.

Move registration into the actual platform code instead of making a
desparate attempt at sharing the hand full of likes of code in pcspeaker.c.

Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
16 years ago[MIPS] MT: Scheduler support for SMT
Ralf Baechle [Fri, 2 Mar 2007 20:42:04 +0000 (20:42 +0000)]
[MIPS] MT: Scheduler support for SMT

Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
16 years ago[MIPS] tlbex.c: cleanup debug code
Franck Bui-Huu [Thu, 18 Oct 2007 07:11:17 +0000 (09:11 +0200)]
[MIPS] tlbex.c: cleanup debug code

Signed-off-by: Franck Bui-Huu <fbuihuu@gmail.com>
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
16 years ago[MIPS] tlbex.c: use __cacheline_aligned instead of __tlb_handler_align
Franck Bui-Huu [Thu, 18 Oct 2007 07:11:16 +0000 (09:11 +0200)]
[MIPS] tlbex.c: use __cacheline_aligned instead of __tlb_handler_align

Signed-off-by: Franck Bui-Huu <fbuihuu@gmail.com>
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
16 years ago[MIPS] tlbex.c: cleanup include files
Franck Bui-Huu [Thu, 18 Oct 2007 07:11:15 +0000 (09:11 +0200)]
[MIPS] tlbex.c: cleanup include files

Signed-off-by: Franck Bui-Huu <fbuihuu@gmail.com>
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
16 years ago[MIPS] tlbex.c: Cleanup __init usages.
Franck Bui-Huu [Thu, 18 Oct 2007 07:11:14 +0000 (09:11 +0200)]
[MIPS] tlbex.c: Cleanup __init usages.

Signed-off-by: Franck Bui-Huu <fbuihuu@gmail.com>
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
16 years ago[MIPS] Delete now-unreferenced i2c-yosemite.h header file.
Robert P. J. Day [Tue, 6 Nov 2007 06:55:12 +0000 (01:55 -0500)]
[MIPS]  Delete now-unreferenced i2c-yosemite.h header file.

Given that the corresponding source file i2c-yosemite.c file was
removed in commit daa4a68f901c4d6491baa1a01f5c869a553c3f6c, and that
no one else includes this file, it seems safe to delete it.

Signed-off-by: Robert P. J. Day <rpjday@crashcourse.ca>
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
16 years ago[MIPS] Remove duplicate includes.
Lucas Woods [Mon, 5 Nov 2007 20:13:47 +0000 (07:13 +1100)]
[MIPS] Remove duplicate includes.

Signed-off-by: Lucas Woods <woodzy@gmail.com>
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
16 years ago[MIPS] ARC: Use strchr instead of strstr.
Roel Kluin [Fri, 2 Nov 2007 18:59:05 +0000 (19:59 +0100)]
[MIPS] ARC: Use strchr instead of strstr.

Use strchr instead of strstr when searching for a single character

Signed-off-by: Roel Kluin <12o3l@tiscali.nl>
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
16 years ago[MIPS] Remove useless S-cache flushes.
Ralf Baechle [Tue, 29 Jan 2008 10:14:56 +0000 (10:14 +0000)]
[MIPS] Remove useless S-cache flushes.

Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
16 years ago[MIPS] Use pte_present instead of open coded test for _PAGE_PRESENT.
Ralf Baechle [Tue, 29 Jan 2008 10:14:55 +0000 (10:14 +0000)]
[MIPS] Use pte_present instead of open coded test for _PAGE_PRESENT.

Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
16 years ago[MIPS] Put cast inside macro instead of all the callers
Andrew Sharp [Wed, 31 Oct 2007 21:11:24 +0000 (14:11 -0700)]
[MIPS] Put cast inside macro instead of all the callers

Since all the callers of the PHYS_TO_XKPHYS macro call with a constant,
put the cast to LL inside the macro where it really should be rather
than in all the callers.  This makes macros like PHYS_TO_XKSEG_UNCACHED
work without gcc whining.

Signed-off-by: Andrew Sharp <andy.sharp@onstor.com>
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
16 years ago[MIPS] clean up au1xxx_irqmap.c include files
Yoichi Yuasa [Thu, 1 Nov 2007 12:35:39 +0000 (21:35 +0900)]
[MIPS] clean up au1xxx_irqmap.c include files

Clean up au1xxx_irqmap.c include files.

Signed-off-by: Yoichi Yuasa <yoichi_yuasa@tripeaks.co.jp>
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
16 years ago[MIPS] remove unused mips_machtype
Yoichi Yuasa [Fri, 26 Oct 2007 13:42:31 +0000 (22:42 +0900)]
[MIPS] remove unused mips_machtype

Removed unused mips_machtype.  These are only set but not used.

Signed-off-by: Yoichi Yuasa <yoichi_yuasa@tripeaks.co.jp>
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
16 years ago[MIPS] CFE: Make code remotely resemble Linux code.
Christoph Hellwig [Mon, 29 Oct 2007 14:23:43 +0000 (14:23 +0000)]
[MIPS] CFE: Make code remotely resemble Linux code.

Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
16 years ago[MIPS] cleanup tx39/tx49 setup code
Atsushi Nemoto [Wed, 24 Oct 2007 14:16:56 +0000 (23:16 +0900)]
[MIPS] cleanup tx39/tx49 setup code

Remove some unnecessary codes, includes and files.

Signed-off-by: Atsushi Nemoto <anemo@mba.ocn.ne.jp>
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
16 years ago[MIPS] R4000/R4400 daddiu erratum workaround
Maciej W. Rozycki [Tue, 23 Oct 2007 11:43:25 +0000 (12:43 +0100)]
[MIPS] R4000/R4400 daddiu erratum workaround

 This complements the generic R4000/R4400 errata workaround code and adds
bits for the daddiu problem.  In most places it just modifies handwritten
assembly code so that the assembler is allowed to use a temporary register
as daddiu may now be treated as a macro that expands to a sequence of li
and daddu.  It is the AT register or, where AT is unavailable or used
explicitly for another purpose, an explicitly-named register is selected,
using the .set at=<reg> feature added recently to gas.  This feature is
only used if CONFIG_CPU_DADDI_WORKAROUNDS has been set, so if the
workaround remains disabled, the required version of binutils stays
unchanged.

 Similarly, daddiu instructions put in branch delay slots in noreorder
fragments are now taken out of them and the assembler is allowed to
reorder them itself as possible (which it does making the whole idea of
scheduling them into delay slots manually questionable).

 Also in the very few places where such a simple conversion was not
possible, a handcoded longer sequence is implemented.

 Other than that there are changes to code responsible for building the
TLB fault and page clear/copy handlers to avoid daddiu as appropriate.
These are only effective if the erratum is verified to be present at the
run time.

 Finally there is a trivial update to __delay(), because it uses daddiu in
a branch delay slot.

Signed-off-by: Maciej W. Rozycki <macro@linux-mips.org>
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
16 years ago[MIPS] R4000/R4400 errata workarounds
Maciej W. Rozycki [Tue, 23 Oct 2007 11:43:11 +0000 (12:43 +0100)]
[MIPS] R4000/R4400 errata workarounds

 This is the gereric part of R4000/R4400 errata workarounds.  They include
compiler and assembler support as well as some source code modifications
to address the problems with some combinations of multiply/divide+shift
instructions as well as the daddi and daddiu instructions.

 Changes included are as follows:

1. New Kconfig options to select workarounds by platforms as necessary.

2. Arch top-level Makefile to pass necessary options to the compiler; also
   incompatible configurations are detected (-mno-sym32 unsupported as
   horribly intrusive for little gain).

3. Bug detection updated and shuffled -- the multiply/divide+shift problem
   is lethal enough that if not worked around it makes the kernel crash in
   time_init() because of a division by zero; the daddiu erratum might
   also trigger early potentially, though I have not observed it.  On the
   other hand the daddi detection code requires the exception subsystem to
   have been initialised (and is there mainly for information).

4. r4k_daddiu_bug() added so that the existence of the erratum can be
   queried by code at the run time as necessary; useful for generated code
   like TLB fault and copy/clear page handlers.

5. __udelay() updated as it uses multiplication in inline assembly.

 Note that -mdaddi requires modified toolchain (which has been maintained
by myself and available from my site for ~4years now -- versions covered
are GCC 2.95.4 - 4.1.2 and binutils from 2.13 onwards).  The -mfix-r4000
and -mfix-r4400 have been standard for a while though.

Signed-off-by: Maciej W. Rozycki <macro@linux-mips.org>
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
16 years ago[MIPS] Converting most array size calculations to use ARRAY_SIZE().
Alejandro Martinez Ruiz [Mon, 22 Oct 2007 19:36:44 +0000 (21:36 +0200)]
[MIPS] Converting most array size calculations to use ARRAY_SIZE().

Signed-off-by: Alejandro Martinez Ruiz <alex@flawedcode.org>
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
16 years ago[MIPS] tlbex: Cleanup handling of R2 hazards in TLB handlers.
Ralf Baechle [Tue, 29 Jan 2008 10:14:54 +0000 (10:14 +0000)]
[MIPS] tlbex: Cleanup handling of R2 hazards in TLB handlers.

Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
16 years ago[MIPS] Delete unused CONFIG_64BIT_CONTEXT
Ralf Baechle [Tue, 29 Jan 2008 10:14:54 +0000 (10:14 +0000)]
[MIPS] Delete unused CONFIG_64BIT_CONTEXT

The merge of the code to use this was never completed so delete it for the
time being.

Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
16 years ago[MIPS] Delete unused CONFIG_DMA_IP32.
Ralf Baechle [Tue, 29 Jan 2008 10:14:54 +0000 (10:14 +0000)]
[MIPS] Delete unused CONFIG_DMA_IP32.

The functionality of the former dma-ip32.c has been folded into
dma-default.c.

Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
16 years agoMerge git://git.kernel.org/pub/scm/linux/kernel/git/wim/linux-2.6-watchdog
Linus Torvalds [Mon, 28 Jan 2008 22:00:01 +0000 (09:00 +1100)]
Merge git://git.kernel.org/pub/scm/linux/kernel/git/wim/linux-2.6-watchdog

* git://git.kernel.org/pub/scm/linux/kernel/git/wim/linux-2.6-watchdog:
  [WATCHDOG] constify function pointer tables
  [WATCHDOG] TXx9 watchdog driver
  [WATCHDOG] misc_register patch
  [WATCHDOG] wdt: fix locking

16 years agoMerge git://git.kernel.org/pub/scm/linux/kernel/git/lethal/sh-2.6
Linus Torvalds [Mon, 28 Jan 2008 21:52:50 +0000 (08:52 +1100)]
Merge git://git.kernel.org/pub/scm/linux/kernel/git/lethal/sh-2.6

* git://git.kernel.org/pub/scm/linux/kernel/git/lethal/sh-2.6: (197 commits)
  sh: add spi header and r2d platform data V3
  sh: update r7780rp interrupt code
  sh: remove consistent alloc stuff from the machine vector
  sh: use declared coherent memory for dreamcast pci ethernet adapter
  sh: declared coherent memory support V2
  sh: Add support for SDK7780 board.
  sh: constify function pointer tables
  sh: Kill off -traditional for linker script.
  cdrom: Add support for Sega Dreamcast GD-ROM.
  sh: Kill off hs7751rvoip reference from arch/sh/Kconfig.
  sh: Drop r7780rp_defconfig, use r7780mp_defconfig as kbuild default.
  sh: Kill off dead HS771RVoIP board support.
  sh: r7785rp: Fix up DECLARE_INTC_DESC() arg mismatch.
  sh: r7785rp: Hook up the rest of the HL7785 FPGA IRQ vectors.
  sh: r2d - enable sm501 usb host function
  sh: remove voyagergx
  sh: r2d - add lcd planel timings to sm501 platform data
  sh: Add OHCI and UDC platform devices for SH7720.
  sh: intc - remove default interrupt priority tables
  sh: Correct pte size mismatch for X2 TLB.
  ...

16 years agoMerge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/hid
Linus Torvalds [Mon, 28 Jan 2008 21:52:20 +0000 (08:52 +1100)]
Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/hid

* 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/hid: (24 commits)
  HID: ADS/Tech Radio si470x needs blacklist entry
  HID: Logitech Extreme 3D needs NOGET quirk
  HID: Refactor MS Presenter 8K key mapping
  HID: MS Presenter mapping for PID 0x0701
  HID: Support Samsung IR remote
  HID: fix compilation of hidbp drivers without usbhid
  HID: Blacklist the Gretag-Macbeth Huey display colorimeter
  HID: the `bit' in hidinput_mapping_quirks() is an out parameter
  HID: remove redundant WARN_ON()s in order not to scare users
  HID: force hiddev creation for SONY PS3 controller
  HID: Use hid blacklist in usbmouse/usbkbd
  HID: proper handling of MS 4k and 6k devices
  HID: remove unused variable in quirk event handler
  HID: hid-input quirk for BTC 8193
  HID: separate hid-input event quirks from generic code
  HID: refactor mapping to input subsystem for quirky devices
  HID: Microsoft Wireless Optical Desktop 3.0 quirk
  HID: Add support for Logitech Elite keyboards
  HID: add full support for Genius KB-29E
  HID: fix a potential bug in pointer casting
  ...

16 years agoMerge branch 'for-2.6.25' of git://git.kernel.dk/linux-2.6-block
Linus Torvalds [Mon, 28 Jan 2008 21:51:56 +0000 (08:51 +1100)]
Merge branch 'for-2.6.25' of git://git.kernel.dk/linux-2.6-block

* 'for-2.6.25' of git://git.kernel.dk/linux-2.6-block:
  block: implement drain buffers
  __bio_clone: don't calculate hw/phys segment counts
  block: allow queue dma_alignment of zero
  blktrace: Add blktrace ioctls to SCSI generic devices

16 years agoMerge branch 'blk-end-request' of git://git.kernel.dk/linux-2.6-block
Linus Torvalds [Mon, 28 Jan 2008 21:51:32 +0000 (08:51 +1100)]
Merge branch 'blk-end-request' of git://git.kernel.dk/linux-2.6-block

* 'blk-end-request' of git://git.kernel.dk/linux-2.6-block: (30 commits)
  blk_end_request: changing xsysace (take 4)
  blk_end_request: changing ub (take 4)
  blk_end_request: cleanup of request completion (take 4)
  blk_end_request: cleanup 'uptodate' related code (take 4)
  blk_end_request: remove/unexport end_that_request_* (take 4)
  blk_end_request: changing scsi (take 4)
  blk_end_request: add bidi completion interface (take 4)
  blk_end_request: changing ide-cd (take 4)
  blk_end_request: add callback feature (take 4)
  blk_end_request: changing ide normal caller (take 4)
  blk_end_request: changing cpqarray (take 4)
  blk_end_request: changing cciss (take 4)
  blk_end_request: changing ide-scsi (take 4)
  blk_end_request: changing s390 (take 4)
  blk_end_request: changing mmc (take 4)
  blk_end_request: changing i2o_block (take 4)
  blk_end_request: changing viocd (take 4)
  blk_end_request: changing xen-blkfront (take 4)
  blk_end_request: changing viodasd (take 4)
  blk_end_request: changing sx8 (take 4)
  ...

16 years agoMerge branch 'sg' of git://git.kernel.dk/linux-2.6-block
Linus Torvalds [Mon, 28 Jan 2008 21:51:05 +0000 (08:51 +1100)]
Merge branch 'sg' of git://git.kernel.dk/linux-2.6-block

* 'sg' of git://git.kernel.dk/linux-2.6-block:
  SG: work with the SCSI fixed maximum allocations.
  SG: Convert SCSI to use scatterlist helpers for sg chaining
  SG: Move functions to lib/scatterlist.c and add sg chaining allocator helpers

16 years agoMerge branch 'cfq-ioc-share' of git://git.kernel.dk/linux-2.6-block
Linus Torvalds [Mon, 28 Jan 2008 21:50:42 +0000 (08:50 +1100)]
Merge branch 'cfq-ioc-share' of git://git.kernel.dk/linux-2.6-block

* 'cfq-ioc-share' of git://git.kernel.dk/linux-2.6-block:
  cfq-iosched: kill some big inlines
  cfq-iosched: relax IOPRIO_CLASS_IDLE restrictions
  kernel: add CLONE_IO to specifically request sharing of IO contexts
  io_context sharing - anticipatory changes
  block: cfq: make the io contect sharing lockless
  io_context sharing - cfq changes
  io context sharing: preliminary support
  ioprio: move io priority from task_struct to io_context

16 years agoMerge branch 'for-linus' of master.kernel.org:/home/rmk/linux-2.6-arm
Linus Torvalds [Mon, 28 Jan 2008 21:49:49 +0000 (08:49 +1100)]
Merge branch 'for-linus' of master.kernel.org:/home/rmk/linux-2.6-arm

* 'for-linus' of master.kernel.org:/home/rmk/linux-2.6-arm: (176 commits)
  [ARM] 4795/1: S3C244X: Add armclk and setparent call
  [ARM] 4794/1: S3C24XX: Comonise S3C2440 and S3C2442 clock code
  [ARM] 4793/1: S3C24XX: Add IRQ->GPIO pin mapping function
  [ARM] 4792/1: S3C24XX: Remove warnings from debug-macro.S
  [ARM] 4791/1: S3C2412: Make fclk a parent of msysclk
  [ARM] 4790/1: S3C2412: Fix parent selection for msysclk.
  [ARM] 4789/1: S3C2412: Add missing CLKDIVN register values
  [ARM] 4788/1: S3C24XX: Fix paramet to s3c2410_dma_ctrl if S3C2410_DMAF_AUTOSTART used.
  [ARM] 4787/1: S3C24XX: s3c2410_dma_request() should return the allocated channel number
  [ARM] 4786/1: S3C2412: Add SPI FIFO controll constants
  [ARM] 4785/1: S3C24XX: Add _SHIFT definitions for S3C2410_BANKCON registers
  [ARM] 4784/1: S3C24XX: Fix GPIO restore glitches
  [ARM] 4783/1: S3C24XX: Add s3c2410_gpio_getpull()
  [ARM] 4782/1: S3C24XX: Define FIQ_START for any FIQ users
  [ARM] 4781/1: S3C24XX: DMA suspend and resume support
  [ARM] 4780/1: S3C2412: Allow for seperate DMA channels for TX and RX
  [ARM] 4779/1: S3C2412: Add s3c2412_gpio_set_sleepcfg() call
  [ARM] 4778/1: S3C2412: Add armclk and init from DVS state
  [ARM] 4777/1: S3C24XX: Ensure clk_set_rate() checks the set_rate method for the clk
  [ARM] 4775/1: s3c2410: fix compilation error if only s3c2442 cpu is selected
  ...

16 years agolibata: Change "write_data" to "rw" for some function documentations
Linus Nilsson [Mon, 28 Jan 2008 14:56:27 +0000 (15:56 +0100)]
libata: Change "write_data" to "rw" for some function documentations

The documentation for ata_data_xfer and ata_data_xfer_noirq had the 'rw'
parameter named 'write_data'.

Signed-off-by: Linus Nilsson <lajnold@acc.umu.se>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
16 years agoHID: ADS/Tech Radio si470x needs blacklist entry
Tobias Lorenz [Sun, 27 Jan 2008 21:19:22 +0000 (22:19 +0100)]
HID: ADS/Tech Radio si470x needs blacklist entry

This patch adds blacklist entries in hid-quirks.c to let the usbhid driver
ignore the si470x radio devices. They are now handled by the new radio-si470x
driver.

Signed-off-by: Tobias Lorenz <tobias.lorenz@gmx.net>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
Signed-off-by: Jiri Kosina <jkosina@suse.cz>
16 years agoHID: Logitech Extreme 3D needs NOGET quirk
Jiri Kosina [Thu, 17 Jan 2008 14:23:11 +0000 (15:23 +0100)]
HID: Logitech Extreme 3D needs NOGET quirk

Logitech Extreme 3D needs NOGET quirk, otherwise it times out at
the time of connect.

Reported-by: Mike Sharov <msharov@softhome.net>
Signed-off-by: Jiri Kosina <jkosina@suse.cz>
16 years agoHID: Refactor MS Presenter 8K key mapping
Jan Kiszka [Mon, 14 Jan 2008 12:08:27 +0000 (13:08 +0100)]
HID: Refactor MS Presenter 8K key mapping

Following the suggestion of Jonas, this patch maps the special keys of
the MS Presenter 8000 to targets that should allow for better re-mapping
according to individual use cases (i.e. I avoided hard-wiring to
standard keys). This time I also included the last missing key event
(switching back from presentation mode).

The optimal Xmodmap customization for using the Presenter with
OpenOffice now looks like this for me:

keycode 175 = Escape
keycode 179 = F5
keysym XF86Forward = Right
keysym XF86Back = Left

Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com>
Signed-off-by: Jiri Kosina <jkosina@suse.cz>
16 years agoHID: MS Presenter mapping for PID 0x0701
Jiri Kosina [Thu, 10 Jan 2008 16:40:18 +0000 (17:40 +0100)]
HID: MS Presenter mapping for PID 0x0701

0x045e/0x0701 also needs the hid-input mapping quirk established by
quirk_microsoft_presenter_8k().

Reported-by: Jonas Delrue <jonas_delrue@hotmail.com>
Signed-off-by: Jiri Kosina <jkosina@suse.cz>
16 years agoHID: Support Samsung IR remote
Robert Schedel [Tue, 25 Dec 2007 23:57:40 +0000 (00:57 +0100)]
HID: Support Samsung IR remote

Samsung USB remotes (0419:0001) are rejected by kernel 2.6.23, because the
report descriptor from the remote contains a 48 bit HID report field. HID 1.11
states: Fields may span at most 4 bytes.

This patch, based on 2.6.23, fixes this by modifying the internal report
descriptor in hid-quirks.c. Additional user space support (e.g. LIRC) is
required to fetch the information from the hiddev interface.

The burden to reconstruct the data is moved into userspace (lirc through hiddev).
There is no need to set HID_QUIRK_HIDDEV quirk, as the device has also output
applications, which trigger the creation of hiddev device automatically.

Signed-off-by: Robert Schedel <r.schedel@yahoo.de>
Signed-off-by: Jiri Kosina <jkosina@suse.cz>
16 years agoHID: fix compilation of hidbp drivers without usbhid
Jiri Kosina [Mon, 17 Dec 2007 15:11:27 +0000 (16:11 +0100)]
HID: fix compilation of hidbp drivers without usbhid

We can use the blacklist only if usbhid code is compiled.

Reported-by: jurriaan <thunder7@xs4all.nl>
Cc: Pascal Terjan <pterjan@mandriva.com>
Signed-off-by: Jiri Kosina <jkosina@suse.cz>
16 years agoHID: Blacklist the Gretag-Macbeth Huey display colorimeter
Nicolas Mailhot [Sun, 16 Dec 2007 17:16:43 +0000 (18:16 +0100)]
HID: Blacklist the Gretag-Macbeth Huey display colorimeter

The Gretag-Macbeth Huey display colorimeter claims to be an HID device but
isn't. As a result the linux HID device will claim it, preventing FLOSS
software like Argyll CMS from talking to it.

Tested-by: Frederic Crozat <fcrozat@mandriva.com>
Signed-off-by: Nicolas Mailhot <nicolas.mailhot@laposte.net>
Signed-off-by: Jiri Kosina <jkosina@suse.cz>
16 years agoHID: the `bit' in hidinput_mapping_quirks() is an out parameter
Fengguang Wu [Fri, 7 Dec 2007 08:35:14 +0000 (16:35 +0800)]
HID: the `bit' in hidinput_mapping_quirks() is an out parameter

Fix a panic, by changing
hidinput_mapping_quirks(,, unsigned long *bit,)
to
hidinput_mapping_quirks(,, unsigned long **bit,)

The `bit' in this function is an out parameter.

Signed-off-by: Fengguang Wu <wfg@mail.ustc.edu.cn>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Jiri Kosina <jkosina@suse.cz>
16 years agoHID: remove redundant WARN_ON()s in order not to scare users
Jiri Kosina [Fri, 30 Nov 2007 10:12:58 +0000 (11:12 +0100)]
HID: remove redundant WARN_ON()s in order not to scare users

The WARN_ON() in implement() and extract() spit out stacktraces and
a lot of other information that might make users think that there is
something seriously wrong with the system. WARN_ON() should not be
deliberately triggerable by userspace application, which these can be.
Usually this WARN_ON() triggers when hid2hci utility is sending the
data that don't correspond to the device's report descriptor.

Convert these messages to more friendly printk().

Signed-off-by: Jiri Kosina <jkosina@suse.cz>
16 years agoHID: force hiddev creation for SONY PS3 controller
Bastien Nocera [Wed, 28 Nov 2007 15:34:53 +0000 (16:34 +0100)]
HID: force hiddev creation for SONY PS3 controller

The device is not discoverable, and needs to be poked to set its master, the
Bluetooth device it will try to connect to when the "Home" button is pressed
without a cable plugged in.

Using libusb means disconnecting the device from its driver to get the report
descriptor. Using hiddev, we can poke it without relinquishing control over it,
so when you plug it in, it would still work as a pad.

This could be then used by sixpair program, after it is rewritten to use
hiddev instead of libusb.

Signed-off-by: Bastien Nocera <hadess@hadess.net>
Signed-off-by: Jiri Kosina <jkosina@suse.cz>
16 years agoHID: Use hid blacklist in usbmouse/usbkbd
Pascal Terjan [Mon, 26 Nov 2007 13:03:52 +0000 (14:03 +0100)]
HID: Use hid blacklist in usbmouse/usbkbd

This fixes wacom tablets not working if usbmouse is loaded.

Signed-off-by: Pascal Terjan <pterjan@mandriva.com>
Signed-off-by: Jiri Kosina <jkosina@suse.cz>
16 years agoHID: proper handling of MS 4k and 6k devices
Jiri Kosina [Mon, 26 Nov 2007 12:26:33 +0000 (13:26 +0100)]
HID: proper handling of MS 4k and 6k devices

This removes ugly macros IS_* to distinguish devices that
need special handling in hid-input, and establish proper
quirks for them.

Signed-off-by: Jiri Kosina <jkosina@suse.cz>
16 years agoHID: remove unused variable in quirk event handler
Jiri Kosina [Mon, 26 Nov 2007 10:32:51 +0000 (11:32 +0100)]
HID: remove unused variable in quirk event handler

Remove unused variable in quirk event handler.

Signed-off-by: Jiri Kosina <jkosina@suse.cz>
16 years agoHID: hid-input quirk for BTC 8193
Jiri Kosina [Mon, 26 Nov 2007 12:18:00 +0000 (13:18 +0100)]
HID: hid-input quirk for BTC 8193

BTC 8193 keyboard handles its scrollwheel in very non-standard way.
It produces two non-standard usages for scrolling up and down, in
both cases with postive value equaling to 1. We handle this by temporary
mapping, which we then catch in quirk event handler, and remap to
negative HWHEEL even in order to introduce correct behavior.

Also the button requires special mapping, as it triggers standard-violating
usage code.

Reported in kernel.org bugzilla #9385

Reported-by: Kir Kolyshkin <kir@sacred.ru>
Signed-off-by: Jiri Kosina <jkosina@suse.cz>
16 years agoHID: separate hid-input event quirks from generic code
Jiri Kosina [Fri, 23 Nov 2007 12:16:02 +0000 (13:16 +0100)]
HID: separate hid-input event quirks from generic code

This patch separates also the hid-input quirks that have to be
applied at the time the event occurs, so that the generic code
handling HUT-compliant devices is not messed up by them too much.

Signed-off-by: Jiri Kosina <jkosina@suse.cz>
16 years agoHID: refactor mapping to input subsystem for quirky devices
Jiri Kosina [Thu, 22 Nov 2007 14:18:18 +0000 (15:18 +0100)]
HID: refactor mapping to input subsystem for quirky devices

Currently, the handling of mapping between hid and input for devices
that don't conform to HUT 1.12 specification is very messy -- no per-device
handling, no blacklists, conditions on idVendor and idProduct placed
all over the code.

This patch moves all the device-specific input mapping to a separate
file, and introduces a blacklist-style handling for non-standard
device-specific mappings.

Signed-off-by: Jiri Kosina <jkosina@suse.cz>
16 years agoHID: Microsoft Wireless Optical Desktop 3.0 quirk
Drew Fisher [Sun, 18 Nov 2007 11:29:56 +0000 (12:29 +0100)]
HID: Microsoft Wireless Optical Desktop 3.0 quirk

Make the Microsoft Wireless Optical Desktop 3.0 work as a mouse.

Microsoft Wireless Optical Desktop 3.0 doesn't properly describe its interface
class.  Specifically, since it doesn't mark the second interface as a mouse
(bInterfaceSubclass = 0), it doesn't get HID_QUIRK_NOGET applied to the
interface, and then acts broken when polled.

Signed-off-by: Drew Fisher <drew.m.fisher@gmail.com>
Signed-off-by: Jiri Kosina <jkosina@suse.cz>
16 years agoHID: Add support for Logitech Elite keyboards
Carlos Corbacho [Sat, 17 Nov 2007 00:30:25 +0000 (01:30 +0100)]
HID: Add support for Logitech Elite keyboards

Reuse the quirks from the Cordless Desktop LX500 - stops some of the extra
keys being reported as mouse buttons.

Signed-off-by: Carlos Corbacho <cathectic@gmail.com>
Signed-off-by: Jiri Kosina <jkosina@suse.cz>
16 years agoHID: add full support for Genius KB-29E
Jiri Kosina [Wed, 14 Nov 2007 11:13:26 +0000 (12:13 +0100)]
HID: add full support for Genius KB-29E

Genius KB-29E has broken report descriptor, which causes some of the
Consumer usages to appear incorrectly as Button usages. We fix it by
fixing the report descriptor before it is being parsed.

Also a few of the keys violate the HUT standard, so they need a special
handling. They currently fall into "Reserved" range as per HUT 1.12.

Reported-by: Szekeres Istvan <szekeres@iii.hu>
Signed-off-by: Jiri Kosina <jkosina@suse.cz>
16 years agoHID: fix a potential bug in pointer casting
Li Zefan [Wed, 14 Nov 2007 10:31:05 +0000 (11:31 +0100)]
HID: fix a potential bug in pointer casting

Don't directly cast list_head * to foo *, this works only when list
is the first member of struct foo, and we should not make the assumption
how members are ordered in the structure.

i.e. struct *f = (struct *f)pos will work if:
struct foo {
struct list_head list;
int i;
};

but will fail if:
struct foo {
int i;
struct list_head list;
}

Signed-off-by: Li Zefan <lizf@cn.fujitsu.com>
Signed-off-by: Jiri Kosina <jkosina@suse.cz>
16 years agoHID: Implement horizontal wheel handling for A4 Tech X5-005D
Pavel Troller [Mon, 29 Oct 2007 10:13:46 +0000 (11:13 +0100)]
HID: Implement horizontal wheel handling for A4 Tech X5-005D

This mouse distinguishes horizontal wheel from vertical by a special "pseudo
event" GenericDesktop.00b8, with values of 0 for vertical and 8 for horizontal
wheel. Because this event is supplied by the parser too late, we need to delay
a wheel event, wait for this one and send either REL_WHEEL or REL_HWHEEL to
input depending on the event value.

Signed-off-by: Pavel Troller <patrol@sinus.cz>
Signed-off-by: Jiri Kosina <jkosina@suse.cz>
16 years agoHID: Add support for Apple aluminum USB keyboards.
Michel Daenzer [Wed, 24 Oct 2007 14:30:37 +0000 (16:30 +0200)]
HID: Add support for Apple aluminum USB keyboards.

Reuse the existing quirks for Apple laptop USB keyboards.

Signed-off-by: Michel Daenzer <michel@tungstengraphics.com>
Signed-off-by: Jiri Kosina <jkosina@suse.cz>
16 years agoHID: Rename some code identifiers from PowerBook specific to Apple generic
Michel Daenzer [Wed, 24 Oct 2007 14:30:34 +0000 (16:30 +0200)]
HID: Rename some code identifiers from PowerBook specific to Apple generic

Preserve identifiers exposed in build and run time configuration though in
order not to break existing configurations.

This is in preparation for adding support for Apple aluminum USB keyboards.

Signed-off-by: Michel Daenzer <michel@tungstengraphics.com>
Signed-off-by: Jiri Kosina <jkosina@suse.cz>
16 years agoHID: Map MS Presenter 8000 bottom-side buttons
Jan Kiszka [Wed, 24 Oct 2007 14:24:22 +0000 (16:24 +0200)]
HID: Map MS Presenter 8000 bottom-side buttons

The MS Presenter 8000 bluetooth mouse is a "dual-use" device: If you
press a button on the top, you can turn it around and find special keys
on the other side, useful for presentations. This patch maps those three
bottom-keys that are not already detected to the intended functions. The
magic bottom on the top is mapped to F5 when we switch from mouse to
presenter mode in order to activate the presentation mode in the related
software (e.g. OpenOffice).

Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com>
Signed-off-by: Jiri Kosina <jkosina@suse.cz>
16 years agoMerge branch 'pxa-plat' into devel
Russell King [Mon, 28 Jan 2008 13:21:38 +0000 (13:21 +0000)]
Merge branch 'pxa-plat' into devel

* pxa-plat: (53 commits)
  [ARM] 4762/1: Basic support for Toradex Colibri module
  [ARM] pxa: fix mci_init functions returning -1
  [ARM] 4737/1: Refactor corgi_lcd to improve readability + bugfix
  [ARM] 4747/1: pcm027: support for pcm990 baseboard for phyCORE-PXA270
  [ARM] 4746/1: pcm027: network support for phyCORE-PXA270
  [ARM] 4745/1: pcm027: default configuration
  [ARM] 4744/1: pcm027: add support for phyCORE-PXA270 CPU module
  [NET] smc91x: Make smc91x use IRQ resource trigger flags
  [ARM] pxa: add default config for littleton
  [ARM] pxa: add basic support for Littleton (PXA3xx Form Factor Platform)
  [ARM] 4664/1: Add basic support for HTC Magician PDA phones
  [ARM] 4649/1: Base support for pxa-based Toshiba e-series PDAs.
  [ARM] pxa: skip registers saving/restoring if entering standby mode
  [ARM] pxa: fix PXA27x resume
  [ARM] pxa: Avoid fiddling with CKEN register on suspend
  [ARM] pxa: Add PXA3 standby code hooked into the IRQ wake scheme
  [ARM] pxa: Add zylonite MFP wakeup configurations
  [ARM] pxa: program MFPs for low power mode when suspending
  [ARM] pxa: make MFP configuration processor independent
  [ARM] pxa: remove un-used pxa3xx_mfp_set_xxx() functions
  ...

Conflicts:

arch/arm/mach-pxa/ssp.c

Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
16 years agoMerge branch 'orion' into devel
Russell King [Mon, 28 Jan 2008 13:21:30 +0000 (13:21 +0000)]
Merge branch 'orion' into devel

* orion: (26 commits)
  [ARM] Orion: implement power-off method for QNAP TS-109/209
  [ARM] Orion: add support for QNAP TS-109/TS-209
  [ARM] Orion: I2C support
  [I2C] i2c-mv64xxx: Don't set i2c_adapter.retries
  [I2C] Split mv643xx I2C platform support
  [ARM] Orion: enable CONFIG_RTC_DRV_M41T80 for D-Link DNS-323
  [ARM] Orion defconfig
  [ARM] Orion: add support for Orion/MV88F5181 based D-Link DNS-323
  [ARM] Orion: MV88F5181 support bits
  [ARM] Orion: Buffalo/Revogear Kurobox Pro support
  [ARM] OrionNAS RD board support
  [ARM] Orion: support for Marvell Orion-2 (88F5281) Development Board
  [ARM] Orion: common platform setup for Gigabit Ethernet port
  [ARM] Orion: platform device registration for UART, USB and NAND
  [ARM] Orion: system timer support
  [ARM] Orion edge GPIO IRQ support
  [ARM] Orion: IRQ support
  [ARM] Orion: provide GPIO method for enabling hardware assisted blinking
  [ARM] Orion: GPIO support
  [ARM] Orion: programable address map support
  ...

Conflicts:

arch/arm/Kconfig
arch/arm/Makefile

Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
16 years agoMerge branches 'at91', 'ep93xx', 'iop', 'kprobes', 'ks8695', 'misc', 'msm', 's3c2410...
Russell King [Mon, 28 Jan 2008 13:21:21 +0000 (13:21 +0000)]
Merge branches 'at91', 'ep93xx', 'iop', 'kprobes', 'ks8695', 'misc', 'msm', 's3c2410', 'sa1100' and 'vfp' into devel

* at91: (24 commits)
  [ARM] 4615/4: sam926[13]ek buttons updated
  [ARM] 4765/1: [AT91] AT91CAP9A-DK board support
  [ARM] 4764/1: [AT91] AT91CAP9 core support
  [ARM] 4738/1: at91sam9261: Remove udc pullup enabling in board initialisation
  [ARM] 4761/1: [AT91] Board-support for NEW_LEDs
  [ARM] 4760/1: [AT91] SPI CS0 errata on AT91RM9200
  [ARM] 4759/1: [AT91] Buttons on CSB300
  [ARM] 4758/1: [AT91] LEDs
  [ARM] 4757/1: [AT91] UART initialization
  [ARM] 4756/1: [AT91] Makefile cleanup
  [ARM] 4755/1: [AT91] NAND update
  [ARM] 4754/1: [AT91] SSC library support
  [ARM] 4753/1: [AT91] Use DMA_BIT_MASK
  [ARM] 4752/1: [AT91] RTT, RTC and WDT peripherals on SAM9
  [ARM] 4751/1: [AT91] ISI peripheral on SAM9263
  [ARM] 4750/1: [AT91] STN LCD displays on SAM9261
  [ARM] 4734/1: at91sam9263ek: include IRQ for Ethernet PHY
  [ARM] 4646/1: AT91: configurable HZ, default to 128
  [ARM] 4688/1: at91: speed-up irq processing
  [ARM] 4657/1: AT91: Header definition update
  ...

* ep93xx:
  [ARM] 4671/1: ep93xx: remove obsolete gpio_line_* operations
  [ARM] 4670/1: ep93xx: implement IRQT_BOTHEDGE gpio irq sense type
  [ARM] 4669/1: ep93xx: simplify GPIO code and cleanups
  [ARM] 4668/1: ep93xx: implement new GPIO API

* iop:
  [ARM] 4770/1: GLAN Tank: correct physmap_flash_data width field
  [ARM] 4732/1: GLAN Tank: register rtc-rs5c372 i2c device
  [ARM] 4708/1: iop: update defconfigs for 2.6.24

* kprobes:
  ARM kprobes: let's enable it
  ARM kprobes: special hook for the kprobes breakpoint handler
  ARM kprobes: prevent some functions involved with kprobes from being probed
  ARM kprobes: don't let a single-stepped stmdb corrupt the exception stack
  ARM kprobes: add the kprobes hook to the page fault handler
  ARM kprobes: core code
  ARM kprobes: instruction single-stepping support

* ks8695:
  [ARM] 4603/1: KS8695: debugfs interface to view pin state
  [ARM] 4601/1: KS8695: PCI support

* misc:
  [ARM] remove duplicate includes
  [ARM] CONFIG_DEBUG_STACK_USAGE
  [ARM] 4689/1: small comment wrap fix
  [ARM] 4687/1: Trivial arch/arm/kernel/entry-common.S comment fix
  [ARM] 4666/1: ixp4xx: fix sparse warnings in include/asm-arm/arch-ixp4xx/io.h
  [ARM] remove reference to non-existent MTD_OBSOLETE_CHIPS
  [SERIAL] 21285: Report baud rate back via termios
  [ARM] Remove pointless casts from void pointers,
  [ARM] Misc minor interrupt handler cleanups
  [ARM] Remove at91_lcdc.h
  [ARM] ARRAY_SIZE() cleanup
  [ARM] Update mach-types

* msm:
  [ARM] msm: dma support for MSM7X00A
  [ARM] msm: board file for MACH_HALIBUT (QCT MSM7200A)
  [ARM] msm: irq and timer support for ARCH_MSM7X00A
  [ARM] msm: core platform support for ARCH_MSM7X00A

* s3c2410: (33 commits)
  [ARM] 4795/1: S3C244X: Add armclk and setparent call
  [ARM] 4794/1: S3C24XX: Comonise S3C2440 and S3C2442 clock code
  [ARM] 4793/1: S3C24XX: Add IRQ->GPIO pin mapping function
  [ARM] 4792/1: S3C24XX: Remove warnings from debug-macro.S
  [ARM] 4791/1: S3C2412: Make fclk a parent of msysclk
  [ARM] 4790/1: S3C2412: Fix parent selection for msysclk.
  [ARM] 4789/1: S3C2412: Add missing CLKDIVN register values
  [ARM] 4788/1: S3C24XX: Fix paramet to s3c2410_dma_ctrl if S3C2410_DMAF_AUTOSTART used.
  [ARM] 4787/1: S3C24XX: s3c2410_dma_request() should return the allocated channel number
  [ARM] 4786/1: S3C2412: Add SPI FIFO controll constants
  [ARM] 4785/1: S3C24XX: Add _SHIFT definitions for S3C2410_BANKCON registers
  [ARM] 4784/1: S3C24XX: Fix GPIO restore glitches
  [ARM] 4783/1: S3C24XX: Add s3c2410_gpio_getpull()
  [ARM] 4782/1: S3C24XX: Define FIQ_START for any FIQ users
  [ARM] 4781/1: S3C24XX: DMA suspend and resume support
  [ARM] 4780/1: S3C2412: Allow for seperate DMA channels for TX and RX
  [ARM] 4779/1: S3C2412: Add s3c2412_gpio_set_sleepcfg() call
  [ARM] 4778/1: S3C2412: Add armclk and init from DVS state
  [ARM] 4777/1: S3C24XX: Ensure clk_set_rate() checks the set_rate method for the clk
  [ARM] 4775/1: s3c2410: fix compilation error if only s3c2442 cpu is selected
  ...

* sa1100:
  [ARM] sa1100: add clock source support

* vfp:
  [ARM] 4584/2: ARMv7: Add Advanced SIMD (NEON) extension support
  [ARM] 4583/1: ARMv7: Add VFPv3 support
  [ARM] 4582/2: Add support for the common VFP subarchitecture

16 years ago[ARM] 4795/1: S3C244X: Add armclk and setparent call
Ben Dooks [Mon, 28 Jan 2008 12:01:35 +0000 (13:01 +0100)]
[ARM] 4795/1: S3C244X: Add armclk and setparent call

Add armclk to the supported clocks on the S3C2440 and S3C2442 to
better represent the DVS state which controls whether FCLK or HCLK
is fed to the ARM core.

Signed-off-by: Ben Dooks <ben-linux@fluff.org>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
16 years ago[ARM] 4794/1: S3C24XX: Comonise S3C2440 and S3C2442 clock code
Ben Dooks [Mon, 28 Jan 2008 12:01:34 +0000 (13:01 +0100)]
[ARM] 4794/1: S3C24XX: Comonise S3C2440 and S3C2442 clock code

Merge together the bits of the S3C2440 and S3C2442 clock code
that can be.

Signed-off-by: Ben Dooks <ben-linux@fluff.org>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
16 years ago[ARM] 4793/1: S3C24XX: Add IRQ->GPIO pin mapping function
Ben Dooks [Mon, 28 Jan 2008 12:01:33 +0000 (13:01 +0100)]
[ARM] 4793/1: S3C24XX: Add IRQ->GPIO pin mapping function

Add the reverse of s3c2410_gpio_getirq to convert
a IRQ  number into a GPIO pin number.

Signed-off-by: Ben Dooks <ben-linux@fluff.org>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
16 years ago[ARM] 4792/1: S3C24XX: Remove warnings from debug-macro.S
Ben Dooks [Mon, 28 Jan 2008 12:01:32 +0000 (13:01 +0100)]
[ARM] 4792/1: S3C24XX: Remove warnings from debug-macro.S

Remove warnings left in include/asm-arm/arch-s3c2410/debug-macro.S
whilst these where being experimented with.

Signed-off-by: Ben Dooks <ben-linux@fluff.org>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
16 years ago[ARM] 4791/1: S3C2412: Make fclk a parent of msysclk
Ben Dooks [Mon, 28 Jan 2008 12:01:31 +0000 (13:01 +0100)]
[ARM] 4791/1: S3C2412: Make fclk a parent of msysclk

In the S3C2412 fclk is derived from msysclk, not straight from
the MPLL output. Set clk_f.parent appropriately.

Signed-off-by: Ben Dooks <ben-linux@fluff.org>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
16 years ago[ARM] 4790/1: S3C2412: Fix parent selection for msysclk.
Ben Dooks [Mon, 28 Jan 2008 12:01:30 +0000 (13:01 +0100)]
[ARM] 4790/1: S3C2412: Fix parent selection for msysclk.

The msysclk clock was checking for the wrong PLL for the
parent in s3c2412_setparent_msysclk(), trying the UPLL instead
of the MPLL output.

Also ensure the mpll and fclks are at the same rate at init time.

Signed-off-by: Ben Dooks <ben-linux@fluff.org>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
16 years ago[ARM] 4789/1: S3C2412: Add missing CLKDIVN register values
Ben Dooks [Mon, 28 Jan 2008 12:01:29 +0000 (13:01 +0100)]
[ARM] 4789/1: S3C2412: Add missing CLKDIVN register values

Add S3C2412_CLKDIVN_DVSEN and S3C2412_CLKDIVN_HALFHCLK definitions to
the S3C2412_CLKDIVN set.

Signed-off-by: Ben Dooks <ben-linux@fluff.org>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
16 years ago[ARM] 4788/1: S3C24XX: Fix paramet to s3c2410_dma_ctrl if S3C2410_DMAF_AUTOSTART...
Ben Dooks [Mon, 28 Jan 2008 12:01:28 +0000 (13:01 +0100)]
[ARM] 4788/1: S3C24XX: Fix paramet to s3c2410_dma_ctrl if S3C2410_DMAF_AUTOSTART used.

Fix the channel parameter to s3c2410_dma_ctrl() in s3c2410_dma_enqueue()
if the S3C2410_DMAF_AUTOSTART is set on the channel.

Spotted by Steven Ryu at Samsung.

Signed-off-by: Ben Dooks <ben-linux@fluff.org>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
16 years ago[ARM] 4787/1: S3C24XX: s3c2410_dma_request() should return the allocated channel...
Ben Dooks [Mon, 28 Jan 2008 12:01:27 +0000 (13:01 +0100)]
[ARM] 4787/1: S3C24XX: s3c2410_dma_request() should return the allocated channel number

The s3c2410_dma_request() function should return the channel allocated
instead of zero for success.

Signed-off-by: Ben Dooks <ben-linux@fluff.org>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
16 years ago[ARM] 4786/1: S3C2412: Add SPI FIFO controll constants
Ben Dooks [Mon, 28 Jan 2008 12:01:26 +0000 (13:01 +0100)]
[ARM] 4786/1: S3C2412: Add SPI FIFO controll constants

Add control constants for the S3C2412 SPI unit FIFO.

Signed-off-by: Ben Dooks <ben-linux@fluff.org>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
16 years ago[ARM] 4785/1: S3C24XX: Add _SHIFT definitions for S3C2410_BANKCON registers
Ben Dooks [Mon, 28 Jan 2008 12:01:25 +0000 (13:01 +0100)]
[ARM] 4785/1: S3C24XX: Add _SHIFT definitions for S3C2410_BANKCON registers

Add definitions to allow easier decomposotion of the contents of
the S3C2410_BANKON registers

Signed-off-by: Ben Dooks <ben-linux@fluff.org>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
16 years ago[ARM] 4784/1: S3C24XX: Fix GPIO restore glitches
Ben Dooks [Mon, 28 Jan 2008 12:01:24 +0000 (13:01 +0100)]
[ARM] 4784/1: S3C24XX: Fix GPIO restore glitches

The core resume code may have caused glitches in the GPIO when
restoring the GPIO state due to the order in which the GPIO registers
were being written.

Change the restore process take into account the state of the
GPIOs on resume and the state the system wants to restore them to.

See the code comments in the patch for more details of the process.

Signed-off-by: Ben Dooks <ben-linux@fluff.org>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
16 years ago[ARM] 4783/1: S3C24XX: Add s3c2410_gpio_getpull()
Ben Dooks [Mon, 28 Jan 2008 12:01:23 +0000 (13:01 +0100)]
[ARM] 4783/1: S3C24XX: Add s3c2410_gpio_getpull()

Add the call s3c2410_gpio_getpull() to return the
current state of the pin's pull-up.

Signed-off-by: Ben Dooks <ben-linux@fluff.org>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
16 years ago[ARM] 4782/1: S3C24XX: Define FIQ_START for any FIQ users
Ben Dooks [Mon, 28 Jan 2008 12:01:22 +0000 (13:01 +0100)]
[ARM] 4782/1: S3C24XX: Define FIQ_START for any FIQ users

Ensure FIQ_START is defined to allow anyone to use FIQ code on
an S3C24XX based CPU.

Signed-off-by: Ben Dooks <ben-linux@fluff.org>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
16 years ago[ARM] 4781/1: S3C24XX: DMA suspend and resume support
Ben Dooks [Mon, 28 Jan 2008 12:01:21 +0000 (13:01 +0100)]
[ARM] 4781/1: S3C24XX: DMA suspend and resume support

If an DMA channel was active at suspend, then ensure that
it is correctly reconfigured when the system resumes.

Note, the previous policy was for each driver to handle their
own reconfiguration on resume. The policy has been changed to
make the individual driver's job easier.

Signed-off-by: Ben Dooks <ben-linux@flfuf.org>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
16 years ago[ARM] 4780/1: S3C2412: Allow for seperate DMA channels for TX and RX
Ben Dooks [Mon, 28 Jan 2008 12:01:20 +0000 (13:01 +0100)]
[ARM] 4780/1: S3C2412: Allow for seperate DMA channels for TX and RX

The current S3C24XX DMA code does not allow for an peripheral
that has one channel for RX and another for TX.

This patch adds a per-cpu dma operation to select the transmit
or receive channel, and adds support to the S3C2412 for the
seperate DMA channels for TX and RX.

Signed-off-by: Ben Dooks <ben-linux@fluff.org>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
16 years ago[ARM] 4779/1: S3C2412: Add s3c2412_gpio_set_sleepcfg() call
Ben Dooks [Mon, 28 Jan 2008 12:01:19 +0000 (13:01 +0100)]
[ARM] 4779/1: S3C2412: Add s3c2412_gpio_set_sleepcfg() call

Add s3c2412_gpio_set_sleepcfg() to allow the setting of the sleep
configuration of the GPIO blocks.

Signed-off-by: Ben Dooks <ben-linux@fluff.org>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
16 years ago[ARM] 4778/1: S3C2412: Add armclk and init from DVS state
Ben Dooks [Mon, 28 Jan 2008 12:01:18 +0000 (13:01 +0100)]
[ARM] 4778/1: S3C2412: Add armclk and init from DVS state

Add armclk to the S3C2412 to indicate the current clock connected to
the ARM core.

Signed-off-by: Ben Dooks <ben-linux@fluff.org>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
16 years ago[ARM] 4777/1: S3C24XX: Ensure clk_set_rate() checks the set_rate method for the clk
Ben Dooks [Mon, 28 Jan 2008 12:01:17 +0000 (13:01 +0100)]
[ARM] 4777/1: S3C24XX: Ensure clk_set_rate() checks the set_rate method for the clk

Add checks for clk_set_rate() and ensure that we do not allow set_rate
to be called for a clock that does not have it defined. Add default
methods for fclk, hclk, pclk and mpll.

Signed-off-by: Ben Dooks <ben-linux@fluff.org>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
16 years ago[ARM] 4775/1: s3c2410: fix compilation error if only s3c2442 cpu is selected
Krzysztof Helt [Sun, 27 Jan 2008 18:01:18 +0000 (19:01 +0100)]
[ARM] 4775/1: s3c2410: fix compilation error if only s3c2442 cpu is selected

This patch fixes compilation error if only a machine with
s3c2442 cpu is selected but without s3c2440 cpu selected.

Signed-off-by: Krzysztof Helt <krzysztof.h1@wp.pl>
Acked-by: Ben Dooks <ben-linux@fluff.org>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
16 years ago[ARM] 4731/1: S3C2412: Check for incomplete sleep
Ben Dooks [Sun, 23 Dec 2007 02:09:34 +0000 (03:09 +0100)]
[ARM] 4731/1: S3C2412: Check for incomplete sleep

Check if the sleep command returns due to a pending interrupt
in the standby unit. If this happens, try and ack the IRQ
before re-trying the resume.

It is currently unclear whether the resume can be backed out
of at this stage as this could cause a problem with level
based interrupts.

Signed-off-by: Ben Dooks <ben-linux@fluff.org>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
16 years ago[ARM] 4730/1: S3C2412: Ensure the PWRCFG has the right mode for RTC wake
Ben Dooks [Sun, 23 Dec 2007 02:09:33 +0000 (03:09 +0100)]
[ARM] 4730/1: S3C2412: Ensure the PWRCFG has the right mode for RTC wake

Ensure that if the RTC IRQ is not selected for wake in the
base configuration, then the PWRCFG has the same value set
in it.

Signed-off-by: Ben Dooks <ben-linux@fluff.org>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
16 years ago[ARM] 4729/1: VR1000: Do not add IIS device on initialisation
Ben Dooks [Sun, 23 Dec 2007 02:09:36 +0000 (03:09 +0100)]
[ARM] 4729/1: VR1000: Do not add IIS device on initialisation

The IIS device is being registered by the Simtec Audio
driver, and thus registering here causes an error due
to device tree naming collision.

Signed-off-by: Ben Dooks <ben-linux@fluff.org>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
16 years ago[ARM] 4728/1: BAST: Do not add IIS device on initialisation
Ben Dooks [Sun, 23 Dec 2007 02:09:35 +0000 (03:09 +0100)]
[ARM] 4728/1: BAST: Do not add IIS device on initialisation

The IIS device is being registered by the Simtec Audio
driver, and thus registering here causes an error due
to device tree naming collision.

Signed-off-by: Ben Dooks <ben-linux@fluff.org>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
16 years ago[ARM] 4727/1: S3C2412: Remove unused GPESLPCON
Ben Dooks [Sun, 23 Dec 2007 02:09:37 +0000 (03:09 +0100)]
[ARM] 4727/1: S3C2412: Remove unused GPESLPCON

S3C2412_GPESLPCON does not exist in the register
mappings, so remove it.

Signed-off-by: Ben Dooks <ben-linux@fluff.org>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
16 years ago[ARM] 4726/1: S3C2412: IIS register definitions
Ben Dooks [Sun, 23 Dec 2007 02:09:39 +0000 (03:09 +0100)]
[ARM] 4726/1: S3C2412: IIS register definitions

The S3C2412 IIS engine differs from the previous
SoC in the range, so add a set of register definitions
in a seperate file for it.

Signed-off-by: Ben Dooks <ben-linux@fluff.org>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
16 years ago[ARM] 4725/1: S3C2412: Fix IIS and SDI definitions in DMA map
Ben Dooks [Sun, 23 Dec 2007 02:09:40 +0000 (03:09 +0100)]
[ARM] 4725/1: S3C2412: Fix IIS and SDI definitions in DMA map

The IIS and SDI register hw_addr definitions are
incorrect in the DMA map for the S3C2412.

Signed-off-by: Ben Dooks <ben-linux@fluff.org>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
16 years ago[ARM] 4724/1: S3C2412: Select S3C2410 base GPIO implementation
Ben Dooks [Sun, 23 Dec 2007 02:09:30 +0000 (03:09 +0100)]
[ARM] 4724/1: S3C2412: Select S3C2410 base GPIO implementation

The S3C2412 GPIO is similar enough to the S3C2410 that
it can use it as a base for GPIO functionality.

Signed-off-by: Ben Dooks <ben-linux@fluff.org>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
16 years ago[ARM] 4723/1: BAST: Fix LCD driver default display setting
Ben Dooks [Sun, 23 Dec 2007 02:09:38 +0000 (03:09 +0100)]
[ARM] 4723/1: BAST: Fix LCD driver default display setting

We have a default display set to 4, when we only have
three registered displays. Fix this argument (a seperate
patch has been generated to ensure that the LCD driver
takes notice of this bug)

Signed-off-by: Ben Dooks <ben-linux@fluff.org>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
16 years ago[ARM] 4722/1: S3C24XX: Improve output if watchdog reset fails
Ben Dooks [Sun, 23 Dec 2007 02:09:32 +0000 (03:09 +0100)]
[ARM] 4722/1: S3C24XX: Improve output if watchdog reset fails

If the watchdog reset fails and we decided to take the jump
to zero approach, allow 50ms for the UARTS to drain the FIFOs
before calling into a bootloader that may flush the output.

Also reduece the waits and the timeout values as 5 seconds is
rather long.

Signed-off-by: Ben Dooks <ben-linux@fluff.org>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
16 years ago[ARM] 4721/1: S3C24XX: Ensure watchdog clock is enbaled for hard reset
Ben Dooks [Sun, 23 Dec 2007 02:09:31 +0000 (03:09 +0100)]
[ARM] 4721/1: S3C24XX: Ensure watchdog clock is enbaled for hard reset

If the hard reset routine is using the watchdog, then
ensure that the clock for the watchdog has been enabled
before we try and issue a reset.

Signed-off-by: Ben Dooks <ben-linux@fluff.org>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
16 years ago[ARM] 4720/1: S3C2412: Add power configuration registers for battery flat behaviour.
Ben Dooks [Sun, 23 Dec 2007 02:09:28 +0000 (03:09 +0100)]
[ARM] 4720/1: S3C2412: Add power configuration registers for battery flat behaviour.

Add the S3C2412_PWRCFG values for the action taken on detecting that
the battery is flat.

Signed-off-by: Ben Dooks <ben-linux@fluff.org>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
16 years ago[ARM] 4719/1: S3C2412: Update SPI register definitions for the S3C2412
Ben Dooks [Sun, 23 Dec 2007 02:09:29 +0000 (03:09 +0100)]
[ARM] 4719/1: S3C2412: Update SPI register definitions for the S3C2412

Add S3C2412 register definitions.

Signed-off-by: Ben Dooks <ben-linux@fluff.org>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
16 years ago[ARM] 4762/1: Basic support for Toradex Colibri module
Daniel Mack [Wed, 23 Jan 2008 13:54:50 +0000 (14:54 +0100)]
[ARM] 4762/1: Basic support for Toradex Colibri module

This patch adds support for Toradex' PXA27x based Colibri module.
It's kept as simple as possible to only provide basic functionality.
A default config is also included.

Signed-off-by: Daniel Mack <daniel@caiaq.de>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
16 years ago[ARM] pxa: fix mci_init functions returning -1
Russell King [Wed, 23 Jan 2008 14:05:58 +0000 (14:05 +0000)]
[ARM] pxa: fix mci_init functions returning -1

Fix all those PXA mci_init functions which return -1 rather than
propagating the error code to the higher levels.  Remove the silly
set_irq_type() calls as well - use the flags for request_irq()
instead.

Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
16 years ago[ARM] 4737/1: Refactor corgi_lcd to improve readability + bugfix
Richard Purdie [Wed, 2 Jan 2008 00:09:54 +0000 (01:09 +0100)]
[ARM] 4737/1: Refactor corgi_lcd to improve readability + bugfix

This patch refactors the code in corgi_lcd.c moving it to the board
specific corgi and spitz files where appropriate instead of the
existing ifdef mess which hinders readability.

Fix spitz_get_hsync_len() to call get_hsync_invperiod so pxafb can be
compiled as a module.

The confusing variables which represent the inverse horizintal sync
period are renamed to "invperiod" consistently.

An incorrect comment in corgi_ts.c is also corrected.

Signed-off-by: Richard Purdie <rpurdie@rpsys.net>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
16 years ago[ARM] 4747/1: pcm027: support for pcm990 baseboard for phyCORE-PXA270
Robert Schwebel [Tue, 8 Jan 2008 07:52:04 +0000 (08:52 +0100)]
[ARM] 4747/1: pcm027: support for pcm990 baseboard for phyCORE-PXA270

This patch adds baseboard support for the phyCORE-PXA270 development
kit (aka PCM-990).

This example shows how to use some phyCORE-PXA270 CPU module features
on a baseboard in a standard manner. It could be used as a starting
point for custom baseboard development.

V2:
 After comments by Eric Miao:
  - IRQ chained handler fixed
  - video/graphic support moved to separate patch
  - ifdef/endif hell reduced ;-)

V3:
 After comments by Russell King
  - initialise the mmci platform data statically

V4:
 After comments by Russell King
  - wrong return value in pcm990_mci_init() fixed

Signed-off-by: Juergen Beisert <j.beisert@pengutronix.de>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>