Re: linux-next: manual merge of the char-misc tree with the driver-core tree

From: Stephen Rothwell
Date: Thu Jul 11 2019 - 20:53:46 EST


Hi all,

On Mon, 1 Jul 2019 19:09:40 +1000 Stephen Rothwell <sfr@xxxxxxxxxxxxxxxx> wrote:
>
> Today's linux-next merge of the char-misc tree got a conflict in:
>
> drivers/hwtracing/coresight/of_coresight.c
>
> between commit:
>
> 418e3ea157ef ("bus_find_device: Unify the match callback with class_find_device")
>
> from the driver-core tree and commits:
>
> 22aa495a6477 ("coresight: Rename of_coresight to coresight-platform")
> 20961aea982e ("coresight: platform: Use fwnode handle for device search")
>
> from the char-misc tree.
>
> I fixed it up (I removed the file and added the following merge fix patch)
> and can carry the fix as necessary. This is now fixed as far as linux-next
> is concerned, but any non trivial conflicts should be mentioned to your
> upstream maintainer when your tree is submitted for merging. You may
> also want to consider cooperating with the maintainer of the conflicting
> tree to minimise any particularly complex conflicts.
>
> From: Stephen Rothwell <sfr@xxxxxxxxxxxxxxxx>
> Date: Mon, 1 Jul 2019 19:07:20 +1000
> Subject: [PATCH] coresight: fix for "bus_find_device: Unify the match callback
> with class_find_device"
>
> Signed-off-by: Stephen Rothwell <sfr@xxxxxxxxxxxxxxxx>
> ---
> drivers/hwtracing/coresight/coresight-platform.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/drivers/hwtracing/coresight/coresight-platform.c b/drivers/hwtracing/coresight/coresight-platform.c
> index 3c5ceda8db24..fc67f6ae0b3e 100644
> --- a/drivers/hwtracing/coresight/coresight-platform.c
> +++ b/drivers/hwtracing/coresight/coresight-platform.c
> @@ -37,7 +37,7 @@ static int coresight_alloc_conns(struct device *dev,
> return 0;
> }
>
> -int coresight_device_fwnode_match(struct device *dev, void *fwnode)
> +int coresight_device_fwnode_match(struct device *dev, const void *fwnode)
> {
> return dev_fwnode(dev) == fwnode;
> }

This is now a conflict between the driver-core tree and Linus' tree.

The declaration of coresight_device_fwnode_match() also needs fixing up
in drivers/hwtracing/coresight/coresight-priv.h (as done in the patch
below supplied by Nathan Chancellor).

From: Nathan Chancellor <natechancellor@xxxxxxxxx>
Date: Mon, 1 Jul 2019 11:28:08 -0700
Subject: [PATCH] coresight: Make the coresight_device_fwnode_match declaration's fwnode parameter const

drivers/hwtracing/coresight/coresight.c:1051:11: error: incompatible pointer types passing 'int (struct device *, void *)' to parameter of type 'int (*)(struct device *, const void *)' [-Werror,-Wincompatible-pointer-types]
coresight_device_fwnode_match);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
include/linux/device.h:173:17: note: passing argument to parameter 'match' here
int (*match)(struct device *dev, const void *data));
^
1 error generated.

Signed-off-by: Nathan Chancellor <natechancellor@xxxxxxxxx>
---
drivers/hwtracing/coresight/coresight-priv.h | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/hwtracing/coresight/coresight-priv.h b/drivers/hwtracing/coresight/coresight-priv.h
index 8b07fe55395a..7d401790dd7e 100644
--- a/drivers/hwtracing/coresight/coresight-priv.h
+++ b/drivers/hwtracing/coresight/coresight-priv.h
@@ -202,6 +202,6 @@ static inline void *coresight_get_uci_data(const struct amba_id *id)

void coresight_release_platform_data(struct coresight_platform_data *pdata);

-int coresight_device_fwnode_match(struct device *dev, void *fwnode);
+int coresight_device_fwnode_match(struct device *dev, const void *fwnode);

#endif
--
2.22.0

--
Cheers,
Stephen Rothwell

Attachment: pgpYB7QbRHq3X.pgp
Description: OpenPGP digital signature