[PATCH v9 5/7] ACPI: Translate the I/O range of non-MMIO devices before scanning
From: Andy Shevchenko <hidden>
Date: 2017-07-03 20:22:50
Also in:
linux-acpi, linux-pci, lkml
From: Andy Shevchenko <hidden>
Date: 2017-07-03 20:22:50
Also in:
linux-acpi, linux-pci, lkml
On Mon, Jul 3, 2017 at 7:08 PM, Gabriele Paoloni [off-list ref] wrote: JFYI: Mika on vacation.
I had a look into the MFD framework. If my understanding is correct the mfd framework create a platform device for each declared mfd_cell that is passed to mfd_add_devices().
Right.
However there is something that I do not quite understand: from http://elixir.free-electrons.com/linux/latest/source/drivers/mfd/mfd-core.c#L207 it seems that mfd_add_device() will create the platform device using the resources that are statically declared in the respective mfd_cell.
It's one possibility.
In my case I'd like to have a platform device using the resources that are parsed from the ACPI table (i.e. as it is done now by acpi_create_platform_device()).
So far so good. Nothing prevents you to do that.
If my understanding is correct, if I declared an mfd_cell for my IPMI child the mfd subsystem would create a platform device for such child and therefore acpi_create_platform_device() would fail to create a new platform device as adev->physical_node_count will be non zero. However as things stand now mfd_cell devices can only use the resources that are statically defined in the code (and therefore not the ones in the ACPI nodes)...am I right?
You may file resources first and then register MFD cells. See many existing examples in the kernel. -- With Best Regards, Andy Shevchenko