Subject: Filling out smbus functions in i2c layer
To: None <tech-kern@NetBSD.org>
From: Jared D. McNeill <jmcneill@invisible.ca>
List: tech-kern
Date: 03/16/2006 22:25:50
Hey folks --

It looks like our i2c layer defines a few functions for talking the
smbus protocol:

  iic_smbus_write_byte(i2c_tag_t, i2c_addr_t, uint8_t, uint8_t, int)
  iic_smbus_read_byte(i2c_tag_t, i2c_addr_t, uint8_t, uint8_t *, int)
  iic_smbus_receive_byte(i2c_tag_t, i2c_addr_t, uint8_t *, int);

I just dug up an old patch that fills in most of the missing functions:

  iic_smbus_write_word(i2c_tag_t, i2c_addr_t, uint8_t, uint16_t, int);
  iic_smbus_read_word(i2c_tag_t, i2c_addr_t, uint8_t, uint16_t *, int);
  iic_smbus_send_byte(i2c_tag_t, i2c_addr_t, uint8_t, int);
  iic_smbus_quick_read(i2c_tag_t, i2c_addr_t, int);
  iic_smbus_quick_write(i2c_tag_t, i2c_addr_t, int);
  iic_smbus_block_read(i2c_tag_t, i2c_addr_t, uint8_t, uint8_t *,
size_t, int);
  iic_smbus_block_write(i2c_tag_t, i2c_addr_t, uint8_t, uint8_t *,
size_t, int);

The patch lives here:
  http://www.invisible.ca/~jmcneill/netbsd/i2c.patch

Ok to commit?

Cheers,
Jared