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-aaec2000
[ARM] 4185/2: entry: introduce get_irqnr_preamble and arch_ret_to_user
2007-02-17 15:04:29 +00:00
arch-at91
[PATCH] gpio_direction_output() needs an initial value
2007-03-16 19:25:04 -07:00
arch-cl7500
[ARM] 4185/2: entry: introduce get_irqnr_preamble and arch_ret_to_user
2007-02-17 15:04:29 +00:00
arch-clps711x
[ARM] 4185/2: entry: introduce get_irqnr_preamble and arch_ret_to_user
2007-02-17 15:04:29 +00:00
arch-ebsa110
[ARM] 4185/2: entry: introduce get_irqnr_preamble and arch_ret_to_user
2007-02-17 15:04:29 +00:00
arch-ebsa285
[ARM] 4185/2: entry: introduce get_irqnr_preamble and arch_ret_to_user
2007-02-17 15:04:29 +00:00
arch-ep93xx
[ARM] Merge remaining IOP code
2007-02-20 10:52:43 +00:00
arch-h720x
[ARM] 4185/2: entry: introduce get_irqnr_preamble and arch_ret_to_user
2007-02-17 15:04:29 +00:00
arch-imx
Merge ARM fixes
2007-02-20 19:13:30 +00:00
arch-integrator
[ARM] 4185/2: entry: introduce get_irqnr_preamble and arch_ret_to_user
2007-02-17 15:04:29 +00:00
arch-iop13xx
[ARM] 4187/1: iop: unify time implementation across iop32x, iop33x, and iop13xx
2007-02-17 15:05:40 +00:00
arch-iop32x
[ARM] 4187/1: iop: unify time implementation across iop32x, iop33x, and iop13xx
2007-02-17 15:05:40 +00:00
arch-iop33x
[ARM] 4187/1: iop: unify time implementation across iop32x, iop33x, and iop13xx
2007-02-17 15:05:40 +00:00
arch-ixp4xx
[ARM] 4263/1: fix IXP4XX_NPE[ABC]_BASE_VIRT address
2007-03-12 16:49:38 +00:00
arch-ixp23xx
Merge ARM fixes
2007-02-20 19:13:30 +00:00
arch-ixp2000
[ARM] 4185/2: entry: introduce get_irqnr_preamble and arch_ret_to_user
2007-02-17 15:04:29 +00:00
arch-l7200
[ARM] 4185/2: entry: introduce get_irqnr_preamble and arch_ret_to_user
2007-02-17 15:04:29 +00:00
arch-lh7a40x
[ARM] 4248/1: lh7a40x: fix missing definitions for get_irqnr_preamble
2007-03-08 13:33:57 +00:00
arch-netx
[ARM] 4185/2: entry: introduce get_irqnr_preamble and arch_ret_to_user
2007-02-17 15:04:29 +00:00
arch-ns9xxx
[ARM] 4234/1: Introduce get_irqnr_preamble and arch_ret_to_user for ns9xxx.
2007-02-25 16:41:43 +00:00
arch-omap
[PATCH] gpio_direction_output() needs an initial value
2007-03-16 19:25:04 -07:00
arch-pnx4008
[ARM] 4185/2: entry: introduce get_irqnr_preamble and arch_ret_to_user
2007-02-17 15:04:29 +00:00
arch-pxa
[PATCH] gpio_direction_output() needs an initial value
2007-03-16 19:25:04 -07:00
arch-realview
[ARM] Merge remaining IOP code
2007-02-20 10:52:43 +00:00
arch-rpc
[ARM] 4185/2: entry: introduce get_irqnr_preamble and arch_ret_to_user
2007-02-17 15:04:29 +00:00
arch-s3c2410
[PATCH] gpio_direction_output() needs an initial value
2007-03-16 19:25:04 -07:00
arch-sa1100
[PATCH] gpio_direction_output() needs an initial value
2007-03-16 19:25:04 -07:00
arch-shark
[ARM] 4185/2: entry: introduce get_irqnr_preamble and arch_ret_to_user
2007-02-17 15:04:29 +00:00
arch-versatile
[ARM] 4185/2: entry: introduce get_irqnr_preamble and arch_ret_to_user
2007-02-17 15:04:29 +00:00
hardware
[PATCH] gpio_keys driver shouldn't be ARM-specific
2007-03-05 07:57:51 -08:00
mach
[ARM] Remove compatibility layer for ARM irqs
2006-11-30 12:24:47 +00:00
plat-s3c24xx
[ARM] 4220/1: S3C24XX: DMA system initialised from sysdev
2007-02-17 15:00:34 +00:00
.gitignore
[ARM] 4216/1: add .gitignore entries for ARM specific files
2007-02-17 11:26:41 +00:00
a.out.h
assembler.h
[ARM] Remove MODE_(SVC|IRQ|FIQ|USR) and DEFAULT_FIQ
2006-06-25 12:01:48 +01:00
atomic.h
[ARM] 3810/1: switch atomic helpers over to raw_local_irq_{save,restore}
2006-09-25 10:25:24 +01:00
auxvec.h
bitops.h
[ARM] 3852/1: convert atomic bitops and __xchg over to raw_local_irq_{save,restore}
2006-09-25 10:34:03 +01:00
bug.h
[ARM] 3983/2: remove unused argument to __bug()
2006-12-07 22:38:09 +00:00
bugs.h
[ARM] nommu: adjust headers for !MMU ARM systems
2006-06-28 17:59:45 +01:00
byteorder.h
[ARM] Fix byte order macros for Thumb
2006-06-19 15:35:36 +01:00
cache.h
[PATCH] Kill L1_CACHE_SHIFT_MAX
2006-01-08 20:13:39 -08:00
cacheflush.h
[ARM] Convert DMA cache handling to take const void * args
2007-02-08 14:49:44 +00:00
checksum.h
[ARM] Improve csum_fold, cleanup csum_tcpudp_magic()
2007-02-06 16:46:46 +00:00
cnt32_to_63.h
[ARM] 3978/1: macro to provide a 63-bit value from a 32-bit hardware counter
2006-12-07 16:06:45 +00:00
cpu-multi32.h
[ARM] Unuse another Linux PTE bit
2006-12-13 14:34:43 +00:00
cpu-single.h
[ARM] Unuse another Linux PTE bit
2006-12-13 14:34:43 +00:00
cpu.h
Don't include linux/config.h from anywhere else in include/
2006-04-26 12:56:16 +01:00
cputime.h
current.h
delay.h
[ARM] 3346/1: Fix udelay() for HZ values different from 100
2006-03-21 22:06:07 +00:00
device.h
[ARM] Add a reference from struct device to the dma bounce info
2007-02-12 10:28:24 +00:00
div64.h
[ARM] 3611/4: optimize do_div() when divisor is constant
2006-12-07 16:06:09 +00:00
dma-mapping.h
Merge AT91, EP93xx, General devel, PXA, S3C, V6+ and Xscale trees
2007-02-17 20:09:53 +00:00
dma.h
Don't include linux/config.h from anywhere else in include/
2006-04-26 12:56:16 +01:00
domain.h
[ARM] 4127/1: Flush the prefetch buffer after changing the DACR
2007-02-08 14:49:18 +00:00
dyntick.h
[ARM] 3692/1: ARM: coswitch irq handling to the generic implementation
2006-07-01 22:30:09 +01:00
ecard.h
elf.h
[ARM] 4054/1: ep93xx: add HWCAP_CRUNCH
2006-12-18 00:14:54 +00:00
emergency-restart.h
errno.h
fcntl.h
fiq.h
flat.h
[ARM] 4074/1: Flat loader stack alignment
2006-12-30 17:05:08 +00:00
floppy.h
[PATCH] ARM: fixup irqflags breakage after ARM genirq merge
2006-07-02 17:29:22 -07:00
fpstate.h
[ARM] 4111/1: Allow VFP to work with thread migration on SMP
2007-01-25 16:35:29 +00:00
futex.h
[PATCH] consolidate asm/futex.h
2006-01-08 20:13:39 -08:00
glue.h
Don't include linux/config.h from anywhere else in include/
2006-04-26 12:56:16 +01:00
gpio.h
[PATCH] GPIO core
2007-02-12 09:48:34 -08:00
hardirq.h
Don't include linux/config.h from anywhere else in include/
2006-04-26 12:56:16 +01:00
hardware.h
hw_irq.h
[PATCH] misc arm pt_regs fixes
2006-10-08 12:32:36 -07:00
ide.h
io.h
[PATCH] kill eth_io_copy_and_sum()
2007-02-09 09:14:07 -08:00
ioctl.h
[PATCH] Generic ioctl.h
2006-01-10 08:01:34 -08:00
ioctls.h
ipc.h
ipcbuf.h
irq.h
[ARM] 4073/1: Prevent s3c24xx drivers from including asm/arch/hardware.h and asm/arch/irqs.h
2006-12-30 17:05:07 +00:00
irq_regs.h
Initial blind fixup for arm for irq changes
2006-10-06 10:59:54 -07:00
irqflags.h
[ARM] Add ARM irqtrace support
2006-09-20 14:58:35 +01:00
Kbuild
Add empty Kbuild files for 'make headers_install' in remaining arches.
2006-06-18 12:58:53 +01:00
kexec.h
[ARM] 4137/1: Add kexec support
2007-02-16 14:37:06 +00:00
kmap_types.h
leds.h
Don't include linux/config.h from anywhere else in include/
2006-04-26 12:56:16 +01:00
limits.h
linkage.h
local.h
locks.h
[ARM] 3019/1: fix wrong comments
2005-10-18 07:51:34 +01:00
mc146818rtc.h
memory.h
[ARM] Clean up discontigmem support
2006-11-30 22:52:28 +00:00
mman.h
[PATCH] add asm-generic/mman.h
2006-02-15 15:32:22 -08:00
mmu.h
[ARM] Add section support to ioremap
2006-06-29 22:14:30 +01:00
mmu_context.h
[ARM] Add section support to ioremap
2006-06-29 22:14:30 +01:00
mmzone.h
module.h
msgbuf.h
mtd-xip.h
mutex.h
[ARM] 3311/1: clean up include/asm-arm/mutex.h
2006-02-08 21:19:38 +00:00
namei.h
nwflash.h
page-nommu.h
[ARM] nommu: adjust headers for !MMU ARM systems
2006-06-28 17:59:45 +01:00
page.h
Merge master.kernel.org:/pub/scm/linux/kernel/git/tmlind/linux-omap-upstream into devel
2006-09-27 19:57:54 +01:00
param.h
[ARM] Move HZ definition into Kconfig
2006-03-21 22:05:45 +00:00
parport.h
pci.h
Don't include linux/config.h from anywhere else in include/
2006-04-26 12:56:16 +01:00
percpu.h
pgalloc.h
[ARM] nommu: adjust headers for !MMU ARM systems
2006-06-28 17:59:45 +01:00
pgtable-hwdef.h
[ARM] Set bit 4 on section mappings correctly depending on CPU
2006-06-29 18:24:21 +01:00
pgtable-nommu.h
[ARM] Fix nommu build
2006-11-30 13:53:54 +00:00
pgtable.h
[ARM] 4158/1: Fix user page protection macros
2007-02-11 17:06:17 +00:00
poll.h
[PATCH] POLLRDHUP/EPOLLRDHUP handling for half-closed devices notifications
2006-03-25 08:22:56 -08:00
posix_types.h
proc-fns.h
[ARM] nommu: add ARM946E-S core support
2006-09-27 17:39:19 +01:00
processor.h
[ARM] 4016/1: prefetch macro is wrong wrt gcc's "delete-null-pointer-checks"
2006-12-13 18:30:20 +00:00
procinfo.h
[ARM] Move HWCAP_* definitions to asm/elf.h
2006-11-30 12:24:46 +00:00
ptrace.h
[ARM] 3665/1: crunch: add ptrace support
2006-06-28 17:55:00 +01:00
resource.h
rtc.h
[PATCH] RTC subsystem: ARM cleanup
2006-03-27 08:44:50 -08:00
scatterlist.h
[ARM] Remove '__address' from scatterlist and convert to DMA API
2006-01-04 15:08:30 +00:00
sections.h
segment.h
semaphore-helper.h
semaphore.h
[ARM] sema_count() removal
2005-12-01 20:58:01 +00:00
sembuf.h
serial.h
setup.h
[PATCH] cleanup asm/setup.h userspace visibility
2006-12-07 08:39:46 -08:00
shmbuf.h
shmparam.h
sigcontext.h
siginfo.h
signal.h
[PATCH] ARM: fixup irqflags breakage after ARM genirq merge
2006-07-02 17:29:22 -07:00
sizes.h
smp.h
Don't include linux/config.h from anywhere else in include/
2006-04-26 12:56:16 +01:00
socket.h
[AF_UNIX]: Datagram getpeersec
2006-06-29 16:58:06 -07:00
sockios.h
spinlock.h
[PATCH] Remove the last reference to rwlock_is_locked() macro.
2007-02-11 10:51:34 -08:00
spinlock_types.h
stat.h
[ARM] 3106/2: ARM EABI: some syscall adjustments
2006-01-14 16:32:12 +00:00
statfs.h
[ARM] 3108/2: old ABI compat: statfs64 and fstatfs64
2006-01-14 16:35:03 +00:00
string.h
suspend.h
system.h
[ARM] 4241/1: Define mb() as compiler barrier on a uniprocessor system
2007-03-02 11:59:00 +00: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
therm.h
thread_info.h
[PATCH] PM: Fix SMP races in the freezer
2006-12-13 09:05:49 -08:00
thread_notify.h
[ARM] Add thread_notify infrastructure
2006-06-22 10:24:18 +01:00
timex.h
tlb.h
[ARM] noMMU: removes TLB codes in nommu mode
2006-03-21 22:03:20 +00:00
tlbflush.h
[ARM] 4129/1: Add barriers after the TLB operations
2007-02-08 14:49:27 +00:00
topology.h
traps.h
types.h
uaccess.h
Storage class should be before const qualifier
2007-02-17 20:11:19 +01:00
ucontext.h
[ARM] 3664/1: crunch: add signal frame save/restore
2006-06-28 17:54:59 +01:00
unaligned.h
[ARM] 3849/1: fix get_unaligned() for gcc >= 4.1
2006-09-25 10:34:00 +01:00
unistd.h
[ARM] 4137/1: Add kexec support
2007-02-16 14:37:06 +00:00
user.h
vfp.h
vfpmacros.h
[ARM] 3472/1: Use the D variants of FLDMIA/FSTMIA on ARMv6
2006-04-10 21:32:42 +01:00
vga.h
[PATCH] vgacon: make VGA_MAP_MEM take size, remove extra use
2006-06-22 15:05:58 -07:00
xor.h