linux/include/video
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
..
Kbuild Make asm-x86/bootparam.h includable from userspace. 2007-10-23 15:49:47 +10:00
atmel_lcdc.h atmel_lcdfb: change irq_base definition to allow error reporting 2008-11-12 17:17:16 -08:00
aty128.h atyfb: fix header file trailing whitespace 2009-04-01 08:59:26 -07:00
broadsheetfb.h broadsheetfb: support storing waveform 2010-03-12 15:52:34 -08:00
cirrus.h cirrusfb: Laguna chipset 8bpp fix 2009-04-01 08:59:27 -07:00
cvisionppc.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
da8xx-fb.h davinci: fb: update the driver in preparation for addition of power management features 2009-12-16 07:20:04 -08:00
edid.h Make asm-x86/bootparam.h includable from userspace. 2007-10-23 15:49:47 +10:00
epson1355.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
gbe.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
hecubafb.h fbdev: platforming hecubafb and n411 2008-04-28 08:58:41 -07:00
iga.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
ili9320.h fb: add support for the ILI9320 video display controller 2008-07-24 10:47:40 -07:00
kyro.h [PATCH] fbdev: kyrofb: Driver cleanups 2006-01-10 08:01:45 -08:00
mach64.h atyfb: fix CONFIG_ namespace violations 2009-02-05 12:56:48 -08:00
maxinefb.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
mbxfb.h mbxfb: Improvements and new features 2007-10-16 09:43:14 -07:00
metronomefb.h [ARM] 5209/1: metronomefb: changes to use platform framebuffer 2008-08-26 17:01:12 +01:00
neomagic.h neofb: remove open_lock mutex 2008-10-16 11:21:42 -07:00
newport.h fbdev: newport: newport_*wait() return 0 on timeout 2009-04-01 08:59:31 -07:00
permedia2.h pm2fb: hardware cursor support for the Permedia2 2007-10-16 09:43:18 -07:00
platform_lcd.h lcd: add platform_lcd driver 2008-07-24 10:47:40 -07:00
pm3fb.h pm3fb: header file cleanup 2007-10-16 09:43:18 -07:00
pmag-ba-fb.h [PATCH] DEC PMAG BA frame buffer update 2005-09-05 00:06:03 -07:00
pmagb-b-fb.h [PATCH] DEC PMAGB B framebuffer update 2005-09-05 00:06:03 -07:00
pxa168fb.h pxa168fb: remove useless vsync/hsync invert flag 2009-12-01 09:02:32 +08:00
radeon.h atyfb: fix header file trailing whitespace 2009-04-01 08:59:26 -07:00
s1d13xxxfb.h fbdev: s1d13xxxfb: add accelerated bitblt functions 2009-06-16 19:48:00 -07:00
sgivw.h sgivwfb: Make use of ARRAY_SIZE. 2009-12-04 15:39:52 +01:00
sh_mobile_lcdc.h video: sh_mobile_lcdcfb: Add wait for vsync. 2010-02-16 13:30:27 +09:00
sisfb.h headers_check fix: video/sisfb.h 2009-01-31 00:14:28 +05:30
sstfb.h define global BIT macro 2007-10-19 11:53:42 -07:00
tdfx.h tdfxfb: move I2C functionality into the tdfxfb 2009-04-07 08:31:08 -07:00
tgafb.h tgafb: actually allocate memory for the pseudo_palette 2007-07-17 10:23:12 -07:00
trident.h tridentfb: add imageblit acceleration for Blade3D family 2008-07-24 10:47:36 -07:00
uvesafb.h headers_check fix: video/uvesafb.h 2009-01-31 00:14:52 +05:30
vga.h Don't include linux/config.h from anywhere else in include/ 2006-04-26 12:56:16 +01:00
w100fb.h [PATCH] SharpSL: Abstract c7x0 specifics from Corgi Touchscreen driver 2005-09-13 08:22:31 -07:00