Re: [PATCH 3/3] platform/x86: intel_speed_select_if: Remove hardcoded map size

From: Andy Shevchenko
Date: Tue Sep 26 2023 - 09:16:16 EST


On Mon, Sep 25, 2023 at 12:45:55PM -0700, Srinivas Pandruvada wrote:
> The driver is using 256 as the size while calling devm_ioremap(). The
> maximum offset is already part of struct isst_mmio_range. Use the
> maximum offset (end field of the struct) plus 4 as the map size to remove
> hardcoded value of 256.

...

> + punit_dev->mmio_range = (struct isst_mmio_range *) ent->driver_data;
> +
> + punit_dev->punit_mmio = devm_ioremap(&pdev->dev, base_addr,
> + punit_dev->mmio_range[1].end + sizeof(u32));

Can we rather fix the mmio_range driver data to have end be actually not the
offset of the last dword? (Better maybe to keep length there.)

With help of

struct resource r;
...
r = DEFINE_RES_MEM(base_addr, mmio_range.beg + mmio_range.len);

you can switch to devm_ioremap_resource() API.

--
With Best Regards,
Andy Shevchenko