i have already added some pr_err to the kernel source ,
then the dmesg say : the touchpad work 1 time,during the system boot.
the dmesg output like :
```
[ 1.766437] in handle_fasteoi_irq for irq:7,starting...
[ 1.766440] in handle_irq_event start for :7
[ 1.766440] in __handle_irq_event_percpu :7 starting...
[ 1.766441] in __handle_irq_event_percpu :7,in for_each_action_of_desc
[ 1.766442] in amd_gpio_irq_handler,irq:7 start...
[ 1.766500] in amd_gpio_irq_handler,(!(regval & PIN_IRQ_PENDING) ||!(regval & BIT(INTERRUPT_MASK_OFF))) continue: 0
[ 1.766502] in amd_gpio_irq_handler,(!(regval & PIN_IRQ_PENDING) ||!(regval & BIT(INTERRUPT_MASK_OFF))) continue: 0
[ 1.766504] in amd_gpio_irq_handler, generic_handle_irq :55,start...
[ 1.766510] in amd_gpio_irq_handler, generic_handle_irq :55,end
[ 1.766512] in amd_gpio_irq_handler,(!(regval & PIN_IRQ_PENDING) ||!(regval & BIT(INTERRUPT_MASK_OFF))) continue: 0
[ 1.766514] in amd_gpio_irq_handler,irq:55 end
[ 1.766515] in __handle_irq_event_percpu :7,in switch IRQ_HANDLED break
[ 1.766516] in __handle_irq_event_percpu :7 ending...
[ 1.766516] in handle_irq_event end for :7
[ 1.766517] cond_unmask_eoi_irq irq:7
[ 1.766519] in handle_fasteoi_irq for irq:7, end
[ 1.841153] input: MSFT0001:00 04F3:3140 Mouse as /devices/platform/AMDI0010:03/i2c-0/i2c-MSFT0001:00/0018:04F3:3140.0001/input/input6
[ 1.841250] input: MSFT0001:00 04F3:3140 Touchpad as /devices/platform/AMDI0010:03/i2c-0/i2c-MSFT0001:00/0018:04F3:3140.0001/input/input7
[ 1.841312] hid-generic 0018:04F3:3140.0001: input,hidraw0: I2C HID v1.00 Mouse [MSFT0001:00 04F3:3140] on i2c-MSFT0001:00
```
and
today ,i run the script:
```
[root@localhost ra]# cd /sys/class/gpio/
[root@localhost gpio]# echo 386 > export
[root@localhost gpio]# cd gpio386
```
then
```
[root@localhost gpio386]# cat direction
in
```
so, there is some bug code set the direction to in ,or missing code to set the direction to out ?
i have already added some pr_err to the kernel source ,
then the dmesg say : the touchpad work 1 time,during the system boot.
the dmesg output like : irq_event_ percpu :7 starting... irq_event_ percpu :7,in for_each_ action_ of_desc irq_handler, irq:7 start... irq_handler, (!(regval & PIN_IRQ_PENDING) ||!(regval & BIT(INTERRUPT_ MASK_OFF) )) continue: 0 irq_handler, (!(regval & PIN_IRQ_PENDING) ||!(regval & BIT(INTERRUPT_ MASK_OFF) )) continue: 0 irq_handler, generic_handle_irq :55,start... irq_handler, generic_handle_irq :55,end irq_handler, (!(regval & PIN_IRQ_PENDING) ||!(regval & BIT(INTERRUPT_ MASK_OFF) )) continue: 0 irq_handler, irq:55 end irq_event_ percpu :7,in switch IRQ_HANDLED break irq_event_ percpu :7 ending... platform/ AMDI0010: 03/i2c- 0/i2c-MSFT0001: 00/0018: 04F3:3140. 0001/input/ input6 platform/ AMDI0010: 03/i2c- 0/i2c-MSFT0001: 00/0018: 04F3:3140. 0001/input/ input7 3140.0001: input,hidraw0: I2C HID v1.00 Mouse [MSFT0001:00 04F3:3140] on i2c-MSFT0001:00
```
[ 1.766437] in handle_fasteoi_irq for irq:7,starting...
[ 1.766440] in handle_irq_event start for :7
[ 1.766440] in __handle_
[ 1.766441] in __handle_
[ 1.766442] in amd_gpio_
[ 1.766500] in amd_gpio_
[ 1.766502] in amd_gpio_
[ 1.766504] in amd_gpio_
[ 1.766510] in amd_gpio_
[ 1.766512] in amd_gpio_
[ 1.766514] in amd_gpio_
[ 1.766515] in __handle_
[ 1.766516] in __handle_
[ 1.766516] in handle_irq_event end for :7
[ 1.766517] cond_unmask_eoi_irq irq:7
[ 1.766519] in handle_fasteoi_irq for irq:7, end
[ 1.841153] input: MSFT0001:00 04F3:3140 Mouse as /devices/
[ 1.841250] input: MSFT0001:00 04F3:3140 Touchpad as /devices/
[ 1.841312] hid-generic 0018:04F3:
```
and
today ,i run the script:
```
[root@localhost ra]# cd /sys/class/gpio/
[root@localhost gpio]# echo 386 > export
[root@localhost gpio]# cd gpio386
```
then
```
[root@localhost gpio386]# cat direction
in
```
so, there is some bug code set the direction to in ,or missing code to set the direction to out ?