On Fri, Aug 11, 2023 at 11:37:52AM -0600, Rob Herring wrote: > On Sat, Jul 29, 2023 at 07:08:56PM +0300, Svyatoslav Ryhel wrote: [...] > > --- /dev/null > > +++ b/Documentation/devicetree/bindings/i2c/i2c-hotplug-gpio.yaml [...] > > + - | > > + /* > > + * Asus Transformers use I2C hotplug for attachable dock keyboard > > + */ > > + #include <dt-bindings/gpio/gpio.h> > > + #include <dt-bindings/interrupt-controller/irq.h> > > + > > + i2c-dock { > > + compatible = "i2c-hotplug-gpio"; > > + > > + #address-cells = <1>; > > + #size-cells = <0>; [...] > > + i2c-parent = <&gen2_i2c>; > > Couldn't you just add 'detect-gpios' to the existing bus node? It's > really part of that bus and there's not a separate bus. That would be a > lot simpler. I suppose you want to instantiate a driver, but that's not > DT's problem. Not a driver but a group of devices (possibly discovered dynamically) behind a passive gate (like e.g. PCA9517A with EN tied to a connector pin). It's not much different to a I2C gate or mux with a single child bus (i2c-mux-gpio that has only a single child). For ASUS Transformers with only the dock plugged-in it could work with a 'detect-gpios' extension (I'll take a look at how this way would work). I think there were also different attachments made you could connect instead of the dock. Best Regards Michał Mirosław