[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <fcde8be2-e19b-901c-b8fe-8dc54d1e847d@linux.intel.com>
Date: Tue, 24 Oct 2017 16:41:21 +0300
From: Jarkko Nikula <jarkko.nikula@...ux.intel.com>
To: Greg Kroah-Hartman <gregkh@...uxfoundation.org>
Cc: linux-kernel@...r.kernel.org, linux-acpi@...r.kernel.org,
"Rafael J . Wysocki" <rjw@...ysocki.net>,
Lukas Wunner <lukas@...ner.de>, stable@...r.kernel.org
Subject: Re: [PATCH] device property: Track owner device of device property
On 10/20/2017 05:34 PM, Greg Kroah-Hartman wrote:
>> @@ -938,6 +940,7 @@ int device_add_properties(struct device *dev,
>>
>> p->fwnode.ops = &pset_fwnode_ops;
>> set_secondary_fwnode(dev, &p->fwnode);
>> + p->dev = dev;
>
> Don't you also need to increment the reference counter here? Or how is
> it assured that it will not go away?
>
I need to scratch my head on this. It sounds more robust to track
references and remove properties when last reference is dropped in
device_remove_properties(). What I don't know are properties be expected
to be copied and be usable for another device for instance by
ACPI_COMPANION_SET().
I can figure out case where properties are added to one device, another
device gets reference to them via ACPI_COMPANION_SET() and properties
get freed when the first device is removed. But should the second device
be able to use those properties at first place?
Rafael: What's you opinion: should there be reference counting for
device properties? Initial increment in device_add_properties(), other
around ACPI_COMPANION_SET()/set_primary_fwnode() and decrementing in
device_remove_properties().
--
Jarkko
Powered by blists - more mailing lists