Re: [PATCH v2-UPDATE2 3/4] resource: Add device-managed insert/remove_resource()

From: Dan Williams
Date: Tue Mar 08 2016 - 17:44:39 EST


On Tue, Mar 8, 2016 at 2:23 PM, Linus Torvalds
<torvalds@xxxxxxxxxxxxxxxxxxxx> wrote:
> On Tue, Mar 8, 2016 at 12:59 PM, Dan Williams <dan.j.williams@xxxxxxxxx> wrote:
>>
>> Here's the usage patch from Toshi [1] (copied below). It is indeed a
>> resource injected by nfit / nvdimm bus implementation. We just happen
>> to support nfit and libnvdimm as modules.
>>
>> The goal of these patches is to use the ACPI NFIT data to create a
>> "Persistent Memory" rather than "reserved" resource. This is for
>> platform-firmware implementations that use E820-Type2 rather than
>> E820-Type7 to describe pmem.
>
> So my worry is that there is likely exactly one or two of these kinds of sites.
>
> Why couldn't they just use insert_resource() and then remove it manually?

You mean instead of introducing a devm_insert_resource() as a helpful
first-class-citizen api, just arrange for the resource to be inserted
locally? Sure.

I assume Toshi was looking to keep the devm semantics like the rest of
the nfit driver, but we can do that locally with devm_add_action() and
skip the new general purpose api.