<div dir="ltr">Hi<div>I am trying to design some functionality and I wonder if something like that is supported in dts and linux:</div><div><br></div><div>&i2c1 {<br>default_device: default_device@75 {<br>    compatible = "some-name-never-mind";<br>     reg = <0x75>;<br>   };<br>    my_device: my_device@0 {<br>              compatible = "my-device-which-do-only-some-minor-part";<br>             reg = <0x75>;<br>   };<br>};<br></div><div><br></div><div>You know what I mean, is it possible to declare in dts two kernel modules for the same device with the same address? I don't want to extend default_device functionality, I want put my functionality in separate kernel module. I am currently in the middle of implementation but I wonder if it has sense. Both kernel modules will have in fact:</div><div>probe(struct i2c_client *client, ...), I wonder if probe won't fail. At least in user space shell "i2cdetect -r 1" returns UU for address 0x75 when kernel module is loaded. So that is why I suspect probe might fail.<br></div><div><br></div><div>Another story is what in case  somebody asks for access to device at the same time 

from two kernel modules. I hope function:</div><div>i2c_smbus_write_byte_data<br></div><div>has some kind of spinlock, mutexes and just wait till bus is free, but who knows.:)</div></div>