Sometimes we have the following error message:
 platform MSFT0101:00: failed to claim resource 1
 acpi MSFT0101:00: platform device creation failed: -16
But there is not enough information to figure out which resource range
failed to claim.

Thus print the resource range at first-place thus /proc/iomem or
ioports should tell us who already claimed this resource, then
the driver bug or incorrect resource assignment which is running
into this conflict can be diagnosed:
 platform MSFT0101:00: failed to claim resource 1: [mem 0xfed40000-0xfed40fff]
 acpi MSFT0101:00: platform device creation failed: -16

Suggested-by: Len Brown <l...@kernel.org>
Reported-by: Wendy Wang <wendy.w...@intel.com>
Signed-off-by: Chen Yu <yu.c.c...@intel.com>
---
 drivers/base/platform.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/base/platform.c b/drivers/base/platform.c
index c4af003..22a6430 100644
--- a/drivers/base/platform.c
+++ b/drivers/base/platform.c
@@ -396,7 +396,7 @@ int platform_device_add(struct platform_device *pdev)
                }
 
                if (p && insert_resource(p, r)) {
-                       dev_err(&pdev->dev, "failed to claim resource %d\n", i);
+                       dev_err(&pdev->dev, "failed to claim resource %d: 
%pR\n", i, r);
                        ret = -EBUSY;
                        goto failed;
                }
-- 
2.7.4

Reply via email to