Re: linux-next: build failure after merge of the driver-core tree

Uwe Kleine-König
2021-07-23T05:34:56Z

[-- Attachment #1: Type: text/plain, Size: 2683 bytes --]

Hello Stephen,

On Fri, Jul 23, 2021 at 03:09:44PM +1000, Stephen Rothwell wrote:
> Hi all,
>
> After merging the driver-core tree, today's linux-next build (arm
> multi_v7_defconfig) failed like this:
>
> drivers/gpu/drm/drm_dp_aux_bus.c:106:13: error: initialization of 'void (*)(struct device *)' from incompatible pointer type 'int (*)(struct device *)' [-Werror=incompatible-pointer-types]
> 106 | .remove = dp_aux_ep_remove,
> | ^~~~~~~~~~~~~~~~
> drivers/gpu/drm/drm_dp_aux_bus.c:106:13: note: (near initialization for 'dp_aux_bus_type.remove')
>
> Caused by commit
>
> aeb33699fc2c ("drm: Introduce the DP AUX bus")
>
> from the drm tree interacting with commit
>
> fc7a6209d571 ("bus: Make remove callback return void")
>
> from the driver-core tree.
>
> I applied the following merge fix patch.
>
> From: Stephen Rothwell <sfr@canb.auug.org.au>
> Date: Fri, 23 Jul 2021 14:58:25 +1000
> Subject: [PATCH] fix for "drm: Introduce the DP AUX bus"
>
> interaction with "bus: Make remove callback return void"
>
> Signed-off-by: Stephen Rothwell <sfr@canb.auug.org.au>
> ---
> drivers/gpu/drm/drm_dp_aux_bus.c | 5 +----
> 1 file changed, 1 insertion(+), 4 deletions(-)
>
> diff --git a/drivers/gpu/drm/drm_dp_aux_bus.c b/drivers/gpu/drm/drm_dp_aux_bus.c
> index e49a70f3691b..298ea7a49591 100644
> --- a/drivers/gpu/drm/drm_dp_aux_bus.c
> +++ b/drivers/gpu/drm/drm_dp_aux_bus.c
> @@ -67,9 +67,8 @@ static int dp_aux_ep_probe(struct device *dev)
> *
> * Calls through to the endpoint driver remove.
> *
> - * Return: 0 if no error or negative error code.
> */
> -static int dp_aux_ep_remove(struct device *dev)
> +static void dp_aux_ep_remove(struct device *dev)
> {
> struct dp_aux_ep_driver *aux_ep_drv = to_dp_aux_ep_drv(dev->driver);
> struct dp_aux_ep_device *aux_ep = to_dp_aux_ep_dev(dev);
> @@ -77,8 +76,6 @@ static int dp_aux_ep_remove(struct device *dev)
> if (aux_ep_drv->remove)
> aux_ep_drv->remove(aux_ep);
> dev_pm_domain_detach(dev, true);
> -
> - return 0;
> }

This looks right.

Greg provided a tag containing fc7a6209d571 ("bus: Make remove callback
return void") at

git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core.git tags/bus_remove_return_void-5.15

(see https://lore.kernel.org/lkml/YPkwQwf0dUKnGA7L@kroah.com).

It would be great if this could be merged into the drm tree with the
above diff squashed into the merge commit.

Best regards
Uwe

--
Pengutronix e.K. | Uwe Kleine-König |
Industrial Linux Solutions | https://www.pengutronix.de/ |

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 488 bytes --]