Re: [PATCH v2 6/6] device property: Remove struct property_set

From: Dmitry Torokhov
Date: Sat Jul 06 2019 - 13:49:09 EST


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