Kernel driver i2c-sis96x

Replaces 2.4.x i2c-sis645

Supported adapters:
  * Silicon Integrated Systems Corp (SiS)
    Any combination of these host bridges:
	645, 645DX (aka 646), 648, 650, 651, 655, 735, 745, 746
    and these south bridges:
    	961, 962, 963(L)

Author: Mark M. Hoffman <mhoffman@lightlink.com>

Description
-----------

This SMBus only driver is known to work on motherboards with the above
named chipset combinations. The driver was developed without benefit of a
proper datasheet from SiS. The SMBus registers are assumed compatible with
those of the SiS630, although they are located in a completely different
place. Thanks to Alexander Malysh <amalysh@web.de> for providing the
SiS630 datasheet (and  driver).

The command "lspci" as root should produce something like these lines:

00:00.0 Host bridge: Silicon Integrated Systems [SiS]: Unknown device 0645
00:02.0 ISA bridge: Silicon Integrated Systems [SiS] 85C503/5513
00:02.1 SMBus: Silicon Integrated Systems [SiS]: Unknown device 0016

or perhaps this...

00:00.0 Host bridge: Silicon Integrated Systems [SiS]: Unknown device 0645
00:02.0 ISA bridge: Silicon Integrated Systems [SiS]: Unknown device 0961
00:02.1 SMBus: Silicon Integrated Systems [SiS]: Unknown device 0016

(kernel versions later than 2.4.18 may fill in the "Unknown"s)

If you can't see it please look on quirk_sis_96x_smbus
(drivers/pci/quirks.c) (also if southbridge detection fails)

I suspect that this driver could be made to work for the following SiS
chipsets as well: 635, and 635T. If anyone owns a board with those chips
AND is willing to risk crashing & burning an otherwise well-behaved kernel
in the name of progress... please contact me at <mhoffman@lightlink.com> or
via the linux-i2c mailing list: <linux-i2c@vger.kernel.org>.  Please send bug
reports and/or success stories as well.


TO DOs
------

* The driver does not support SMBus block reads/writes; I may add them if a
scenario is found where they're needed.


Thank You
---------

Mark D. Studebaker <mdsxyz123@yahoo.com>
 - design hints and bug fixes
Alexander Maylsh <amalysh@web.de>
 - ditto, plus an important datasheet... almost the one I really wanted
Hans-Günter Lütke Uphues <hg_lu@t-online.de>
 - patch for SiS735
Robert Zwerus <arzie@dds.nl>
 - testing for SiS645DX
Kianusch Sayah Karadji <kianusch@sk-tech.net>
 - patch for SiS645DX/962
Ken Healy
 - patch for SiS655

To anyone else who has written w/ feedback, thanks!

