Re: 5.11-rc device reordering breaks ThinkPad rmi4 suspend

From: Hugh Dickins
Date: Mon Jan 11 2021 - 19:43:46 EST


On Mon, 11 Jan 2021, Saravana Kannan wrote:
>
> I happen to have an X1 Carbon (different gen though) lying around and
> I poked at its /sys folders. None of the devices in the rmi4_smbus are
> considered the grandchildren of the i2c device. I think the real
> problem is rmi_register_transport_device() [1] not setting up the
> parent for any of the new devices it's adding.
>
> Hugh, can you try this patch?

Just tried, but no, this patch does not help; but I bet
you're along the right lines, and something as simple will do it.

>
> diff --git a/drivers/input/rmi4/rmi_bus.c b/drivers/input/rmi4/rmi_bus.c
> index 24f31a5c0e04..50a0134b6901 100644
> --- a/drivers/input/rmi4/rmi_bus.c
> +++ b/drivers/input/rmi4/rmi_bus.c
> @@ -90,6 +90,7 @@ int rmi_register_transport_device(struct
> rmi_transport_dev *xport)
>
> rmi_dev->dev.bus = &rmi_bus_type;
> rmi_dev->dev.type = &rmi_device_type;
> + rmi_dev->dev.parent = xport->dev;
>
> xport->rmi_dev = rmi_dev;
>
> -Saravana
>
> [1] - https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/drivers/input/rmi4/rmi_bus.c#n74