On Mon, Jan 11, 2021 at 3:42 PM Hugh Dickins <hu...@google.com> wrote: > > 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.
Did you see this patch change the organization of devices under /sys/devices/? The rmi* devices need to be under one of the i2c devices after this patch. Is that not the case? Or is that the case, but you are still seeing suspend/resume issues? -Saravana > > > > > 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