> -static void isp1301_configure(void) > +static u16 i2c_read16(u8 subaddr) > +{ > + u16 data; > + > + i2c_master_send(isp1301_i2c_client, &subaddr, 1); > + i2c_master_recv(isp1301_i2c_client, (u8 *) &data, 2); > + > + return data; > +} Won't i2c_smbus_read_word_data(isp1301_i2c_client, reg) do? And while we are at it: Could you also try replacing i2c_write() with i2c_smbus_write_byte_data(isp1301_i2c_client, reg, val)? No need to recode it (and in general, those solutions will also work with SMBus for free) -- Pengutronix e.K. | Wolfram Sang | Industrial Linux Solutions | http://www.pengutronix.de/ |
Attachment:
signature.asc
Description: Digital signature