Hi Wolfram, On Mon, Jun 12, 2023 at 10:43 PM Wolfram Sang <wsa@xxxxxxxxxx> wrote: > > Perhaps we should first think through what an ancillary device really > > is. My understanding is that it is used to talk to secondary addresses > > of a multi-address I2C slave device. > > As I mentioned somewhere before, this is not the case. Ancillary devices > are when one *driver* handles more than one address. Everything else has > been handled differently in the past (for all the uses I am aware of). > > Yet, I have another idea which is so simple that I wonder if it maybe > has already been discussed so far? > > * have two regs in the bindings > * use the second reg with i2c_new_client_device to instantiate the > RTC sibling. 'struct i2c_board_info', which is one parameter, should > have enough options to pass data, e.g it has a software_node. > > Should work or did I miss something here? That should work, mostly (i2c_new_dummy_device() also calls i2c_new_client_device()). And as i2c_board_info has an of_node member (something I had missed before!), the new I2C device can access the clocks in the DT node using the standard way. Gr{oetje,eeting}s, Geert -- Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@xxxxxxxxxxxxxx In personal conversations with technical people, I call myself a hacker. But when I'm talking to journalists I just say "programmer" or something like that. -- Linus Torvalds