Hi, On Wed, Jun 7, 2023 at 6:35 AM Cong Yang <yangcong5@xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx> wrote: > > The ili9882t is a TDDI IC (Touch with Display Driver). The > datasheet specifies there should be 60ms between touch SDA > sleep and panel RESX. Doug's series[1] allows panels and > touchscreens to power on/off together, so we can add the 65 ms > delay in i2c_hid_core_suspend before panel_unprepare. > > [1]: https: //lore.kernel.org/all/20230523193017.4109557-1-dianders@xxxxxxxxxxxx/ FWIW: I posted v2 today: https://lore.kernel.org/r/20230607215224.2067679-1-dianders@xxxxxxxxxxxx > Signed-off-by: Cong Yang <yangcong5@xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx> > --- > drivers/hid/i2c-hid/i2c-hid-of-elan.c | 20 ++++++++++++++++---- > 1 file changed, 16 insertions(+), 4 deletions(-) > > diff --git a/drivers/hid/i2c-hid/i2c-hid-of-elan.c b/drivers/hid/i2c-hid/i2c-hid-of-elan.c > index 76ddc8be1cbb..411d7ea2725d 100644 > --- a/drivers/hid/i2c-hid/i2c-hid-of-elan.c > +++ b/drivers/hid/i2c-hid/i2c-hid-of-elan.c > @@ -18,7 +18,8 @@ > #include "i2c-hid.h" > > struct elan_i2c_hid_chip_data { > - unsigned int post_gpio_reset_delay_ms; > + unsigned int post_gpio_reset_on_delay_ms; > + unsigned int post_gpio_reset_off_delay_ms; > unsigned int post_power_delay_ms; > u16 hid_descriptor_address; > }; I would prefer it if you would add something to the "elan_i2c_hid_chip_data" indicating the name of the main supply. Set it to "vcc33" for the elan touchscreen and the NULL for your new one. It's probably worth adding a comment next to where you set it to NULL that this touchscreen is tightly integrated with the panel and assumes that the relevant power rails (other than the IO rail) have already been turned on by the panel driver because we're a panel follower. Otherwise someone is going to be super confused about how this could work.