Re: [PATCH V4 3/5] misc/pvpanic: add MMIO support

From: Andy Shevchenko
Date: Wed Oct 31 2018 - 08:49:37 EST


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