linux/drivers
David Brownell ffa458c1bd [PATCH] spi: ads7846 driver
This is a driver for the ADS7846 touchscreen sensor, derived from
the corgi_ts and omap_ts drivers.  Key differences from those two:

  - Uses the new SPI framework (minimalist version)
  - <linux/spi/ads7846.h> abstracts board-specific touchscreen info
  - Sysfs attributes for the temperature and voltage sensors
  - Uses fewer ARM-specific IRQ primitives

The temperature and voltage sensors show up in sysfs like this:

  $ pwd
  /sys/devices/platform/omap-uwire/spi2.0
  $ ls
  bus@          input:event0@ power/        temp1         vbatt
  driver@       modalias      temp0         vaux
  $ cat modalias
  ads7846
  $ cat temp0
  991
  $ cat temp1
  1177
  $

So far only basic testing has been done.  There's a fair amount of hardware
that uses this sensor, and which also runs Linux, which should eventually
be able to use this driver.

One portability note may be of special interest.  It turns out that not all
SPI controllers are happy issuing requests that do things like "write 8 bit
command, read 12 bit response".  Most of them seem happy to handle various
word sizes, so the issue isn't "12 bit response" but rather "different rx
and tx write sizes", despite that being a common MicroWire convention.  So
this version of the driver no longer reads 12 bit native-endian words; it
reads 16-bit big-endian responses, then byteswaps them and shifts the
results to discard the noise.

Signed-off-by: David Brownell <david-b@pacbell.net>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2006-01-13 16:29:54 -08:00
..
acorn [PATCH] move capable() to capability.h 2006-01-11 18:42:13 -08:00
acpi [PATCH] i386: Handle missing local APIC timer interrupts on C3 state 2006-01-11 19:04:54 -08:00
amba [ARM] Remove asm/irq.h includes from ARM drivers 2006-01-09 13:56:42 +00:00
atm [ATM]: Remove unneeded kmalloc() return value casts + tiny whitespace cleanup 2006-01-10 13:09:01 -08:00
base [PATCH] move capable() to capability.h 2006-01-11 18:42:13 -08:00
block Merge git://git.kernel.org/pub/scm/linux/kernel/git/paulus/powerpc-merge 2006-01-12 10:21:22 -08:00
bluetooth [PATCH] TTY layer buffering revamp 2006-01-10 08:01:59 -08:00
cdrom [PATCH] powerpc: remove bitfields from HvLpEvent 2006-01-12 20:09:29 +11:00
char Merge branch 'drm-forlinus' of git://git.kernel.org/pub/scm/linux/kernel/git/airlied/drm-2.6 2006-01-12 13:53:40 -08:00
connector [PATCH] Switch getnstimestamp() calls to ktime_get_ts() 2006-01-10 08:01:39 -08:00
cpufreq [CPUFREQ] CPU frequency display in /proc/cpuinfo 2005-12-06 19:35:11 -08:00
crypto [CRYPTO] Allow AES C/ASM implementations to coexist 2006-01-09 14:15:39 -08:00
dio
eisa
fc4 [SPARC]: introduce a SPARC Kconfig symbol 2005-12-22 23:09:54 -08:00
firmware [PATCH] move capable() to capability.h 2006-01-11 18:42:13 -08:00
hwmon [PATCH] drivers/*rest*: Replace pci_module_init() with pci_register_driver() 2006-01-09 12:13:23 -08:00
i2c [ARM] 3237/1: PXA I2C driver updates 2006-01-12 16:30:23 +00:00
ide [PATCH] Revert ide softirq handling 2006-01-12 12:00:47 -08:00
ieee1394 [PATCH] don't include ioctl32.h in drivers 2006-01-10 08:01:34 -08:00
infiniband Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/roland/infiniband 2006-01-08 20:18:44 -08:00
input [PATCH] spi: ads7846 driver 2006-01-13 16:29:54 -08:00
isdn [PATCH] TTY layer buffering revamp 2006-01-10 08:01:59 -08:00
macintosh [PATCH] m68k: NULL noise removal 2006-01-12 09:09:04 -08:00
mca
md [PATCH] md: remove slashes from disk names when creation dev names in sysfs 2006-01-12 09:08:49 -08:00
media V4L/DVB (3354): VIDEO_SAA7134_ALSA shouldn't select SND_PCM_OSS 2006-01-12 00:37:59 -02:00
message [PATCH] don't include ioctl32.h in drivers 2006-01-10 08:01:34 -08:00
mfd [MMC+MFD] Convert mmc to mutexes 2006-01-12 18:43:35 +00:00
misc Input: ibmasm - fix input initialization error path 2006-01-10 02:00:39 -05:00
mmc [MMC+MFD] Convert mmc to mutexes 2006-01-12 18:43:35 +00:00
mtd [PATCH] turn "const static" into "static const" 2006-01-10 08:01:55 -08:00
net [PATCH] via-velocity: use NETIF_F_IP_CSUM (hardware only support IPv4) 2006-01-12 16:39:45 -05:00
nubus
oprofile [PATCH] move capable() to capability.h 2006-01-11 18:42:13 -08:00
parisc [PATCH] move capable() to capability.h 2006-01-11 18:42:13 -08:00
parport [PARISC] Fix parport_gsc by selecting PARPORT_NOT_PC 2006-01-10 21:52:25 -05:00
pci Merge master.kernel.org:/pub/scm/linux/kernel/git/gregkh/pci-2.6 2006-01-09 18:41:42 -08:00
pcmcia Merge git://git.kernel.org/pub/scm/linux/kernel/git/brodo/pcmcia-fixes-2.6 2006-01-12 14:00:47 -08:00
pnp [PATCH] x86: Fixed pnp bios limits 2006-01-06 08:33:35 -08:00
rapidio [PATCH] fix more missing includes 2006-01-08 20:13:45 -08:00
s390 [PATCH] TTY layer buffering revamp 2006-01-10 08:01:59 -08:00
sbus [PATCH] sbus/char/uctrl: missing prototypes and NULL noise removal 2005-12-15 10:01:28 -08:00
scsi [PATCH] m68k: fix PIO case in esp 2006-01-12 09:09:05 -08:00
serial Merge git://git.kernel.org/pub/scm/linux/kernel/git/brodo/pcmcia-fixes-2.6 2006-01-12 14:00:47 -08:00
sh
sn
spi [PATCH] spi: simple SPI framework 2006-01-13 16:29:54 -08:00
tc [MIPS] zs.c: Resurrect the deceased zs.c for now. 2005-11-17 16:23:39 +00:00
telephony [PATCH] pcmcia: unify attach, EVENT_CARD_INSERTION handlers into one probe callback 2006-01-06 00:03:24 +01:00
usb [PATCH] TTY layer buffering revamp 2006-01-10 08:01:59 -08:00
video [PATCH] m68k: fix macfb init 2006-01-12 09:09:05 -08:00
w1 spelling: s/usefull/useful/ 2006-01-10 00:08:17 +01:00
zorro [PATCH] m68k: zorro __user annotations 2006-01-12 09:09:04 -08:00
Kconfig [PATCH] spi: simple SPI framework 2006-01-13 16:29:54 -08:00
Makefile [PATCH] spi: simple SPI framework 2006-01-13 16:29:54 -08:00