Hi Heikki, On Fri, Nov 9, 2018 at 6:22 AM Heikki Krogerus <heikki.krogerus@xxxxxxxxxxxxxxx> wrote: > > Replacing struct property_set with the software nodes that > were just introduced. > > The API and functionality for adding properties to devices > remains the same, however, the goal is to convert the > drivers to use the API for software nodes when the device > has no real firmware node, and use the old API only when > "extra" build-in properties are needed. Why do we want to do that though? If I am reading the code correctly, the change as it is implemented broke some of the current users of device_add_properties() (i.e. in i2c core when we instantiate a new i2c-client from a static board info) because it will fail to remove the properties (as the software node will be set up as primary and device_remove_properties explicitly looks at the secondary) on device removal. What is wrong with having device_add_properties() and device_remove_properties() to continue properly handling both cases (swnode only vs mix)? Thanks. -- Dmitry