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
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
Linus Torvalds [Mon, 28 Jan 2008 21:49:49 +0000 (08:49 +1100)]
Merge branch 'for-linus' of /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
...
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>
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>
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>
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
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
Robert Schwebel [Tue, 8 Jan 2008 07:50:02 +0000 (08:50 +0100)]
[ARM] 4746/1: pcm027: network support for phyCORE-PXA270
This patch adds SMC91x support for the phyCORE-PXA270 CPU module (aka PCM-027).
Signed-off-by: Juergen Beisert <j.beisert@pengutronix.de>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Robert Schwebel [Tue, 8 Jan 2008 07:48:17 +0000 (08:48 +0100)]
[ARM] 4745/1: pcm027: default configuration
This patch adds a basic configration for the phyCORE-PXA270 development kit. In this case development kit means PCM-990 (main baseboard).
Signed-off-by: Juergen Beisert <j.beisert@pengutronix.de>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Robert Schwebel [Tue, 8 Jan 2008 07:44:23 +0000 (08:44 +0100)]
[ARM] 4744/1: pcm027: add support for phyCORE-PXA270 CPU module
This patch adds main support for the generic phyCORE-PXA270 CPU module
(aka PCM-027). Its as generic as possible to support any kind of baseboard.
Note: Neither the CPU module nor the pcm027.c implementation can work without
a baseboard support. Baseboard support can be added by the PCM-990 or any
custom variant.
V2:
After comments by Eric Miao:
- Currently unsupported devices moved into separate patch
- direct call of baseboard initialisation
V3:
After comments by Russell King
- sort include files
- setting RTC bit for power control removed
- style problems fixed (discovered by checkpatch.pl)
Signed-off-by: Juergen Beisert <j.beisert@pengutronix.de>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Russell King [Mon, 14 Jan 2008 22:30:10 +0000 (22:30 +0000)]
[NET] smc91x: Make smc91x use IRQ resource trigger flags
smc91x is shared between many different platforms. Each platform needs
to specify the interrupt type, and in some cases the irq type depends
on more than just the build configuration - it depends on runtime
checks.
Rather than throwing this code into the SMC_IRQ_FLAGS definition, provide
a way for these flags to be passed via the IRQ resource itself.
Note that IRQF_TRIGGER_* constants are intentionally defined to correspond
with the IORESOURCE_IRQ_* interrupt type flags, in much the same way that
the low bits of PCI iomem resources correspond with the BAR flag bits.
Also provide a way to configure smc91x to read the IRQ flags from the
resource. Once all platforms have been converted over (signified
by all definitions of SMC_IRQ_FLAGS being -1) SMC_IRQ_FLAGS should
be removed.
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Acked-by: Nicolas Pitre <nico@cam.org>
Acked-by: Jeff Garzik <jgarzik@redhat.com>
eric miao [Fri, 21 Dec 2007 03:18:48 +0000 (11:18 +0800)]
[ARM] pxa: add default config for littleton
default to
- PXA300/PXA310 support only (there isn't any littleton board with PXA320
processor for now)
- smc91x ethernet support with NFS rootfs
- LCD framebuffer support with graphics console
Signed-off-by: eric miao <eric.miao>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
eric miao [Thu, 13 Dec 2007 02:41:43 +0000 (10:41 +0800)]
[ARM] pxa: add basic support for Littleton (PXA3xx Form Factor Platform)
Signed-off-by: eric miao <eric.miao@marvell.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Philipp Zabel [Thu, 22 Nov 2007 16:59:11 +0000 (17:59 +0100)]
[ARM] 4664/1: Add basic support for HTC Magician PDA phones
This includes irda, gpio keys, pxafb, backlight, ohci and flash
(read-only).
Signed-off-by: Philipp Zabel <philipp.zabel@gmail.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Ian Molton [Mon, 19 Nov 2007 12:16:56 +0000 (13:16 +0100)]
[ARM] 4649/1: Base support for pxa-based Toshiba e-series PDAs.
This patch contains the base code to boot the Toshiba e330, e740,
e750, e400, and e800 PDAs.
Signed-off-by: Ian Molton <spyro@f2s.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Dmitry Baryshkov [Sun, 27 Jan 2008 22:11:48 +0000 (23:11 +0100)]
[ARM] 4776/1: Add HWUART clock to fix hwuart support
This adds back the registration of HWUART clock on pxa25x
Signed-off-by: Dmitry Baryshkov <dbaryshkov@gmail.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Jens Axboe [Mon, 28 Jan 2008 12:19:43 +0000 (13:19 +0100)]
cfq-iosched: kill some big inlines
Use of inlines were a bit over the top, trim them down a bit.
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
Russell King [Mon, 28 Jan 2008 10:59:09 +0000 (10:59 +0000)]
[ARM] Fix class_device damage caused by
0c55445f201841bfd6c658c47df8311b6722f002
Lots of compile errors in drivers/mfd/ucb1x00-assabet.c...
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Jens Axboe [Mon, 28 Jan 2008 10:38:15 +0000 (11:38 +0100)]
cfq-iosched: relax IOPRIO_CLASS_IDLE restrictions
Currently you must be root to set idle io prio class on a process. This
is due to the fact that the idle class is implemented as a true idle
class, meaning that it will not make progress if someone else is
requesting disk access. Unfortunately this means that it opens DOS
opportunities by locking down file system resources, hence it is root
only at the moment.
This patch relaxes the idle class a little, by removing the truly idle
part (which entals a grace period with associated timer). The
modifications make the idle class as close to zero impact as can be done
while still guarenteeing progress. This means we can relax the root only
criteria as well.
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
Russell King [Mon, 28 Jan 2008 10:16:37 +0000 (10:16 +0000)]
[ARM] Fix timer damage from
d3d74453c34f8fd87674a8cf5b8a327c68f22e99
Move the xtime write mode seqlock into timer_tick(), so it only
surrounds the call to do_timer().
This avoids a deadlock in update_process_times() ...
hrtimer_get_softirq_time() which tries to get a read mode seqlock
on xtime, thereby preventing booting.
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
eric miao [Thu, 24 Jan 2008 01:27:30 +0000 (02:27 +0100)]
[ARM] 4763/1: pxa: fix pxa3xx_get_clk_frequency_khz() to return KHz
The original code incorrectly returns Hz instead of KHz.
Signed-off-by: eric miao <eric.miao@marvell.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
James Bottomley [Sun, 13 Jan 2008 20:15:28 +0000 (14:15 -0600)]
SG: work with the SCSI fixed maximum allocations.
SCSI sg table allocation has a maximum size (of SCSI_MAX_SG_SEGMENTS,
currently 128) and this will cause a BUG_ON() in SCSI if something
tries an allocation over it. This patch adds a size limit to the
chaining allocator to allow the specification of the maximum
allocation size for chaining, so we always chain in units of the
maximum SCSI allocation size.
Signed-off-by: James Bottomley <James.Bottomley@HansenPartnership.com>
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
Jens Axboe [Thu, 24 Jan 2008 07:54:47 +0000 (08:54 +0100)]
kernel: add CLONE_IO to specifically request sharing of IO contexts
syslets (or other threads/processes that want io context sharing) can
set this to enforce sharing of io context.
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
Jens Axboe [Mon, 21 Jan 2008 19:03:12 +0000 (20:03 +0100)]
io_context sharing - anticipatory changes
changes to anticipatory io scheduler for io_context sharing
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
Jens Axboe [Thu, 24 Jan 2008 07:44:49 +0000 (08:44 +0100)]
block: cfq: make the io contect sharing lockless
The io context sharing introduced a per-ioc spinlock, that would protect
the cfq io context lookup. That is a regression from the original, since
we never needed any locking there because the ioc/cic were process private.
The cic lookup is changed from an rbtree construct to a radix tree, which
we can then use RCU to make the reader side lockless. That is the performance
critical path, modifying the radix tree is only done on process creation
(when that process first does IO, actually) and on process exit (if that
process has done IO).
As it so happens, radix trees are also much faster for this type of
lookup where the key is a pointer. It's a very sparse tree.
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
Nikanth Karthikesan [Tue, 27 Nov 2007 11:47:04 +0000 (12:47 +0100)]
io_context sharing - cfq changes
changes in the cfq for io_context sharing
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
Jens Axboe [Thu, 24 Jan 2008 07:53:35 +0000 (08:53 +0100)]
io context sharing: preliminary support
Detach task state from ioc, instead keep track of how many processes
are accessing the ioc.
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
Jens Axboe [Thu, 24 Jan 2008 07:52:45 +0000 (08:52 +0100)]
ioprio: move io priority from task_struct to io_context
This is where it belongs and then it doesn't take up space for a
process that doesn't do IO.
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
Jens Axboe [Thu, 15 Nov 2007 08:13:11 +0000 (09:13 +0100)]
SG: Convert SCSI to use scatterlist helpers for sg chaining
Also change scsi_alloc_sgtable() to just return 0/failure, since it
maps to the command passed in. ->request_buffer is now no longer needed,
once drivers are adapted to use scsi_sglist() it can be killed.
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
Jens Axboe [Fri, 30 Nov 2007 08:16:50 +0000 (09:16 +0100)]
SG: Move functions to lib/scatterlist.c and add sg chaining allocator helpers
Manually doing chained sg lists is not trivial, so add some helpers
to make sure that drivers get it right.
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
Linus Torvalds [Sun, 27 Jan 2008 21:15:24 +0000 (08:15 +1100)]
Merge branch 'for-linus' of git://git./linux/kernel/git/cooloney/blackfin-2.6
* 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/cooloney/blackfin-2.6: (54 commits)
MAINTIANERS: just use Mike gmail e-mail for contact and pawn the serial driver off onto Sonic
[Blackfin] arch: remove old I2C BF54x porting.
[Blackfin] arch: Add the semtimedop syscall. Upstream uClibc doesn't compile without it.
[Blackfin] arch: fix bug kernel boot message: memory information is not reasonable
[Blackfin] arch: use common flash driver to setup partitions rather than the bf5xx-flash driver
[Blackfin] arch: Fix bug - kernel build with Debug option enabled fails to boot up
[Blackfin] arch: Fix bug Only RTC interrupt can wake up deeper sleep core.
[Blackfin] arch: Add proper SW System Reset delay sequence
[Blackfin] arch: Update copyright date
[Blackfin] arch: GPIO API cleanup and anomaly update
[Blackfin] arch: Fix BUG gpio_direction_output API is not compatitable with GENERIC_GPIO API interface
[Blackfin] arch: Initial checkin of the memory protection support.
[Blackfin] arch: set_bfin_dma_config shouldnt set SYNC or RESTART by default - add argument or option
[Blackfin] arch: Add some comments - fix semicolons
[Blackfin] arch: move all code related to CPLB handling into a new subdirectory under kernel/
[Blackfin] arch: print out list of modules if kernel is crashing and tell people if the kernel is tainted
[Blackfin] arch: enable generic GPIO based I2C driver in STAMP-BF533, EZKIT-BF533 and EZKIT-BF561 boards
[Blackfin] arch: Don't oops_in_progress if single step is comming from the kernel
[Blackfin] arch: Fix BUG - kernel sometimes would stuck with KEYBOARD_GPIO on
[Blackfin] arch: update to latest anomaly sheets
...
David Brownell [Mon, 14 Jan 2008 07:53:22 +0000 (08:53 +0100)]
[ARM] 4615/4: sam926[13]ek buttons updated
From: Nicolas Ferre <nicolas.ferre@rfo.atmel.com>
On the at92sam9263ek board, tell the input subsystem about the buttons.
This patch is taken from Andrew Victor's at91 patchset, then updated to
match the latest kernel code and to use labels printed on the board.
Also update the at91sam9261ek buttons to cope with input changes.
Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
Acked-by: Andrew Victor <linux@maxim.org.za>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Kalle Pokki [Sun, 27 Jan 2008 17:14:52 +0000 (18:14 +0100)]
i2c-bfin-twi: Register adapter with a specific bus number
All the users of this driver explicitly specify the I2C bus numbers
to be used in their platform data. Make the driver respect that.
Signed-off-by: Kalle Pokki <kalle.pokki@eke.fi>
Cc: Bryan Wu <bryan.wu@analog.com>
Signed-off-by: Jean Delvare <khali@linux-fr.org>
Manuel Lauss [Sun, 27 Jan 2008 17:14:52 +0000 (18:14 +0100)]
i2c-au1550: Convert to platform driver
Convert the i2c-au1550 bus driver to platform driver, and
register a platform device for the Alchemy Db/Pb series of
boards.
Signed-off-by: Manuel Lauss <mano@roarinelk.homelinux.net>
Signed-off-by: Jean Delvare <khali@linux-fr.org>
Manuel Lauss [Sun, 27 Jan 2008 17:14:52 +0000 (18:14 +0100)]
i2c-au1550: properly terminate zero-byte transfers
Zero-bytes transfers would leave the bus transaction unfinished
(no i2c stop is sent), with the following transfer actually
sending the slave address to the previously addressed device,
resulting in weird device failures (e.g. reset minute register
values in my RTC).
This patch instructs the controller to send an I2C STOP right after
the slave address in case of a zero-byte transfer.
Signed-off-by: Manuel Lauss <mano@roarinelk.homelinux.net>
Signed-off-by: Jean Delvare <khali@linux-fr.org>
Jon Smirl [Sun, 27 Jan 2008 17:14:52 +0000 (18:14 +0100)]
mpc-i2c: Propagate error values properly
Propagate the error values returned by i2c_wait() instead of overriding
them with a meaningless -1.
Signed-off-by: Jon Smirl <jonsmirl@gmail.com>
Signed-off-by: Jean Delvare <khali@linux-fr.org>
David Brownell [Sun, 27 Jan 2008 17:14:52 +0000 (18:14 +0100)]
i2c: Add i2c_new_dummy() utility
This adds a i2c_new_dummy() primitive to help work with devices
that consume multiple addresses, which include many I2C eeproms
and at least one RTC.
Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
Signed-off-by: Jean Delvare <khali@linux-fr.org>
Jean Delvare [Sun, 27 Jan 2008 17:14:52 +0000 (18:14 +0100)]
i2c: Drop legacy locking in i2c_new_probed_device
It is no longer required to hold adapter->clist_lock to call
i2c_check_addr.
Signed-off-by: Jean Delvare <khali@linux-fr.org>
Cc: David Brownell <david-b@pacbell.net>
Jean Delvare [Sun, 27 Jan 2008 17:14:51 +0000 (18:14 +0100)]
i2c: Limit locking scope in i2c_detach_client
We only need to hold adapter->clist_lock when we touch the client list.
Signed-off-by: Jean Delvare <khali@linux-fr.org>
David Brownell [Sun, 27 Jan 2008 17:14:51 +0000 (18:14 +0100)]
i2c-remove-redundant-i2c_client-list.patch
This goes on top of the patch removing most i2c_adapter.clients usage,
updating i2c_attach_client:
- Don't call device_register() while holding clist_lock. This
removes a self-deadlock when on the i2c_driver.probe() path,
for drivers that need to attach new devices (e.g. dummies).
- Remove a redundant address check. The driver model core does
this as a consequence of guaranteeing unique names.
- Move the "device registered" diagnostic so that it never lies;
previously, on error paths it would falsely report success.
Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
Signed-off-by: Jean Delvare <khali@linux-fr.org>
Jean Delvare [Sun, 27 Jan 2008 17:14:51 +0000 (18:14 +0100)]
i2c: Drivers stop using the redundant client list
The redundant i2c client list maintained by i2c-core is going away
soon, so drivers should stop using it now. Instead, they can use the
standard iterator provided by the device driver model
(device_for_each_child).
Signed-off-by: Jean Delvare <khali@linux-fr.org>
Cc: David Brownell <david-b@pacbell.net>
Cc: Michael Hunold <michael@mihu.de>
David Brownell [Sun, 27 Jan 2008 17:14:51 +0000 (18:14 +0100)]
i2c: Stop using the redundant client list
The i2c_adapter.clients list of i2c_client nodes duplicates driver
model state. This patch starts removing that list, letting us remove
most existing users of those i2c-core lists.
* The core I2C code now iterates over the driver model's list instead
of the i2c-internal one in some places where it's safe:
- Passing a command/ioctl to each client, a mechanims
used almost exclusively by DVB adapters;
- Device address checking, in both i2c-core and i2c-dev.
* Provide i2c_verify_client() to use with driver model iterators.
* Flag the relevant i2c_adapter and i2c_client fields as deprecated,
to help prevent new users from appearing.
For the moment the list needs to stick around, since some issues show
up when deleting devices created by legacy I2C drivers. (They don't
follow standard driver model rules. Removing those devices can cause
self-deadlocks.)
Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
Signed-off-by: Jean Delvare <khali@linux-fr.org>
Jean Delvare [Sun, 27 Jan 2008 17:14:51 +0000 (18:14 +0100)]
i2c-viapro: Add support for the VT8237S
Add support for another variant of the VT8237. I couldn't test
I2C block support but I assume it is present as well.
Signed-off-by: Jean Delvare <khali@linux-fr.org>
Jean Delvare [Sun, 27 Jan 2008 17:14:51 +0000 (18:14 +0100)]
i2c-piix4: Drop redundant PCI function number check
Checking the PCI function number doesn't add any value, and it makes
adding dynamic IDs to the driver more difficult. Drop this check.
Signed-off-by: Jean Delvare <khali@linux-fr.org>
Jean Delvare [Sun, 27 Jan 2008 17:14:51 +0000 (18:14 +0100)]
i2c: Let the user specify PCI driver data through new_id
The i2c-amd756 and i2c-viapro drivers make use of the driver_data
field of the PCI device ID. When adding device IDs dynamically (by
writing to the new_id sysfs file) you cannot set the value of this
field by default. It has to be allowed explicitly. Do that, and
check the value so that the user can't crash the kernel accidentally.
Signed-off-by: Jean Delvare <khali@linux-fr.org>
Acked-by: Greg Kroah-Hartman <gregkh@suse.de>
Mike Rapoport [Sun, 27 Jan 2008 17:14:50 +0000 (18:14 +0100)]
i2c-pxa: Add polling transfer
Add polling I2C transfer implementation for PXA I2C. This is needed
for cases where I2C transactions have to occur at times interrups are
disabled.
Signed-off-by: Mike Rapoport <mike@compulab.co.il>
Acked-by: eric miao <eric.miao@marvell.com>
Signed-off-by: Jean Delvare <khali@linux-fr.org>
Mike Rapoport [Sun, 27 Jan 2008 17:14:50 +0000 (18:14 +0100)]
i2c: Support i2c_transfer in atomic contexts
Allow i2c_transfer to be called in contexts where sleeping is not allowed.
It is the reponsability of the caller to ensure that the underlying i2c bus
driver will not sleep either.
Signed-off-by: Mike Rapoport <mike@compulab.co.il>
Signed-off-by: Jean Delvare <khali@linux-fr.org>
Jean Delvare [Sun, 27 Jan 2008 17:14:50 +0000 (18:14 +0100)]
i2c-sibyte: Remove the bus scan module parameter
The implementation is unsafe, and anyway one can achieve the same from
userspace using i2c-dev + i2cdetect.
Also tag i2c_sibyte_add_bus __init.
Signed-off-by: Jean Delvare <khali@linux-fr.org>
Cc: Ralf Baechle <ralf@linux-mips.org>
Jean Delvare [Sun, 27 Jan 2008 17:14:50 +0000 (18:14 +0100)]
i2c: Discard unused driver IDs
Discard all I2C driver IDs that aren't used anywhere. That's not just a
couple of them, but more like 49 or one quarter of all defined IDs! And
this is just a first pass, next will come all IDs that are set but
never used, or used but never set.
Signed-off-by: Jean Delvare <khali@linux-fr.org>
Jean Delvare [Sun, 27 Jan 2008 17:14:50 +0000 (18:14 +0100)]
i2c-i801: Implement I2C block read support
I2C block read is supported since the ICH5. I couldn't get it to work
using the block buffer, so it's using the old-style byte-by-byte mode
for now.
Note: I'm also updating the driver author... The i2c-i801 driver was
really written by Mark Studebaker, even though he based his work on
the i2c-piix4 driver which was written by Philip Edelbrock.
Signed-off-by: Jean Delvare <khali@linux-fr.org>
Jean Delvare [Sun, 27 Jan 2008 17:14:50 +0000 (18:14 +0100)]
i2c-i801: Clear special mode bits as needed
Clear special mode bits (PEC, block buffer) at driver load time,
you never know in which state the device was left by its last user.
Also make sure that we reset the block buffer mode at the end of every
transaction, not only when PEC was used.
Signed-off-by: Jean Delvare <khali@linux-fr.org>
Jean Delvare [Sun, 27 Jan 2008 17:14:50 +0000 (18:14 +0100)]
i2c-i801: More explicit names for chip features
Use separate flags with explicit names to describe the features of
the ICH chip.
Signed-off-by: Jean Delvare <khali@linux-fr.org>
Jean Delvare [Sun, 27 Jan 2008 17:14:49 +0000 (18:14 +0100)]
i2c-i801: Document which chip support what feature
Provide a clearer documentation of which additional features each
ICH chip support, and which of these the driver supports.
Signed-off-by: Jean Delvare <khali@linux-fr.org>
David Brownell [Sun, 27 Jan 2008 17:14:49 +0000 (18:14 +0100)]
i2c/tps65010: move header to <linux/i2c/...>
Move the tps65010 header file from the OMAP arch directory to the
more generic <linux/i2c/...> directory, and remove the spurious
dependency of this driver on OMAP.
Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
Signed-off-by: Jean Delvare <khali@linux-fr.org>
Jean Delvare [Sun, 27 Jan 2008 17:14:49 +0000 (18:14 +0100)]
i2c: Rename main mutex
Rename the main mutex in i2c-core from core_lists to core_lock. This
makes more sense now that the redundant lists are gone.
Signed-off-by: Jean Delvare <khali@linux-fr.org>
Jean Delvare [Sun, 27 Jan 2008 17:14:49 +0000 (18:14 +0100)]
i2c: Drop redundant i2c_driver.list
i2c_driver.list is superfluous, this list duplicates the one
maintained by the driver core. Drop it.
Signed-off-by: Jean Delvare <khali@linux-fr.org>
Acked-by: David Brownell <dbrownell@users.sourceforge.net>
Jean Delvare [Sun, 27 Jan 2008 17:14:48 +0000 (18:14 +0100)]
i2c: Drop redundant i2c_adapter.list
i2c_adapter.list is superfluous, this list duplicates the one
maintained by the driver core. Drop it.
Signed-off-by: Jean Delvare <khali@linux-fr.org>
Acked-by: David Brownell <dbrownell@users.sourceforge.net>
Jean Delvare [Sun, 27 Jan 2008 17:14:48 +0000 (18:14 +0100)]
i2c: Change prototypes of refcounting functions
Use more standard prototypes for i2c_use_client() and
i2c_release_client(). The former now returns a pointer to the client,
and the latter no longer returns anything. This matches what all other
subsystems do.
Signed-off-by: Jean Delvare <khali@linux-fr.org>
Cc: David Brownell <david-b@pacbell.net>
Jean Delvare [Sun, 27 Jan 2008 17:14:48 +0000 (18:14 +0100)]
i2c: Use the driver model reference counting
Don't implement our own reference counting mechanism for i2c clients
when the driver model already has one.
Signed-off-by: Jean Delvare <khali@linux-fr.org>
Cc: David Brownell <david-b@pacbell.net>
Jean Delvare [Sun, 27 Jan 2008 17:14:47 +0000 (18:14 +0100)]
i2c: Deprecate drivers for I2C buses on video adapters
The framebuffer drivers for these pieces of hardware include support
for the DDC/I2C buses, so there is no need for separate drivers.
Signed-off-by: Jean Delvare <khali@linux-fr.org>
Jean Delvare [Sun, 27 Jan 2008 17:14:47 +0000 (18:14 +0100)]
i2c: Don't uselessly set i2c_adapter.retries
I2C adapter drivers are supposed to handle retries on nack by themselves
if they do, so there's no point in setting .retries if they don't.
As this retry mechanism is going away (at least in its current form),
clean this up now so that we don't get build failures later.
Signed-off-by: Jean Delvare <khali@linux-fr.org>
Jean Delvare [Sun, 27 Jan 2008 17:14:47 +0000 (18:14 +0100)]
i2c: Kill rogue driver IDs
I2C driver IDs are optional, so if you don't need one, just omit it.
Signed-off-by: Jean Delvare <khali@linux-fr.org>
Jean Delvare [Sun, 27 Jan 2008 17:14:47 +0000 (18:14 +0100)]
i2c: normal_i2c can be made const (remaining drivers)
Signed-off-by: Jean Delvare <khali@linux-fr.org>