David Brownell
28735a7253
[PATCH] gpio_direction_output() needs an initial value
...
It's been pointed out that output GPIOs should have an initial value, to
avoid signal glitching ... among other things, it can be some time before
a driver is ready. This patch corrects that oversight, fixing
- documentation
- platforms supporting the GPIO interface
- users of that call (just one for now, others are pending)
There's only one user of this call for now since most platforms are still
using non-generic GPIO setup code, which in most cases already couples the
initial value with its "set output mode" request.
Note that most platforms are clear about the hardware letting the output
value be set before the pin direction is changed, but the s3c241x docs are
vague on that topic ... so those chips might not avoid the glitches.
Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
Acked-by: Andrew Victor <andrew@sanpeople.com>
Acked-by: Milan Svoboda <msvoboda@ra.rockwell.com>
Acked-by: Haavard Skinnemoen <hskinnemoen@atmel.com>
Cc: Russell King <rmk@arm.linux.org.uk>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2007-03-16 19:25:04 -07:00
..
arch-at32ap
[PATCH] gpio_direction_output() needs an initial value
2007-03-16 19:25:04 -07:00
mach
[PATCH] atmel_serial: Rename at91_register_uart_fns
2006-10-04 10:25:05 -07:00
a.out.h
[PATCH] avr32 architecture
2006-09-26 08:48:54 -07:00
addrspace.h
[PATCH] avr32 architecture
2006-09-26 08:48:54 -07:00
asm.h
[PATCH] avr32 architecture
2006-09-26 08:48:54 -07:00
atomic.h
[PATCH] AVR32: Fix oversize immediates in atomic.h
2006-10-25 20:26:33 -07:00
auxvec.h
[PATCH] avr32 architecture
2006-09-26 08:48:54 -07:00
bitops.h
[PATCH] avr32 architecture
2006-09-26 08:48:54 -07:00
bug.h
[PATCH] avr32 architecture
2006-09-26 08:48:54 -07:00
bugs.h
[PATCH] avr32 architecture
2006-09-26 08:48:54 -07:00
byteorder.h
[PATCH] avr32 architecture
2006-09-26 08:48:54 -07:00
cache.h
[PATCH] avr32 architecture
2006-09-26 08:48:54 -07:00
cachectl.h
[PATCH] avr32 architecture
2006-09-26 08:48:54 -07:00
cacheflush.h
[PATCH] Optimize D-cache alias handling on fork
2006-12-13 09:27:08 -08:00
checksum.h
Remove a couple final references to obsolete verify_area().
2007-02-09 15:01:56 +01:00
cputime.h
[PATCH] avr32 architecture
2006-09-26 08:48:54 -07:00
current.h
[PATCH] avr32 architecture
2006-09-26 08:48:54 -07:00
delay.h
[PATCH] avr32 architecture
2006-09-26 08:48:54 -07:00
device.h
Driver core: add dev_archdata to struct device
2006-12-01 14:52:01 -08:00
div64.h
[PATCH] avr32 architecture
2006-09-26 08:48:54 -07:00
dma-mapping.h
avr32: dma-mapping.h
2007-03-07 10:50:30 +01:00
dma.h
[PATCH] avr32 architecture
2006-09-26 08:48:54 -07:00
elf.h
[PATCH] avr32 architecture
2006-09-26 08:48:54 -07:00
emergency-restart.h
[PATCH] avr32 architecture
2006-09-26 08:48:54 -07:00
errno.h
[PATCH] avr32 architecture
2006-09-26 08:48:54 -07:00
fcntl.h
[PATCH] avr32 architecture
2006-09-26 08:48:54 -07:00
futex.h
[PATCH] avr32 architecture
2006-09-26 08:48:54 -07:00
gpio.h
[AVR32] GPIO API implementation
2007-02-09 15:01:58 +01:00
hardirq.h
[PATCH] avr32 architecture
2006-09-26 08:48:54 -07:00
hw_irq.h
[PATCH] avr32 architecture
2006-09-26 08:48:54 -07:00
intc.h
[PATCH] avr32 architecture
2006-09-26 08:48:54 -07:00
io.h
[AVR32] Define ioremap_nocache, ioport_map and ioport_unmap
2007-02-16 12:53:57 +01:00
ioctl.h
[PATCH] avr32 architecture
2006-09-26 08:48:54 -07:00
ioctls.h
[PATCH] avr32 architecture
2006-09-26 08:48:54 -07:00
ipcbuf.h
[PATCH] avr32 architecture
2006-09-26 08:48:54 -07:00
irq.h
[AVR32] GPIO API implementation
2007-02-09 15:01:58 +01:00
irq_regs.h
[PATCH] IRQ: Fix AVR32 breakage
2006-10-11 11:14:14 -07:00
irqflags.h
[PATCH] avr32 architecture
2006-09-26 08:48:54 -07:00
Kbuild
[AVR32] Fix typo in include/asm-avr32/Kbuild
2007-03-07 10:50:27 +01:00
kdebug.h
[PATCH] avr32 architecture
2006-09-26 08:48:54 -07:00
kmap_types.h
[PATCH] avr32 architecture
2006-09-26 08:48:54 -07:00
kprobes.h
[PATCH] avr32 architecture
2006-09-26 08:48:54 -07:00
linkage.h
[PATCH] avr32 architecture
2006-09-26 08:48:54 -07:00
local.h
[PATCH] avr32 architecture
2006-09-26 08:48:54 -07:00
mman.h
[PATCH] avr32 architecture
2006-09-26 08:48:54 -07:00
mmu.h
[PATCH] avr32 architecture
2006-09-26 08:48:54 -07:00
mmu_context.h
[PATCH] avr32 architecture
2006-09-26 08:48:54 -07:00
module.h
[PATCH] avr32 architecture
2006-09-26 08:48:54 -07:00
msgbuf.h
[PATCH] avr32 architecture
2006-09-26 08:48:54 -07:00
mutex.h
[PATCH] avr32 architecture
2006-09-26 08:48:54 -07:00
namei.h
[PATCH] avr32 architecture
2006-09-26 08:48:54 -07:00
numnodes.h
[PATCH] avr32 architecture
2006-09-26 08:48:54 -07:00
ocd.h
[PATCH] avr32 architecture
2006-09-26 08:48:54 -07:00
page.h
[PATCH] avr32 architecture
2006-09-26 08:48:54 -07:00
param.h
[PATCH] avr32 architecture
2006-09-26 08:48:54 -07:00
pci.h
[PATCH] avr32 architecture
2006-09-26 08:48:54 -07:00
percpu.h
[PATCH] avr32 architecture
2006-09-26 08:48:54 -07:00
pgalloc.h
[PATCH] getting rid of all casts of k[cmz]alloc() calls
2006-12-13 09:05:58 -08:00
pgtable-2level.h
[PATCH] avr32 architecture
2006-09-26 08:48:54 -07:00
pgtable.h
[PATCH] avr32 architecture
2006-09-26 08:48:54 -07:00
poll.h
[PATCH] avr32 architecture
2006-09-26 08:48:54 -07:00
posix_types.h
[AVR32] ssize_t should be long, not int
2007-02-09 15:01:59 +01:00
processor.h
[PATCH] avr32 architecture
2006-09-26 08:48:54 -07:00
ptrace.h
[PATCH] avr32 architecture
2006-09-26 08:48:54 -07:00
resource.h
[PATCH] avr32 architecture
2006-09-26 08:48:54 -07:00
scatterlist.h
[PATCH] avr32 architecture
2006-09-26 08:48:54 -07:00
sections.h
[PATCH] avr32 architecture
2006-09-26 08:48:54 -07:00
semaphore.h
[PATCH] avr32 architecture
2006-09-26 08:48:54 -07:00
sembuf.h
[PATCH] avr32 architecture
2006-09-26 08:48:54 -07:00
setup.h
[PATCH] cleanup asm/setup.h userspace visibility
2006-12-07 08:39:46 -08:00
shmbuf.h
[PATCH] avr32 architecture
2006-09-26 08:48:54 -07:00
shmparam.h
[PATCH] avr32 architecture
2006-09-26 08:48:54 -07:00
sigcontext.h
[PATCH] avr32 architecture
2006-09-26 08:48:54 -07:00
siginfo.h
[PATCH] avr32 architecture
2006-09-26 08:48:54 -07:00
signal.h
[PATCH] avr32 architecture
2006-09-26 08:48:54 -07:00
socket.h
[PATCH] avr32 architecture
2006-09-26 08:48:54 -07:00
sockios.h
[PATCH] avr32 architecture
2006-09-26 08:48:54 -07:00
stat.h
[PATCH] avr32 architecture
2006-09-26 08:48:54 -07:00
statfs.h
[PATCH] avr32 architecture
2006-09-26 08:48:54 -07:00
string.h
[PATCH] avr32 architecture
2006-09-26 08:48:54 -07:00
sysreg.h
[PATCH] avr32 architecture
2006-09-26 08:48:54 -07:00
system.h
[PATCH] avr32 architecture
2006-09-26 08:48:54 -07:00
termbits.h
[PATCH] tty: preparatory structures for termios revamp
2006-12-08 08:28:56 -08:00
termios.h
[PATCH] consolidate line discipline number definitions
2007-02-11 10:51:26 -08:00
thread_info.h
[PATCH] avr32 architecture
2006-09-26 08:48:54 -07:00
timex.h
[PATCH] avr32 architecture
2006-09-26 08:48:54 -07:00
tlb.h
[PATCH] avr32 architecture
2006-09-26 08:48:54 -07:00
tlbflush.h
[PATCH] avr32 architecture
2006-09-26 08:48:54 -07:00
topology.h
[PATCH] avr32 architecture
2006-09-26 08:48:54 -07:00
traps.h
[PATCH] avr32 architecture
2006-09-26 08:48:54 -07:00
types.h
[PATCH] Centralise definitions of sector_t and blkcnt_t
2006-12-04 19:41:15 -08:00
uaccess.h
Remove a couple final references to obsolete verify_area().
2007-02-09 15:01:56 +01:00
ucontext.h
[PATCH] avr32 architecture
2006-09-26 08:48:54 -07:00
unaligned.h
[PATCH] avr32 architecture
2006-09-26 08:48:54 -07:00
unistd.h
[AVR32] Wire up the SysV IPC calls properly
2007-02-16 12:54:44 +01:00
user.h
[PATCH] avr32 architecture
2006-09-26 08:48:54 -07:00