Hi Anatoli,
Sorry to say; but still you are missing a lot of thing. In your patch file your calling device_reset(&client->dev), but I am not seeing any function definitions.
I can see from the snapshot that firstly you will get the interrupt before device device go out of reset. So your code sequence be like that only.
Parsing the device tree means if you are making any entry in the device tree (like in your case "resets = <&lcd_reset>;"); so have to parse the same thing in your driver as well. Otherwise your device tree changes will not be reflect in driver.
I can see in the link linux/goodix.c at master · torvalds/linux · GitHub
That they are parsing the device tree changes (As I have mentioned in the last mail ).
You can trace the function calling starting from probe function
#define GOODIX_GPIO_INT_NAME "irq" //Matching to string in device tree
#define GOODIX_GPIO_RST_NAME "reset" //Matching to string in device tree
error = goodix_get_gpio_config(ts);
static int goodix_get_gpio_config(struct goodix_ts_data *ts){
/* Get the interrupt GPIO pin number */
gpiod = devm_gpiod_get_optional(dev, GOODIX_GPIO_RST_NAME, GPIOD_IN);
/* Get the reset line GPIO pin number */
gpiod = devm_gpiod_get_optional(dev, GOODIX_GPIO_RST_NAME, GPIOD_IN);
}
Please add the missing code from this link.
Regards,
Vinod