> Am I reading this wrong? It looks to me like driver.attach_adapter, > int ddcmon_attach_adapter(struct i2c_adapter *adapter) > is always called when a bus is going to be probed. > > Most of the drivers implement it like this: > int ddcmon_attach_adapter(struct i2c_adapter *adapter) > { > return i2c_detect(adapter, &addr_data, ddcmon_detect); > } > > It's then i2c_detect() that goes and looks for the devices and decides > to call ddcmon_detect(); I see that ddcmon_detect() will not be called > if none of the devices are present. > > So the wakeup function can be added to the attach_adapter code. Isn't > the whole point of the attach_adapter function to allow the > implementation of a custom probing function? Hm, you have to be right here. It has become so usual that these function don't contain real code that I forgot that one could put something there, sorry. -- Jean Delvare http://www.ensicaen.ismra.fr/~delvare/