linux-next: build failure after merge of the i2c tree

From: Stephen Rothwell
Date: Mon May 31 2021 - 20:33:11 EST


Hi all,

After merging the i2c tree, today's linux-next build (x86_64 allmodconfig)
failed like this:

In file included from drivers/gpu/drm/i915/i915_gem.c:1250:
drivers/gpu/drm/i915/selftests/i915_gem.c:97:13: error: conflicting types for 'pm_suspend'
97 | static void pm_suspend(struct drm_i915_private *i915)
| ^~~~~~~~~~
In file included from include/linux/regulator/consumer.h:35,
from include/linux/i2c.h:18,
from drivers/gpu/drm/i915/i915_drv.h:39,
from drivers/gpu/drm/i915/gt/intel_context.h:14,
from drivers/gpu/drm/i915/gem/i915_gem_context.h:12,
from drivers/gpu/drm/i915/i915_gem.c:44:
include/linux/suspend.h:331:12: note: previous declaration of 'pm_suspend' was here
331 | extern int pm_suspend(suspend_state_t state);
| ^~~~~~~~~~

Caused by commit

5a7b95fb993e ("i2c: core: support bus regulator controlling in adapter")

interacting with commit

3f51b7e1f36a ("drm/i915/selftests: Add a simple exerciser for suspend/hibernate")

from Linus' tree (v4.20-rc1)

I have added the following merge fix patch:

From: Stephen Rothwell <sfr@xxxxxxxxxxxxxxxx>
Date: Tue, 1 Jun 2021 10:25:49 +1000
Subject: [PATCH] drm/i915/selftests: Avoid name clash with pm_ global functions

Signed-off-by: Stephen Rothwell <sfr@xxxxxxxxxxxxxxxx>
---
drivers/gpu/drm/i915/selftests/i915_gem.c | 20 ++++++++++----------
1 file changed, 10 insertions(+), 10 deletions(-)

diff --git a/drivers/gpu/drm/i915/selftests/i915_gem.c b/drivers/gpu/drm/i915/selftests/i915_gem.c
index dc394fb7ccfa..5d674708b047 100644
--- a/drivers/gpu/drm/i915/selftests/i915_gem.c
+++ b/drivers/gpu/drm/i915/selftests/i915_gem.c
@@ -87,14 +87,14 @@ static void simulate_hibernate(struct drm_i915_private *i915)
intel_runtime_pm_put(&i915->runtime_pm, wakeref);
}

-static int pm_prepare(struct drm_i915_private *i915)
+static int test_pm_prepare(struct drm_i915_private *i915)
{
i915_gem_suspend(i915);

return 0;
}

-static void pm_suspend(struct drm_i915_private *i915)
+static void test_pm_suspend(struct drm_i915_private *i915)
{
intel_wakeref_t wakeref;

@@ -104,7 +104,7 @@ static void pm_suspend(struct drm_i915_private *i915)
}
}

-static void pm_hibernate(struct drm_i915_private *i915)
+static void test_pm_hibernate(struct drm_i915_private *i915)
{
intel_wakeref_t wakeref;

@@ -116,7 +116,7 @@ static void pm_hibernate(struct drm_i915_private *i915)
}
}

-static void pm_resume(struct drm_i915_private *i915)
+static void test_pm_resume(struct drm_i915_private *i915)
{
intel_wakeref_t wakeref;

@@ -148,16 +148,16 @@ static int igt_gem_suspend(void *arg)
if (err)
goto out;

- err = pm_prepare(i915);
+ err = test_pm_prepare(i915);
if (err)
goto out;

- pm_suspend(i915);
+ test_pm_suspend(i915);

/* Here be dragons! Note that with S3RST any S3 may become S4! */
simulate_hibernate(i915);

- pm_resume(i915);
+ test_pm_resume(i915);

err = switch_to_context(ctx);
out:
@@ -183,16 +183,16 @@ static int igt_gem_hibernate(void *arg)
if (err)
goto out;

- err = pm_prepare(i915);
+ err = test_pm_prepare(i915);
if (err)
goto out;

- pm_hibernate(i915);
+ test_pm_hibernate(i915);

/* Here be dragons! */
simulate_hibernate(i915);

- pm_resume(i915);
+ test_pm_resume(i915);

err = switch_to_context(ctx);
out:
--
2.30.2

--
Cheers,
Stephen Rothwell

Attachment: pgp9onJhiZJQt.pgp
Description: OpenPGP digital signature