On Fri, Jul 23, 2021 at 7:35 AM Uwe Kleine-König u.kleine-koenig@pengutronix.de wrote:
On Fri, Jul 23, 2021 at 03:09:44PM +1000, Stephen Rothwell wrote:
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.
+1.
Gr{oetje,eeting}s,
Geert