SMBus smart battery driver

This adds support for reading the voltage of a "smart battery" using I2C which is mostly compatible with SMBus.