Index: linux-2.6.25.20/arch/cris/arch-v10/drivers/Kconfig
===================================================================
--- linux-2.6.25.20.orig/arch/cris/arch-v10/drivers/Kconfig	2009-02-09 09:30:40.000000000 +0100
+++ linux-2.6.25.20/arch/cris/arch-v10/drivers/Kconfig	2009-02-09 21:23:12.000000000 +0100
@@ -450,11 +450,18 @@
 	  i2c_arg = I2C_READARG(STA013_READ_ADDR, reg);
 	  val = ioctl(fd, _IO(ETRAXI2C_IOCTYPE, I2C_READREG), i2c_arg);
 
+config ETRAX_I2C_GVC
+	bool "I2C GVC support"
+	depends on ETRAX_ARCH_V10 && !ETRAX_I2C
+	select ETRAX_I2C_USES_PB_NOT_PB_I2C
+	help
+	  Enables an I2C driver with Geert Vancompernolle improvement.
+
 # this is true for most products since PB-I2C seems to be somewhat
 # flawed..
 config ETRAX_I2C_USES_PB_NOT_PB_I2C
 	bool "I2C uses PB not PB-I2C"
-	depends on ETRAX_I2C
+	depends on ETRAX_I2C || ETRAX_I2C_GVC
 	help
 	  Select whether to use the special I2C mode in the PB I/O register or
 	  not.  This option needs to be selected in order to use some drivers
@@ -478,7 +485,7 @@
 
 config ETRAX_I2C_EEPROM
 	bool "I2C EEPROM (non-volatile RAM) support"
-	depends on ETRAX_I2C
+	depends on ETRAX_I2C || ETRAX_I2C_GVC
 	help
 	  Enables I2C EEPROM (non-volatile RAM) on PB0 and PB1 using the I2C
 	  driver.  Select size option: Probed, 2k, 8k, 16k.
Index: linux-2.6.25.20/arch/cris/arch-v10/drivers/Makefile
===================================================================
--- linux-2.6.25.20.orig/arch/cris/arch-v10/drivers/Makefile	2009-02-09 09:30:41.000000000 +0100
+++ linux-2.6.25.20/arch/cris/arch-v10/drivers/Makefile	2009-02-09 09:35:39.000000000 +0100
@@ -4,6 +4,7 @@
 
 obj-$(CONFIG_ETRAX_AXISFLASHMAP)	+= axisflashmap.o
 obj-$(CONFIG_ETRAX_I2C)			+= i2c.o
+obj-$(CONFIG_ETRAX_I2C_GVC)		+= i2c_gvc.o
 obj-$(CONFIG_ETRAX_I2C_EEPROM)		+= eeprom.o
 obj-$(CONFIG_ETRAX_GPIO)		+= gpio.o
 obj-$(CONFIG_ETRAX_DS1302)		+= ds1302.o
