Hi I have written a driver for the DS28E17 Onewire to I2C master bridge. It acts as a slave device in the W1 subsystem and as a bus master in the I2C subsystem. It's available here: https://github.com/ianka/w1_ds28e17 The kernel driver is in the files w1_ds28e17, Kconfig and Makefile. The other files are test programs for the DS28E17 development kit as sold by Maxim. Please see the README for further details. I've already sent a mail to Evgeniy Polyakov, maintainer of the W1 subsystem and Wolfram Sang, maintainer of the I2C subsystem but got no reply. Maybe due to holiday season. It would be nice if someone with insight could give me a ping "that looks okay" or "you have to fix this or that". I also have a question/feature request for the i2c subsystem. The DS28E17 can support I2C_M_STOP, which allows to combine write/read into a single transaction for slaves which need the intermediate stop condition – as the DS7505 from the evaluation board. Using I2C_M_STOP instead of splitting the transaction into two would save some overhead on the Onewire bus (8 bytes at 15kBaud == 4ms, of busy-looping when Onewire is bitbanged.) However, the test for the I2C_M_STOP feature is made with I2C_FUNC_PROTOCOL_MANGLING, which also includes I2C_M_REV_DIR_ADDR, I2C_M_IGNORE_NAK, I2C_M_NO_RD_ACK. All of these *are not* supported by the DS28E17. What's the right way to handle this on the I2C driver side? Could we have a I2C_FUNC_STOP as we have a I2C_FUNC_NOSTART? Kind regards Jan -- To unsubscribe from this list: send the line "unsubscribe linux-i2c" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html