[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <ZRLZmDmIkOo0YVz6@smile.fi.intel.com>
Date: Tue, 26 Sep 2023 16:16:08 +0300
From: Andy Shevchenko <andriy.shevchenko@...ux.intel.com>
To: Srinivas Pandruvada <srinivas.pandruvada@...ux.intel.com>
Cc: hdegoede@...hat.com, markgross@...nel.org,
ilpo.jarvinen@...ux.intel.com, platform-driver-x86@...r.kernel.org,
linux-kernel@...r.kernel.org
Subject: Re: [PATCH 3/3] platform/x86: intel_speed_select_if: Remove
hardcoded map size
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
Powered by blists - more mailing lists