Re: [PATCH v2 1/2] intel/pinctrl: check REVID register value for device presence
From: Andy Shevchenko
Date: Wed Mar 24 2021 - 13:02:34 EST
On Wed, Mar 24, 2021 at 04:43:11PM +0100, Roger Pau Monne wrote:
Thanks for a fix! My comments below.
> Use the value read from the REVID register in order to check for the
> presence of the device. A read of all ones is treated as if the device
> is not present, and hence probing is ended.
>
> This fixes an issue when running as a Xen PVH dom0, where the ACPI
> DSDT table is provided unmodified to dom0 and hence contains the
> pinctrl devices, but the MMIO region(s) containing the device
> registers might not be mapped in the guest physical memory map if such
> region(s) are not exposed on a PCI device BAR or marked as reserved in
> the host memory map.
Any particular point that we can use in the Fixes tag?
...
> Suggested-by: Andy Shevchenko <andy@xxxxxxxxxx>
Hmm... was it that address I have used? In any case I think my @linux.intel.com
is better.
...
> /* Determine community features based on the revision */
> value = readl(regs + REVID);
> + if (value == ~0u)
> + return -ENODATA;
I think -ENODEV is more appropriate here.
Also comment above should be adjusted to explain this check.
--
With Best Regards,
Andy Shevchenko