Input: synaptics-rmi4 - Fix device hierarchy
authorLoic Poulain <loic.poulain@linaro.org>
Fri, 29 Oct 2021 13:42:51 +0000 (15:42 +0200)
committerDmitry Torokhov <dmitry.torokhov@gmail.com>
Sat, 6 Nov 2021 02:46:21 +0000 (19:46 -0700)
The created rmi device is orphan, which breaks the real device
hierarchy, and can cause some trouble, especially during suspend
and resume sequences. E.g. in case of I2C, rmi dev should be child
of the I2C client device.

Fix this, assigning the transport device as parent of the rmi device.

Signed-off-by: Loic Poulain <loic.poulain@linaro.org>
Link: https://lore.kernel.org/r/1635514971-18415-1-git-send-email-loic.poulain@linaro.org
Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
drivers/input/rmi4/rmi_bus.c

index 24f31a5..50a0134 100644 (file)
@@ -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;