Here are a couple of patches that fix up the initialization path of the i2c-cores driver: i) Support for device tree configuration of i2c devices ii) Use devres routines in the resource reservation paths for device initialization This has been tested on an OpenRISC 1200 board; the OpenRISC Linux port depends on device trees for device enumeration. /Jonas