2021-06-01 00:35:03

by Stephen Rothwell

[permalink] [raw]
Subject: linux-next: build failure after merge of the i2c tree

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 <[email protected]>
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 <[email protected]>
---
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


Attachments:
(No filename) (499.00 B)
OpenPGP digital signature

2021-06-01 08:58:41

by Wolfram Sang

[permalink] [raw]
Subject: Re: linux-next: build failure after merge of the i2c tree

Hi Stephen,

> 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)

Thank you very much for taking care of this!


> I have added the following merge fix patch:
>
> From: Stephen Rothwell <[email protected]>
> 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 <[email protected]>

Looks like the proper solution to me. I think this should be added to
the i915 tree. D'accord everyone?

Reviewed-by: Wolfram Sang <[email protected]>

Kind regards,

Wolfram


Attachments:
(No filename) (1.68 kB)
signature.asc (849.00 B)
Download all attachments

2021-06-01 09:12:03

by Hsin-Yi Wang

[permalink] [raw]
Subject: Re: linux-next: build failure after merge of the i2c tree

On Tue, Jun 1, 2021 at 4:55 PM Wolfram Sang <[email protected]> wrote:
>
> Hi Stephen,
>
> > 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)
>
> Thank you very much for taking care of this!
>

Hi, this issue is fixed in
https://cgit.freedesktop.org/drm-intel/commit/?h=drm-intel-gt-next&id=5b11705608898c31a1cae5340555ee60d5a4fa45

And I think the pull request is in
https://lists.freedesktop.org/archives/intel-gfx/2021-May/267588.html

Thanks

>
> > I have added the following merge fix patch:
> >
> > From: Stephen Rothwell <[email protected]>
> > 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 <[email protected]>
>
> Looks like the proper solution to me. I think this should be added to
> the i915 tree. D'accord everyone?
>
> Reviewed-by: Wolfram Sang <[email protected]>
>
> Kind regards,
>
> Wolfram
>

2021-06-01 09:22:01

by Wolfram Sang

[permalink] [raw]
Subject: Re: linux-next: build failure after merge of the i2c tree


> Hi, this issue is fixed in
> https://cgit.freedesktop.org/drm-intel/commit/?h=drm-intel-gt-next&id=5b11705608898c31a1cae5340555ee60d5a4fa45
>
> And I think the pull request is in
> https://lists.freedesktop.org/archives/intel-gfx/2021-May/267588.html

Thanks for the heads up. So, I'll wait with my pull request for the next
merge window until drm has landed first.


Attachments:
(No filename) (381.00 B)
signature.asc (849.00 B)
Download all attachments