linux-sg2042/drivers/video/via
Florian Tobias Schandinat 85c5702ac0 viafb: fix i2c_transfer error handling
i2c_transfer returns negative errno on error and number of messages
processed on success. Just returning this value would give a poor
interface as it is not obvious that you must compare with 2 after reading
1 or n bytes and with 1 after writing 1 byte to determine if it was
successful. To avoid this error prone interface convert the error code
of a successful read/write to zero and all other non-negative values to
an negative error code.
This fixes a regression introduced by
	via: Rationalize vt1636 detection
which resulted in no longer detecting a VT1636 chip and therefore has
broken the output in configurations which contain this chip.

Signed-off-by: Florian Tobias Schandinat <FlorianSchandinat@gmx.de>
Acked-by: Jonathan Corbet <corbet@lwn.net>
Cc: Joseph Chan <JosephChan@via.com.tw>
Cc: stable@kernel.org
2010-09-24 02:15:11 +00:00
..
Makefile viafb: vt1636 cleanup 2010-09-24 02:15:05 +00:00
accel.c viafb: move some include files to include/linux 2010-05-11 16:07:59 -06:00
accel.h viafb: complete support for VX800/VX855 accelerated framebuffer 2010-04-20 14:23:20 -06:00
chip.h viafb: simplify lcd size "detection" 2010-07-23 14:35:50 +00:00
debug.h viafb: chip.h, debug.h 2008-10-16 11:21:41 -07:00
dvi.c viafb: introduce per output device power management 2010-09-24 02:15:03 +00:00
dvi.h viafb: propagate __init and __devinit 2010-09-24 02:14:46 +00:00
global.c viafb: make some variables a bit less global 2010-03-12 15:52:33 -08:00
global.h viafb: vt1636 cleanup 2010-09-24 02:15:05 +00:00
hw.c viafb: introduce per output device power management 2010-09-24 02:15:03 +00:00
hw.h viafb: introduce per output device power management 2010-09-24 02:15:03 +00:00
ioctl.c viafb: reduce viafb_set_iga_path usage 2010-09-24 02:14:48 +00:00
ioctl.h viafb: remove ioctls which break the framebuffer interface 2010-07-23 14:43:05 +00:00
lcd.c viafb: introduce per output device power management 2010-09-24 02:15:03 +00:00
lcd.h viafb: propagate __init and __devinit 2010-09-24 02:14:46 +00:00
share.h viafb: PLL value cleanup 2010-07-23 14:37:05 +00:00
tblDPASetting.c viafb: tbl1636.c, tbl1636.h, tblDPASetting.c, tblDPASetting.h 2008-10-16 11:21:41 -07:00
tblDPASetting.h viafb: tbl1636.c, tbl1636.h, tblDPASetting.c, tblDPASetting.h 2008-10-16 11:21:41 -07:00
via-core.c fbdev: section cleanup in viafb driver 2010-08-05 21:58:15 +00:00
via-gpio.c drivers/video/via/via-gpio.c: fix warning 2010-08-05 22:36:27 +00:00
via_i2c.c viafb: fix i2c_transfer error handling 2010-09-24 02:15:11 +00:00
via_modesetting.c viafb: move some include files to include/linux 2010-05-11 16:07:59 -06:00
via_modesetting.h viafb: move some modesetting functions to a seperate file 2010-05-07 17:17:38 -06:00
via_utility.c viafb: move some include files to include/linux 2010-05-11 16:07:59 -06:00
via_utility.h viafb: remove dead code 2010-03-12 15:52:33 -08:00
viafbdev.c viafb: introduce per output device power management 2010-09-24 02:15:03 +00:00
viafbdev.h viafb: add interface for output device configuration 2010-09-24 02:14:59 +00:00
viamode.c viafb: move some include files to include/linux 2010-05-11 16:07:59 -06:00
viamode.h viafb: split global index up 2010-03-12 15:52:33 -08:00
vt1636.c viafb: vt1636 cleanup 2010-09-24 02:15:05 +00:00
vt1636.h viafb: rework the I2C support in the VIA framebuffer driver 2010-04-27 13:01:45 -06:00