linux/drivers/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
..
aty of: add 'of_' prefix to machine_is_compatible() 2010-02-09 08:33:00 -07:00
backlight backlight: Enable max8925 backlight 2010-03-07 22:17:08 +01:00
console console/vgacon.c: mark file-local symbol static 2010-03-06 11:26:46 -08:00
display tree-wide: convert open calls to remove spaces to skip_spaces() lib function 2009-12-15 08:53:32 -08:00
geode lxfb: add copyright/license info 2009-12-16 07:20:02 -08:00
i810 i810fb: fix stack exploding 2009-12-16 07:20:02 -08:00
intelfb intelfb: fix setting of active pipe with LVDS displays 2009-12-16 07:20:05 -08:00
kyro
logo fbdev: move logo externs to header file 2009-06-16 19:47:57 -07:00
matrox matroxfb: fix problems with display stability 2009-12-16 07:20:05 -08:00
mb862xx mb862xxfb: add acceleration support for Coral-P/Coral-PA. * imageblt * copyarea * fillrect 2009-12-16 07:20:01 -08:00
mbx mbxfb: fix incorrect argument type 2008-03-10 18:01:20 -07:00
msm drivers/video/msm: update to new kernel 2009-11-12 07:26:00 -08:00
nvidia nvidiafb: fix boot-time printk string 2009-06-23 12:50:05 -07:00
omap omapfb: lcd_ams_delta: add support for contrast control 2010-02-12 12:46:07 +02:00
omap2 Driver core: Constify struct sysfs_ops in struct kobj_type 2010-03-07 17:04:49 -08:00
pnx4008 [ARM] Move include/asm-arm/arch-* to arch/arm/*/include/mach 2008-08-07 09:55:48 +01:00
riva video: replace remaining __FUNCTION__ occurrences 2008-04-28 08:58:42 -07:00
savage savagefb: fix blanking mode on CRT display 2009-11-12 07:25:56 -08:00
sis fbdev: TV_PALN bit set twice in sisfb_detect_VB_connect() 2009-12-16 07:20:01 -08:00
vermilion removed unused #include <linux/version.h>'s 2008-08-23 12:14:12 -07:00
via viafb: support color depth 15 and 30 2010-03-12 15:52:34 -08:00
68328fb.c 68328fb: fix cmap memory leaks 2009-04-01 08:59:31 -07:00
Kconfig fbdev: bfin-lq035q1-fb: new Blackfin Landscape LCD EZ-Extender driver 2009-12-16 07:20:01 -08:00
Makefile fbdev: bfin-lq035q1-fb: new Blackfin Landscape LCD EZ-Extender driver 2009-12-16 07:20:01 -08:00
acornfb.c platform-drivers: move probe to .devinit.text in drivers/video 2010-03-07 17:04:50 -08:00
acornfb.h
amba-clcd.c Remove multiple KERN_ prefixes from printk formats 2009-07-08 10:30:03 -07:00
amifb.c amifb: check fb_alloc_cmap return value and handle failure properly 2009-04-01 08:59:31 -07:00
arcfb.c platform-drivers: move probe to .devinit.text in drivers/video 2010-03-07 17:04:50 -08:00
arkfb.c arkfb: fix misplaced parentheses 2009-04-01 08:59:32 -07:00
asiliantfb.c asiliantfb: fix test of unsigned in asiliant_calc_dclk2() 2010-03-12 15:52:32 -08:00
atafb.c Revert "fbdev: atafb - add palette register check" 2009-12-17 07:20:30 -08:00
atafb.h
atafb_iplan2p2.c
atafb_iplan2p4.c
atafb_iplan2p8.c
atafb_mfb.c
atafb_utils.h
atmel_lcdfb.c Merge branch 'for-next' into for-linus 2009-12-07 18:36:35 +01:00
au1100fb.c drivers/video: add kmalloc NULL tests 2009-09-23 07:39:56 -07:00
au1100fb.h
au1200fb.c platform driver: fix incorrect use of 'platform_bus_type' with 'struct device_driver' 2009-03-24 16:38:25 -07:00
au1200fb.h
bf54x-lq043fb.c fbdev: bf54x-lq043fb/bfin-t350mcqb-fb: drop custom mmap() handler 2010-03-12 15:52:32 -08:00
bfin-lq035q1-fb.c fbdev: bfin-lq035q1-fb: new Blackfin Landscape LCD EZ-Extender driver 2009-12-16 07:20:01 -08:00
bfin-t350mcqb-fb.c fbdev: bf54x-lq043fb/bfin-t350mcqb-fb: drop custom mmap() handler 2010-03-12 15:52:32 -08:00
broadsheetfb.c broadsheetfb: support storing waveform 2010-03-12 15:52:34 -08:00
bt431.h
bt455.h
bw2.c bw2: use standard fields for framebuffer physical address and length 2009-06-16 04:56:30 -07:00
c2p.h fbdev: c2p - Rename c2p to c2p_planar 2009-01-12 20:56:32 +01:00
c2p_core.h fbdev: c2p/atafb - Add support for Atari interleaved bitplanes 2009-01-12 20:56:31 +01:00
c2p_iplan2.c fbdev: c2p/atafb - Add support for Atari interleaved bitplanes 2009-01-12 20:56:31 +01:00
c2p_planar.c fbdev: c2p - Rename c2p to c2p_planar 2009-01-12 20:56:32 +01:00
carminefb.c carminefb: fix possible access beyond end of carmine_modedb[] 2009-06-16 19:47:59 -07:00
carminefb.h fbdev: add the carmine FB driver 2008-07-24 10:47:34 -07:00
carminefb_regs.h fbdev: add the carmine FB driver 2008-07-24 10:47:34 -07:00
cfbcopyarea.c trivial: remove unnecessary semicolons 2009-09-21 15:14:58 +02:00
cfbfillrect.c fbdev: fix fillrect for 24bpp modes 2009-05-06 16:36:10 -07:00
cfbimgblt.c video: replace remaining __FUNCTION__ occurrences 2008-04-28 08:58:42 -07:00
cg3.c cg3: use standard fields for framebuffer physical address and length 2009-06-16 04:56:34 -07:00
cg6.c cg6: use standard fields for framebuffer physical address and length 2009-06-16 04:56:35 -07:00
cg14.c cg14: use standard fields for framebuffer physical address and length 2009-06-16 04:56:31 -07:00
chipsfb.c chipsfb: remove redundant assignment 2009-06-16 19:47:58 -07:00
cirrusfb.c cirrusfb: do not allow unsupported pixel depth 2009-04-13 15:04:30 -07:00
clps711xfb.c clps711xfb: convert to proc_fops 2009-12-16 07:20:04 -08:00
cobalt_lcdfb.c platform-drivers: move probe to .devinit.text in drivers/video 2010-03-07 17:04:50 -08:00
controlfb.c powerpc/mm: Rework usage of _PAGE_COHERENT/NO_CACHE/GUARDED 2008-12-21 14:21:16 +11:00
controlfb.h
cyber2000fb.c VIDEO: cyberpro: pci_request_regions needs a persistent name 2009-12-24 18:34:09 +00:00
cyber2000fb.h
da8xx-fb.c davinci: fb: add framebuffer blank operation 2009-12-16 07:20:05 -08:00
dnfb.c m68k: dnfb doesnt check for Apollo 2008-05-18 13:28:49 -07:00
edid.h
efifb.c platform-drivers: move probe to .devinit.text in drivers/video 2010-03-07 17:04:50 -08:00
ep93xx-fb.c fbdev: add palette register check to several drivers 2009-12-16 07:20:01 -08:00
epson1355fb.c platform-drivers: move probe to .devinit.text in drivers/video 2010-03-07 17:04:50 -08:00
fb_ddc.c i2c: Let framebuffer drivers set their I2C bus class to DDC 2008-07-14 22:38:28 +02:00
fb_defio.c Merge branch 'xen/fbdev' of git://git.kernel.org/pub/scm/linux/kernel/git/jeremy/xen 2009-12-10 09:34:40 -08:00
fb_draw.h fbdev: fix fillrect for 24bpp modes 2009-05-06 16:36:10 -07:00
fb_notify.c
fb_sys_fops.c
fbcmap.c fbmem: don't call copy_from/to_user() with mutex held 2009-02-05 12:56:46 -08:00
fbcvt.c
fbmem.c fb: for framebuffer handover don't exit the loop early. 2010-02-25 14:15:12 +10:00
fbmon.c fbmon: work around compiler bug in gcc-2.4.2 2009-07-22 08:49:22 -07:00
fbsysfs.c Revert "fb: Initialize fb_info mutexes in framebuffer_alloc()" 2009-07-08 09:20:11 -07:00
ffb.c sparc: Annotate of_device_id arrays with const or __initdata. 2008-08-31 01:23:17 -07:00
fm2fb.c
fsl-diu-fb.c powerpc/mpc5121: correct DIU compatible property 2010-02-17 07:33:22 -07:00
fsl-diu-fb.h fbdev: powerpc: driver for Freescale 8610 and 5121 DIU 2008-04-28 08:58:40 -07:00
g364fb.c
gbefb.c platform-drivers: move probe to .devinit.text in drivers/video 2010-03-07 17:04:50 -08:00
gxt4500.c pci: use pci_ioremap_bar() in drivers/video 2009-01-06 15:59:26 -08:00
hecubafb.c fb-defio: Inhibit VM_IO flag to be set on vmalloc-ed framebuffers. 2009-12-03 17:30:42 -08:00
hgafb.c platform-drivers: move probe to .devinit.text in drivers/video 2010-03-07 17:04:50 -08:00
hitfb.c platform-drivers: move probe to .devinit.text in drivers/video 2010-03-07 17:04:50 -08:00
hpfb.c m68k: Return -ENODEV if no device is found 2008-05-18 13:28:50 -07:00
igafb.c igafb: use framebuffer_alloc() to allocate fb_info struct 2009-06-16 19:47:58 -07:00
imsttfb.c video: replace remaining __FUNCTION__ occurrences 2008-04-28 08:58:42 -07:00
imxfb.c imxfb: correct location of callbacks in suspend and resume 2010-02-02 18:11:22 -08:00
leo.c leo: use standard fields for framebuffer physical address and length 2009-06-16 04:56:37 -07:00
macfb.c macfb: fix 24-bit visual and stuff 2010-02-27 18:31:16 +01:00
macmodes.c fbdev: add some missing mac modes 2010-02-27 18:31:14 +01:00
macmodes.h
maxinefb.c fbdev: add palette register check to several drivers 2009-12-16 07:20:01 -08:00
metronomefb.c fb-defio: Inhibit VM_IO flag to be set on vmalloc-ed framebuffers. 2009-12-03 17:30:42 -08:00
modedb.c fbdev: drop custom atoi from drivers/video/modedb.c 2009-12-16 07:20:01 -08:00
mx3fb.c mx3fb: some debug and initialisation fixes 2010-02-02 18:11:21 -08:00
n411.c fbdev: platforming hecubafb and n411 2008-04-28 08:58:41 -07:00
neofb.c neofb: fix sparse warnings 2009-01-06 15:59:27 -08:00
offb.c offb: Add support for framebuffer handoff to offb. 2009-12-09 17:09:29 +11:00
output.c tree-wide: convert open calls to remove spaces to skip_spaces() lib function 2009-12-15 08:53:32 -08:00
p9100.c p9100: use standard fields for framebuffer physical address and length 2009-06-16 04:56:38 -07:00
platinumfb.c platinumfb: fix misplaced parenthesis 2009-09-23 07:39:50 -07:00
platinumfb.h
pm2fb.c fbdev: use framebuffer_release() for freeing fb_info structures 2009-06-16 19:48:00 -07:00
pm3fb.c pm3fb: fix sparse warning 2009-01-06 15:59:27 -08:00
pmag-aa-fb.c fbcon: fix color generation for monochrome framebuffer 2008-02-06 10:41:18 -08:00
pmag-ba-fb.c fbdev: add palette register check to several drivers 2009-12-16 07:20:01 -08:00
pmagb-b-fb.c fbdev: add palette register check to several drivers 2009-12-16 07:20:01 -08:00
ps3fb.c powerpc/cell: Move CBE_IOPTE_* to <asm/cell-regs.h> 2009-08-20 10:29:26 +10:00
pvr2fb.c sh: Fix up more 64-bit pgprot truncation on SH-X2 TLB. 2010-02-17 13:23:00 +09:00
pxa168fb.c pxa168fb: fix offset setting at initialization 2009-12-01 09:02:31 +08:00
pxa168fb.h fb: add support of LCD display controller on pxa168/910 (base layer) 2009-06-13 00:09:09 +08:00
pxafb.c [ARM] pxafb: fix building issue of incorrect reference 2009-12-29 14:11:27 +08:00
pxafb.h [ARM] pxafb: add support for overlay1 and overlay2 as framebuffer devices 2008-12-29 18:00:04 +08:00
q40fb.c platform-drivers: move probe to .devinit.text in drivers/video 2010-03-07 17:04:50 -08:00
s1d13xxxfb.c fbdev: s1d13xxxfb: add accelerated bitblt functions 2009-06-16 19:48:00 -07:00
s3c-fb.c revert "drivers/video/s3c-fb.c: fix clock setting for Samsung SoC Framebuffer" 2010-01-16 12:15:40 -08:00
s3c2410fb.c platform-drivers: move probe to .devinit.text in drivers/video 2010-03-07 17:04:50 -08:00
s3c2410fb.h s3c-fb: CPUFREQ frequency scaling support 2009-06-16 19:47:59 -07:00
s3fb.c s3fb: fix color component length for pseudocolor modes 2009-04-13 15:04:29 -07:00
sa1100fb.c platform-drivers: move probe to .devinit.text in drivers/video 2010-03-07 17:04:50 -08:00
sa1100fb.h sa1100fb: fix color component length for pseudocolor modes 2009-04-13 15:04:29 -07:00
sbuslib.c sparc video: remove open boot prom code 2008-05-08 21:37:30 -07:00
sbuslib.h sparc video: remove open boot prom code 2008-05-08 21:37:30 -07:00
sgivwfb.c platform-drivers: move probe to .devinit.text in drivers/video 2010-03-07 17:04:50 -08:00
sh7760fb.c fbdev: add mutex for fb_mmap locking 2009-06-30 18:56:00 -07:00
sh_mobile_lcdcfb.c platform-drivers: move probe to .devinit.text in drivers/video 2010-03-07 17:04:50 -08:00
skeletonfb.c fbdev: fix color component field length documentation 2009-04-13 15:04:29 -07:00
sm501fb.c sm501: implement acceleration features 2009-12-16 07:20:04 -08:00
sstfb.c sstfb: check fb_alloc_cmap return value and handle failure properly 2009-04-01 08:59:30 -07:00
sticore.h video/console/stico{n,re}.c: make code static 2008-07-26 12:00:12 -07:00
stifb.c tree-wide: fix assorted typos all over the place 2009-12-04 15:39:55 +01:00
sunxvr500.c sunxvr500: Additional PCI id for sunxvr500 driver 2010-02-26 04:37:09 -08:00
sunxvr2500.c sparc video: remove open boot prom code 2008-05-08 21:37:30 -07:00
svgalib.c
syscopyarea.c fb: add support for foreign endianness 2008-04-28 08:58:35 -07:00
sysfillrect.c fbdev: fix fillrect for 24bpp modes 2009-05-06 16:36:10 -07:00
sysimgblt.c video: replace remaining __FUNCTION__ occurrences 2008-04-28 08:58:42 -07:00
tcx.c tcx: use standard fields for framebuffer physical address and length 2009-06-16 19:48:00 -07:00
tdfxfb.c tree-wide: fix assorted typos all over the place 2009-12-04 15:39:55 +01:00
tgafb.c tgafb: fix cmap memory leak 2009-04-01 08:59:31 -07:00
tmiofb.c drivers/video/tmiofb.c: fix uninitialised return value 2009-09-23 07:39:57 -07:00
tridentfb.c tridentfb: delete acceleration Kconfig option 2009-04-01 08:59:34 -07:00
uvesafb.c fb: remove fb_save_state() and fb_restore_state operations 2009-11-12 07:25:56 -08:00
valkyriefb.c valkyriefb: various fixes 2010-02-27 18:31:13 +01:00
valkyriefb.h valkyriefb: various fixes 2010-02-27 18:31:13 +01:00
vesafb.c platform-drivers: move probe to .devinit.text in drivers/video 2010-03-07 17:04:50 -08:00
vfb.c platform-drivers: move probe to .devinit.text in drivers/video 2010-03-07 17:04:50 -08:00
vga16fb.c platform-drivers: move probe to .devinit.text in drivers/video 2010-03-07 17:04:50 -08:00
vgastate.c
vt8623fb.c tree-wide: fix assorted typos all over the place 2009-12-04 15:39:55 +01:00
w100fb.c platform-drivers: move probe to .devinit.text in drivers/video 2010-03-07 17:04:50 -08:00
w100fb.h
xen-fbfront.c Merge branch 'linux-next' of git://git.kernel.org/pub/scm/linux/kernel/git/jbarnes/pci-2.6 2009-12-11 12:18:16 -08:00
xilinxfb.c fbdev/xilinxfb: Fix improper casting and tighen up probe path 2009-06-17 00:30:02 -06:00