kernel-ark/include/asm-arm
Ned Forrester b97c74bddc spi: pxa2xx_spi clock polarity fix
Fixes a sequencing bug in spi driver pxa2xx_spi.c in which the chip select
for a transfer may be asserted before the clock polarity is set on the
interface.  As a result of this bug, the clock signal may have the wrong
polarity at transfer start, so it may need to make an extra half transition
before the intended clock/data signals begin.  (This probably means all
transfers are one bit out of sequence.)

This only occurs on the first transfer following a change in clock polarity
in systems using more than one more than one such polarity.  The fix
assures that the clock mode is properly set before asserting chip select.

This bug was introduced in a patch merged on 2006/12/10, kernel 2.6.20.
The patch defines an additional bit in: include/asm-arm/arch-pxa/regs-ssp.h
for 2.6.25 and newer kernels but this addition must be made in:
include/asm-arm/arch-pxa/pxa-regs.h for kernels between 2.6.20 and 2.6.24,
inclusive

Signed-off-by: Ned Forrester <nforrester@whoi.edu>
Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
Cc: Russell King <rmk@arm.linux.org.uk>
Cc: <stable@kernel.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2008-02-23 17:12:14 -08:00
..
arch-aaec2000 Convert files to UTF-8 and some cleanups 2007-10-19 23:21:04 +02:00
arch-at91 [ARM] 4802/1: Fix typo and remove vague comment 2008-02-04 13:16:39 +00:00
arch-cl7500
arch-clps711x
arch-davinci [ARM] 4634/1: DaVinci GPIO header build fix 2007-10-31 15:21:52 +00:00
arch-ebsa110
arch-ebsa285
arch-ep93xx [ARM] 4671/1: ep93xx: remove obsolete gpio_line_* operations 2008-01-26 14:37:31 +00:00
arch-h720x
arch-imx imxfb: fast read flag and nonstandard field configurable 2007-10-16 09:43:21 -07:00
arch-integrator
arch-iop13xx async_tx: replace 'int_en' with operation preparation flags 2008-02-06 10:12:18 -07:00
arch-iop32x [ARM] 4476/1: EM7210/SS4000E support 2007-07-20 09:35:35 +01:00
arch-iop33x iop3xx: surface the iop3xx DMA and AAU units to the iop-adma driver 2007-07-13 08:06:19 -07:00
arch-ixp4xx Merge branch 'for-linus' of master.kernel.org:/home/rmk/linux-2.6-arm 2008-02-04 15:29:53 -08:00
arch-ixp23xx [ARM] 4680/1: parentheses around NR_IRQS definition 2007-11-29 20:56:57 +00:00
arch-ixp2000
arch-ks8695 [ARM] 4603/1: KS8695: debugfs interface to view pin state 2008-01-26 14:38:48 +00:00
arch-l7200
arch-lh7a40x
arch-msm [ARM] msm: dma support for MSM7X00A 2008-01-26 14:39:14 +00:00
arch-mxc [ARM] 4530/1: MXC: fix elf_hwcap compile breakage as in iop13xx 2007-07-28 20:52:55 +01:00
arch-netx
arch-ns9xxx [ARM] 4595/1: ns9xxx: define registers as void __iomem * instead of volatile u32 2007-10-12 23:43:41 +01:00
arch-omap ARM: OMAP1: Use MMC multislot structures for Siemens SX1 board 2008-02-08 10:38:01 -08:00
arch-orion [ARM] Orion: free up kernel virtual address space 2008-02-08 11:52:23 -05:00
arch-pnx4008
arch-pxa spi: pxa2xx_spi clock polarity fix 2008-02-23 17:12:14 -08:00
arch-realview [ARM] 4822/1: RealView: Change the REALVIEW_MPCORE configuration option 2008-02-04 17:52:28 +00:00
arch-rpc [ARM] 4564/1: Add tagged list support for Acorn RiscPC's uncompress code 2007-10-12 23:43:11 +01:00
arch-s3c2400 [ARM] 4522/1: S3C: split include/asm-arm/arch/memory.h 2007-07-22 17:06:04 +01:00
arch-s3c2410 FB/S3C2412: add S3C2412 support to S3C2410 fb driver 2008-02-06 10:41:17 -08:00
arch-sa1100 [ARM] unbalanced parenthesis fix 2007-10-12 23:43:21 +01:00
arch-shark
arch-versatile fix typo 'the same the\>' 2008-02-03 14:59:11 +02:00
hardware async_tx: replace 'int_en' with operation preparation flags 2008-02-06 10:12:18 -07:00
mach [ARM] 4835/1: Fix stale comment in struct machine_desc description 2008-02-21 21:13:35 +00:00
plat-s3c [ARM] 4632/1: Fix a typo in include/asm-arm/plat-s3c/regs-nand.h 2007-10-31 15:21:33 +00:00
plat-s3c24xx [ARM] 4786/1: S3C2412: Add SPI FIFO controll constants 2008-01-28 13:20:51 +00:00
.gitignore
a.out-core.h aout: suppress A.OUT library support if !CONFIG_ARCH_SUPPORTS_AOUT 2008-02-08 09:22:30 -08:00
a.out.h aout: move STACK_TOP[_MAX] to asm/processor.h 2008-02-08 09:22:29 -08:00
assembler.h
atomic.h
auxvec.h
bitops.h ext4: Add ext4_find_next_bit() 2008-01-28 23:58:27 -05:00
bug.h
bugs.h
byteorder.h
cache.h
cacheflush.h [ARM] Marvell Feroceon CPU core support 2008-01-26 15:03:38 +00:00
checksum.h
cnt32_to_63.h
cpu-multi32.h
cpu-single.h
cpu.h
cputime.h
current.h
delay.h
device.h
div64.h
dma-mapping.h arm: sg fallout 2007-10-23 12:37:59 +02:00
dma.h
domain.h
dyntick.h
ecard.h
elf.h Cleanup asm/{elf,page,user}.h: #ifdef __KERNEL__ is no longer needed 2008-02-07 08:42:30 -08:00
emergency-restart.h
errno.h
fb.h fbdev: detect primary display device 2007-07-17 10:23:11 -07:00
fcntl.h
fiq.h
flat.h [ARM] nommu: fix breakage caused by f9720205d1 2007-10-31 15:21:42 +00:00
floppy.h cleanup floppy.h 2007-10-17 08:42:55 -07:00
fpstate.h [ARM] 4583/1: ARMv7: Add VFPv3 support 2008-01-26 14:41:28 +00:00
futex.h
glue.h
gpio.h
hardirq.h
hardware.h
hw_irq.h
hwcap.h
ide.h ide: add CONFIG_IDE_ARCH_OBSOLETE_INIT 2007-10-20 00:32:32 +02:00
io.h endianness annotations in arm io.h 2007-10-14 12:41:52 -07:00
ioctl.h
ioctls.h
ipcbuf.h
irq_regs.h
irq.h
irqflags.h
Kbuild
kdebug.h
kexec.h [ARM] 4736/1: Export atags to userspace and allow kexec to use customised atags 2008-02-04 13:21:03 +00:00
kmap_types.h
kprobes.h ARM kprobes: special hook for the kprobes breakpoint handler 2008-01-26 15:25:17 +00:00
leds.h
limits.h
linkage.h
local.h
locks.h
mc146818rtc.h
memory.h
mman.h
mmu_context.h
mmu.h
mmzone.h
module.h
msgbuf.h
mtd-xip.h
mutex.h misc: removal of final callers using fastcall 2008-02-08 09:22:31 -08:00
namei.h
nwflash.h
page-nommu.h
page.h CONFIG_HIGHPTE vs. sub-page page tables. 2008-02-08 09:22:42 -08:00
param.h
parport.h
pci.h [ARM] 4577/1: ITE 8152 PCI bridge support 2007-10-15 18:53:59 +01:00
percpu.h
pgalloc.h CONFIG_HIGHPTE vs. sub-page page tables. 2008-02-08 09:22:42 -08:00
pgtable-hwdef.h
pgtable-nommu.h [ARM] 4531/1: remove is_in_rom() protptype 2007-08-04 22:13:43 +01:00
pgtable.h [ARM] 4644/2: fix flush_kern_tlb_range() in module space 2007-11-08 10:07:14 +00:00
poll.h
posix_types.h asm-*/posix_types.h: scrub __GLIBC__ 2008-02-08 09:22:34 -08:00
proc-fns.h [ARM] Marvell Feroceon CPU core support 2008-01-26 15:03:38 +00:00
processor.h aout: move STACK_TOP[_MAX] to asm/processor.h 2008-02-08 09:22:29 -08:00
procinfo.h
ptrace.h
resource.h
rtc.h
scatterlist.h Add CONFIG_DEBUG_SG sg validation 2007-10-22 21:20:03 +02:00
sections.h
segment.h
semaphore-helper.h
semaphore.h kill DECLARE_MUTEX_LOCKED 2007-10-17 08:42:47 -07:00
sembuf.h
serial.h
setup.h
shmbuf.h
shmparam.h
sigcontext.h
siginfo.h
signal.h
sizes.h
smp.h [ARM] 4814/1: RealView: Add broadcasting clockevents support for ARM11MPCore 2008-02-04 17:52:19 +00:00
socket.h [NET]: Introducing socket mark socket option. 2008-01-31 19:27:19 -08:00
sockios.h
spinlock_types.h
spinlock.h
stat.h
statfs.h
string.h
suspend.h
system.h Add cmpxchg_local to arm 2008-02-07 08:42:31 -08:00
termbits.h
termios.h
therm.h
thread_info.h remove unused TIF_NOTIFY_RESUME flag 2007-07-31 15:39:38 -07:00
thread_notify.h
timex.h
tlb.h add mm argument to pte/pmd/pud/pgd_free 2008-02-05 09:44:18 -08:00
tlbflush.h remove unused flush_tlb_pgtables 2007-10-19 11:53:34 -07:00
topology.h
traps.h ARM kprobes: prevent some functions involved with kprobes from being probed 2008-01-26 15:25:17 +00:00
types.h remove strict ansi check from __u64 in asm/types.h 2007-10-17 08:42:53 -07:00
uaccess.h
ucontext.h
unaligned.h arm unaligned.h annotations 2007-07-26 11:11:57 -07:00
unistd.h [ARM] Add fallocate syscall entry 2007-10-12 23:43:31 +01:00
user.h Sanitize the type of struct user.u_ar0 2008-02-07 08:42:30 -08:00
vfp.h [ARM] 4583/1: ARMv7: Add VFPv3 support 2008-01-26 14:41:28 +00:00
vfpmacros.h [ARM] 4583/1: ARMv7: Add VFPv3 support 2008-01-26 14:41:28 +00:00
vga.h
xor.h