I added my device ID, enable tracing and add zero size check for MMIO to prevent “map_backing_store(): called with size=0 for area ‘PCHI2C memory mapped registers’!” KDL. Now something is working:
I am not familiar with Linux kernel internals and I don’t know how to check it.
I2C6 avalible at /dev/bus/i2c/1/bus_raw that contains i2c HID touchscreen and pen sensor seems working. This tablet also have LED light controlled by i2c.
I implemented acpi_scan_bus and now i2c_hid is loaded and it recognize touchscreen and pen. But threre are no reaction on touchscreen and when attempt to use pen, cursor is moved once to fixed location unrelated to pen position.
Following errors are written to syslog:
KERN: i2c_hid: error waiting for report: Device/File/Resource busy
KERN: i2c_hid: scheduling transfer failed
It probably fails because there are two devices on the same bus. When one is talking to the bus, the other one should take a lock.
will merge this tomorrow if feedback is OK: https://review.haiku-os.org/c/haiku/+/2470