motorola-montana: touchscreen doesn't work
Here's full dmesg: http://paste.ubuntu.com/p/BprJFhdxpD/ If we leave only important parts, we get this:
[ 0.747564] synaptics_dsx_dt_parse_modifiers: processing modifier config_modifier-aod[0]
[ 0.747698] synaptics_dsx_i2c 3-0020: no valid patch sets found
[ 0.747709] synaptics_dsx_dt_parse_modifiers: processing modifier config_modifier-fps[5]
[ 0.747716] synaptics_dsx_dt_parse_modifiers: using fingerprint sensor detection
[ 0.747725] synaptics_dsx_dt_parse_modifier: using touch clip area in fps-active
[ 0.747776] synaptics_dsx_of_init: using gpio config
[ 0.747964] 3-0020 supply vdd_quirk not found, using dummy regulator
[ 0.766342] i2c-msm-v2 78b7000.i2c: msm_bus_scale_register_client(mstr-id:86):0xe (ok)
[ 0.776476] synaptics_dsx_i2c 3-0020: synaptics_rmi4_cap_button_map: cap_button_map is NULL in board file
[ 0.778054] synaptics_dsx_i2c 3-0020: synaptics_rmi4_query_device: No handler for F51
[ 0.781714] input: synaptics_dsx_i2c as /devices/soc/78b7000.i2c/i2c-3/3-0020/input/input1
[ 0.781869] synaptics_rmi4_query_device: Product: s3603r, firmware id: 27111d, config id: 17041102
[ 0.782757] synaptics_dsx_sensor_state: state change UNKNOWN -> STANDBY
[ 0.782768] synaptics_dsx_sysfs_touchscreen: assigned minor 32
[ 0.782924] synaptics_dsx_i2c 3-0020: Failed to register fps_notifier: -19
[ 0.784092] input: hbtp_vm as /devices/virtual/input/input2
[ 0.785616] input: fpc1020 as /devices/virtual/input/input3
[ 0.785753] fpc1020 spi1.0: fpc1020_probe: ok
[ 0.785787] Driver ltr559 init.
[ 1.793059] synaptics_dsx_i2c 3-0020: RxTx mapped from F$55
Rx mapped count 24(28)
Tx mapped count 14(16)
[ 1.794331] statistics_start_timekeeping: F51 data: invalid offset
[ 1.794341] statistics_init: statistics init failed
[ 1.794947] synaptics_dsx_i2c 3-0020: fwu_scan_pdt: BL version = 7
[ 1.796034] genirq: Flags mismatch irq 72. 00000002 (fwu) vs. 00002008 (synaptics_dsx_i2c)
[ 1.796041] synaptics_dsx_i2c 3-0020: fwu_irq_enable: Failed to request irq: -16
[ 36.388065] genirq: Flags mismatch irq 72. 00000001 (synaptics_reset) vs. 00002008 (synaptics_dsx_i2c)
[ 36.388077] synaptics_dsx_i2c 3-0020: synaptics_dsx_ic_reset: Failed to request irq: -16
[ 36.486722] synaptics_dsx_i2c 3-0020: timed out waiting for reset to complete
[ 36.486735] ------------[ cut here ]------------
[ 36.486752] WARNING: CPU: 6 PID: 376 at kernel/irq/manage.c:1345 __free_irq+0x8c/0x194()
[ 36.486759] Trying to free already-free IRQ 72
[ 36.486764] Modules linked in:
[ 36.486775] CPU: 6 PID: 376 Comm: kworker/6:1 Not tainted 3.18.140-lineage #2-postmarketOS
[ 36.486781] Hardware name: montana (DT)
[ 36.486796] Workqueue: events synaptics_dsx_queued_resume
[ 36.486802] Call trace:
[ 36.486818] [<ffffffc0000895b4>] dump_backtrace+0x0/0xe8
[ 36.486827] [<ffffffc0000896b0>] show_stack+0x14/0x1c
[ 36.486833] [<ffffffc000e99d10>] dump_stack+0x80/0xac
[ 36.486840] [<ffffffc0000a1e9c>] warn_slowpath_common+0x88/0xb0
[ 36.486845] [<ffffffc0000a1f08>] warn_slowpath_fmt+0x44/0x4c
[ 36.486850] [<ffffffc0000eb9ac>] __free_irq+0x8c/0x194
[ 36.486855] [<ffffffc0000ebb8c>] free_irq+0x88/0xa4
[ 36.486860] [<ffffffc0006ee550>] synaptics_dsx_ic_reset+0x114/0x18c
[ 36.486865] [<ffffffc0006eec0c>] synaptics_dsx_queued_resume+0x1c0/0x274
[ 36.486871] [<ffffffc0000b6e74>] process_one_work+0x258/0x3cc
[ 36.486875] [<ffffffc0000b7790>] worker_thread+0x27c/0x39c
[ 36.486880] [<ffffffc0000bb7d8>] kthread+0xd4/0xe4
[ 36.486883] ---[ end trace a9c468d64343a7f8 ]---
[ 36.487756] genirq: Flags mismatch irq 72. 00000001 (synaptics_reset) vs. 00002008 (synaptics_dsx_i2c)
[ 36.487766] synaptics_dsx_i2c 3-0020: synaptics_dsx_ic_reset: Failed to request irq: -16
[ 36.586727] synaptics_dsx_i2c 3-0020: timed out waiting for reset to complete
[ 36.586743] ------------[ cut here ]------------
[ 36.586762] WARNING: CPU: 6 PID: 376 at kernel/irq/manage.c:1345 __free_irq+0x8c/0x194()
[ 36.586771] Trying to free already-free IRQ 72
[ 36.586777] Modules linked in:
[ 36.586789] CPU: 6 PID: 376 Comm: kworker/6:1 Tainted: G W 3.18.140-lineage #2-postmarketOS
[ 36.586795] Hardware name: montana (DT)
[ 36.586811] Workqueue: events synaptics_dsx_queued_resume
[ 36.586818] Call trace:
[ 36.586834] [<ffffffc0000895b4>] dump_backtrace+0x0/0xe8
[ 36.586843] [<ffffffc0000896b0>] show_stack+0x14/0x1c
[ 36.586853] [<ffffffc000e99d10>] dump_stack+0x80/0xac
[ 36.586864] [<ffffffc0000a1e9c>] warn_slowpath_common+0x88/0xb0
[ 36.586873] [<ffffffc0000a1f08>] warn_slowpath_fmt+0x44/0x4c
[ 36.586881] [<ffffffc0000eb9ac>] __free_irq+0x8c/0x194
[ 36.586889] [<ffffffc0000ebb8c>] free_irq+0x88/0xa4
[ 36.586898] [<ffffffc0006ee550>] synaptics_dsx_ic_reset+0x114/0x18c
[ 36.586906] [<ffffffc0006ee56c>] synaptics_dsx_ic_reset+0x130/0x18c
[ 36.586915] [<ffffffc0006eec0c>] synaptics_dsx_queued_resume+0x1c0/0x274
[ 36.586925] [<ffffffc0000b6e74>] process_one_work+0x258/0x3cc
[ 36.586933] [<ffffffc0000b7790>] worker_thread+0x27c/0x39c
[ 36.586942] [<ffffffc0000bb7d8>] kthread+0xd4/0xe4
[ 36.586948] ---[ end trace a9c468d64343a7f9 ]---
[ 36.586958] synaptics_dsx_i2c 3-0020: synaptics_rmi4_resume: timed out waiting for idle
[ 36.587221] synaptics_dsx_sensor_state: state change STANDBY -> ACTIVE
I already installed firmware for touchscreen, so I'm left with only two ideas:
- You need to change firmware path in kernel
- Something else in kernel is wrong