i2c-tools CHANGES
-----------------

3.0.2 (2008-11-29)
  i2c-dev.h: Drop I2C_FUNC_SMBUS_*I2C_BLOCK_2 defines
  decode-dimms: Add support for little-endian word hexdumps
                Only export the ceil function from POSIX
  decode-vaio: Remove history
  i2cdetect: Support i2c bus passed by name
             Shorten the usage message
  i2cdump: Support i2c bus passed by name
           Shorten the usage message
           Restrict the chip address to 0x03-0x77
           Split the functionality checking code into a separate function
           Better error message on missing adapter functionality
  i2cget: Support i2c bus passed by name
          Shorten the usage message
          Better error message on missing adapter functionality
  i2cset: Support i2c bus passed by name
          Shorten the usage message
          Restrict the chip address to 0x03-0x77
          Split the code into several functions for clarity
          Add support for short writes (SMBus send byte)
          Better error message on missing adapter functionality
          Set the data value mask with -m
          Make reading back the written value optional
  i2c-stub-from-dump: Add support for partial dumps
                      Report if only garbage is found in dump file
                      Behave properly when i2c-stub is already loaded
                      Stop on i2cset error

3.0.1 (2008-04-04)
  Drop the trailing .pl from all perl script names
  decode-dimms: Fix DDR2 SDRAM module speed decoding
                Update manufacturer IDs
                Don't print anything by default if checksum fails
                Decode all DDR2 SDRAM timing information
                Add support for reading SPD data from hexdumps
                Make command line parsing more robust
  decode-vaio: Private data might not be readable by non-root users
               Print the asset tag
               Fix the timestamp decoding
  i2cdump: Fix I2C block mode error code
           Remove man page reference to hardware monitoring chips
           Let the user specify a register range
  i2cset: Final status messages go to stdout
          Return success even when readback fails or doesn't match
  i2c-stub-from-dump: New helper script to use with i2c-stub

3.0.0 (2007-10-14)
  Initial release
