On Wed, Oct 31, 2018 at 7:27 AM Peng Hao <peng.hao2@xxxxxxxxxx> wrote: > > On some architectures (e.g. arm64), it's preferable to use MMIO, since > this can be used standalone. Add MMIO support to the pvpanic driver. > case ACPI_RESOURCE_TYPE_IO: > - port = res->data.io.minimum; > + if (acpi_dev_resource_io(res, &r)) > + base = (void __iomem *) ioport_map(r.start, > + r.end - r.start + 1); > + return AE_OK; > + > + case ACPI_RESOURCE_TYPE_FIXED_MEMORY32: > + if (acpi_dev_resource_memory(res, &r)) > + base = ioremap(r.start, r.end - r.start + 1); > return AE_OK; You need to split this to two changes. First one converts existing code to use acpi_dev_resource_io() and the rest does the rest. Moreover, please, read carefully the code of those functions — hint: they check for resource type themselves. > + if (base) Same question. At which conditions the base here can be NULL? > + iounmap(base); -- With Best Regards, Andy Shevchenko