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