Index: linux/isms/kern/linux-2.2/drivers/char/i2c.c diff -u linux/isms/kern/linux-2.2/drivers/char/i2c.c:1.1.1.2 linux/isms/kern/linux-2.2/drivers/char/i2c.c:1.2 --- linux/isms/kern/linux-2.2/drivers/char/i2c.c:1.1.1.2 Mon Jan 25 22:36:35 1999 +++ linux/isms/kern/linux-2.2/drivers/char/i2c.c Thu Apr 29 23:35:10 1999 @@ -387,7 +387,10 @@ return bus->i2c_read(bus, addr); i2c_start(bus); - i2c_sendbyte(bus,addr,0); + if (i2c_sendbyte(bus,addr,0)) { + i2c_stop(bus); + return -1; + } ret = i2c_readbyte(bus,1); i2c_stop(bus); return ret; Index: linux/isms/kern/linux-2.2/include/linux/i2c.h diff -u linux/isms/kern/linux-2.2/include/linux/i2c.h:1.1.1.2 linux/isms/kern/linux-2.2/include/linux/i2c.h:1.2 --- linux/isms/kern/linux-2.2/include/linux/i2c.h:1.1.1.2 Mon Jan 25 22:36:09 1999 +++ linux/isms/kern/linux-2.2/include/linux/i2c.h Thu Apr 29 23:35:11 1999 @@ -35,6 +35,7 @@ #define I2C_DRIVERID_VIDEOTEXT 3 #define I2C_BUSID_BT848 1 /* I2C bus on a BT848 */ +#define I2C_BUSID_SGIVWFB 1 /* I2C bus on a SGI Visual Workstation */ /* * struct for a driver for a i2c chip (tuner, soundprocessor, Index: linux/isms/kern/linux-2.2/drivers/video/Config.in diff -u linux/isms/kern/linux-2.2/drivers/video/Config.in:1.1.1.6 linux/isms/kern/linux-2.2/drivers/video/Config.in:1.12 --- linux/isms/kern/linux-2.2/drivers/video/Config.in:1.1.1.6 Thu Apr 22 19:03:41 1999 +++ linux/isms/kern/linux-2.2/drivers/video/Config.in Thu Apr 29 23:35:11 1999 @@ -75,6 +75,7 @@ fi if [ "$CONFIG_VISWS" = "y" ]; then tristate 'SGI Visual Workstation framebuffer support' CONFIG_FB_SGIVW + define_bool CONFIG_BUS_I2C y fi if [ "$CONFIG_EXPERIMENTAL" = "y" ]; then if [ "$CONFIG_PCI" != "n" ]; then Index: linux/isms/kern/linux-2.2/drivers/video/Makefile diff -u linux/isms/kern/linux-2.2/drivers/video/Makefile:1.1.1.6 linux/isms/kern/linux-2.2/drivers/video/Makefile:1.10 --- linux/isms/kern/linux-2.2/drivers/video/Makefile:1.1.1.6 Thu Apr 22 19:03:36 1999 +++ linux/isms/kern/linux-2.2/drivers/video/Makefile Fri Apr 9 18:14:47 1999 @@ -133,10 +133,10 @@ endif ifeq ($(CONFIG_FB_SGIVW),y) -L_OBJS += sgivwfb.o +LX_OBJS += sgivwfb.o else ifeq ($(CONFIG_FB_SGIVW),m) - M_OBJS += sgivwfb.o + MX_OBJS += sgivwfb.o endif endif Index: linux/isms/kern/linux-2.2/drivers/video/sgivwfb.c diff -u linux/isms/kern/linux-2.2/drivers/video/sgivwfb.c:1.1.1.1 linux/isms/kern/linux-2.2/drivers/video/sgivwfb.c:1.15 --- linux/isms/kern/linux-2.2/drivers/video/sgivwfb.c:1.1.1.1 Thu Apr 22 19:03:31 1999 +++ linux/isms/kern/linux-2.2/drivers/video/sgivwfb.c Tue May 4 15:02:47 1999 @@ -1,8 +1,8 @@ /* * linux/drivers/video/sgivwfb.c -- SGI DBE frame buffer device * - * Copyright (C) 1999 Silicon Graphics, Inc. - * Jeffrey Newquist, newquist@engr.sgi.som + * Copyright (C) 1999 Silicon Graphics, Inc. + * Jeffrey Newquist, newquist@engr.sgi.com * * This file is subject to the terms and conditions of the GNU General Public * License. See the file COPYING in the main directory of this archive for @@ -24,33 +24,67 @@ #include #include #include +#include #include