linux/drivers
Jaya Kumar b32bfc3843 broadsheetfb: support storing waveform
This patch adds waveform storing capability to broadsheetfb. It uses the
firmware class to retrieve the waveform, and the request to initiate the
waveform storing is done via a driver sysfs entry, loadstore_waveform.

Broadsheet is a framebuffer device.  It is slightly different from a
typical framebuffer controller that drives a normal TFT-LCD display.  Most
E-Ink display panels require a waveform in order to function.  That is, in
order to drive the state of a pixel to black, gray, or white, a specific
waveform is utilized.  Basically, that waveform represents the specific
E-field wiggling needed to get the pixel to its optimal state given
current temperature, and its previous state.  TN/IPS-LCDs use a similar
concept but the driving waveform is sufficiently simple that it is
internalized in the TFT source/gate driver.

These E-Ink waveforms are specific to a production batch.  That is, a
batch of display films are produced, then they get characterized and a
waveform is generated for that batch.  Broadsheet, typically, is attached
to its private SPI flash which is then flashed with this waveform.

Users won't be able to see the waveform and typically won't ever need to
know about it.  If however, the display panel attached to broadsheet is
changed out, then they will need to update their waveform.  That would
typically be done at a factory or repair facility rather than by a user.

[akpm@linux-foundation.org: fix printk warning]
Signed-off-by: Jaya Kumar <jayakumar.lkml@gmail.com>
Cc: Geert Uytterhoeven <geert@linux-m68k.org>
Cc: Krzysztof Helt <krzysztof.h1@wp.pl>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2010-03-12 15:52:34 -08:00
..
accessibility
acpi sysfs: Use sysfs_attr_init and sysfs_bin_attr_init on dynamic attributes 2010-03-07 17:04:51 -08:00
amba
ata Merge branch 'upstream-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jgarzik/libata-dev 2010-03-01 13:04:58 -08:00
atm
auxdisplay auxdisplay: move cfag12864bfb's probe function to .devinit.text 2010-03-07 17:04:50 -08:00
base Driver core: create lock/unlock functions for struct device 2010-03-07 17:04:52 -08:00
block drivers/block/floppy.c: remove unnecessary casting in fd_ioctl 2010-03-12 15:52:31 -08:00
bluetooth Bluetooth: Convert Marvell driver to use per adapter debugfs 2010-02-27 14:05:38 +01:00
cdrom block: Consolidate phys_segment and hw_segment limits 2010-02-26 13:58:08 +01:00
char [S390] hvc_iucv: allocate memory buffers for IUCV in zone DMA 2010-03-08 12:25:29 +01:00
clocksource MFGPT: move clocksource menu 2010-03-06 11:26:28 -08:00
connector connector: Delete buggy notification code. 2010-02-02 15:58:48 -08:00
cpufreq Driver core: Constify struct sysfs_ops in struct kobj_type 2010-03-07 17:04:49 -08:00
cpuidle Driver core: Constify struct sysfs_ops in struct kobj_type 2010-03-07 17:04:49 -08:00
crypto Merge git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6 2010-02-26 16:50:02 -08:00
dca
dio
dma Driver core: Constify struct sysfs_ops in struct kobj_type 2010-03-07 17:04:49 -08:00
edac Driver core: Constify struct sysfs_ops in struct kobj_type 2010-03-07 17:04:49 -08:00
eisa eisa: fix coding style for eisa bus code 2010-03-06 11:26:32 -08:00
firewire Driver core: create lock/unlock functions for struct device 2010-03-07 17:04:52 -08:00
firmware Driver core: Constify struct sysfs_ops in struct kobj_type 2010-03-07 17:04:49 -08:00
gpio driver-core: Add attribute argument to class_attribute show/store 2010-03-07 17:04:48 -08:00
gpu Driver core: Constify struct sysfs_ops in struct kobj_type 2010-03-07 17:04:49 -08:00
hid USB: Push BKL on open down into the drivers 2010-03-02 14:54:23 -08:00
hwmon Merge branch 'hwmon-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jdelvare/staging 2010-03-06 11:33:09 -08:00
i2c i2c: move i2c_omap's probe function to .devinit.text 2010-03-07 17:04:50 -08:00
ide Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/ide-next-2.6 2010-03-04 08:24:06 -08:00
idle
ieee1394 Driver core: create lock/unlock functions for struct device 2010-03-07 17:04:52 -08:00
ieee802154
infiniband Driver core: Constify struct sysfs_ops in struct kobj_type 2010-03-07 17:04:49 -08:00
input input: Support onkey in 88pm860x 2010-03-07 22:17:20 +01:00
isdn Merge branch 'master' of /home/davem/src/GIT/linux-2.6/ 2010-02-28 19:23:06 -08:00
leds led: Enable led in 88pm860x 2010-03-07 22:17:05 +01:00
lguest
macintosh sysfs: windfarm: init sysfs attributes 2010-03-07 17:04:51 -08:00
mca
md Driver core: Constify struct sysfs_ops in struct kobj_type 2010-03-07 17:04:49 -08:00
media media: move omap24xxcam's probe function to .devinit.text 2010-03-07 17:04:50 -08:00
memstick block: Consolidate phys_segment and hw_segment limits 2010-02-26 13:58:08 +01:00
message Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next-2.6 2010-03-02 07:55:08 -08:00
mfd mfd: Fix ucb1x00 build failure for collie_defconfig 2010-03-07 22:17:39 +01:00
misc driver core: Convert some drivers to CLASS_ATTR_STRING 2010-03-07 17:04:48 -08:00
mmc sdio: recognize io card without powercycle 2010-03-12 15:52:28 -08:00
mtd driver-core: Add attribute argument to class_attribute show/store 2010-03-07 17:04:48 -08:00
net Driver core: Constify struct sysfs_ops in struct kobj_type 2010-03-07 17:04:49 -08:00
nubus
of of: move definition of of_chosen into common code. 2010-02-14 07:13:55 -07:00
oprofile
parisc Driver core: Constify struct sysfs_ops in struct kobj_type 2010-03-07 17:04:49 -08:00
parport serial: 8250_pci: add support for MCS9865 / SYBA 6x Serial Port Card 2010-03-02 14:43:08 -08:00
pci Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jbarnes/pci-2.6 2010-03-08 16:10:29 -08:00
pcmcia Driver core: create lock/unlock functions for struct device 2010-03-07 17:04:52 -08:00
platform msi-laptop: depends on RFKILL 2010-03-07 17:04:53 -08:00
pnp
power power_supply: Enable power supply of max8925 2010-03-07 22:17:17 +01:00
pps
ps3 powerpc: Remove trailing space in messages 2010-02-09 13:56:23 +11:00
rapidio
regulator regulator: Add max8925 support 2010-03-07 22:17:08 +01:00
rtc rtc/hctosys: only claim the RTC provided the system time if it did 2010-03-12 15:52:28 -08:00
s390 [S390] smsgiucv_app: deliver z/VM CP special messages (SMSG) as uevents 2010-03-08 12:26:28 +01:00
sbus Merge commit 'v2.6.33-rc5' into secretlab/test-devicetree 2010-01-28 14:38:25 -07:00
scsi drivers/scsi/ses.c: eliminate double free 2010-03-12 15:52:28 -08:00
serial Merge git://git.kernel.org/pub/scm/linux/kernel/git/lethal/sh-2.6 2010-03-07 15:47:19 -08:00
sfi
sh sh: Use dummy_irq_chip for INTC redirect vectors. 2010-02-17 12:37:42 +09:00
sn
spi Merge with mainline to remove plat-omap/Kconfig conflict 2010-03-01 14:19:05 -08:00
ssb ssb: Add PCI ID 0x4322 to PHU handling 2010-02-19 15:52:51 -05:00
staging driver core: Convert some drivers to CLASS_ATTR_STRING 2010-03-07 17:04:48 -08:00
tc
telephony
thermal
uio UIO: Remove SMX Cryptengine driver 2010-03-07 17:04:51 -08:00
usb Driver core: create lock/unlock functions for struct device 2010-03-07 17:04:52 -08:00
uwb Driver core: create lock/unlock functions for struct device 2010-03-07 17:04:52 -08:00
vhost vhost-net: restart tx poll on sk_sndbuf full 2010-02-28 19:50:33 +02:00
video broadsheetfb: support storing waveform 2010-03-12 15:52:34 -08:00
virtio virtio: set pci bus master enable bit 2010-03-02 13:41:14 +02:00
vlynq
w1 w1: move omap_hdq's probe function to .devinit.text 2010-03-07 17:04:50 -08:00
watchdog [WATCHDOG] i6300esb.c: change platform_driver to pci_driver 2010-03-08 13:48:01 +00:00
xen Driver core: Constify struct sysfs_ops in struct kobj_type 2010-03-07 17:04:49 -08:00
zorro
Kconfig MFGPT: move clocksource menu 2010-03-06 11:26:28 -08:00
Makefile