| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
| |
also a trackstick or separate physical buttons, imt was claiming all
report ids of the ihidev device preventing the trackstick/buttons
from attaching as a separate ims device on other report ids.
Just claim the report ids that imt needs and let ims attach to
others it may find.
Fixes two Dell Latitude laptops and tested in snaps for a bit.
|
| |
|
| |
|
|
|
|
|
|
|
|
| |
If an interrupt is received, turn off polling and rely on
interrupts. This may happen after S3 resume.
Also properly shut down polling during suspend and start it up again
on resume only after dwiic is back in action.
|
|
|
|
|
|
|
| |
the data read during polling may be junk
fixed with Petr Ročkai
ok deraadt, mpi, stsp
|
|
|
|
| |
ok claudio@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
into hidmt.
The HID code uses hid_feature, hid_input, and hid_output constants
to refer to report types internally that then need to be converted
to their bus-level counterparts before actually getting sent out (so
hid_feature becomes UHID_FEATURE_REPORT for USB,
I2C_HID_REPORT_TYPE_FEATURE for i2c).
This conversion was hard-coded in ihidev but ihidev_[gs]et_report
should assume the type passed is already an i2c-level define, not a
hid one. This is how uhidev does it.
Add a conversion routine callback that any hidmt callers need to set
so that hidmt can convert hid constants to the bus-level versions.
Also add a similar conversion function to uhidev.
ok deraadt
|
|
|
|
|
| |
to cause issues on Dell XPS 15 9560. Will investigate and recommit later
if a better fix can be found.
|
|
|
|
|
|
| |
to those of 3 bytes or more (as per the hid-over-i2c spec).
discussed with jcs, kettenis
|
|
|
|
|
|
|
|
|
| |
such as on PCI dwiic(4) devices.
this is a temporary workaround until the underlying interrupt
problem is fixed.
tested by various
|
|
|
|
|
| |
Errors will result in nice clean panic messages so we know what's wrong.
Reviewed by dhill visa natano jsg.
|
| |
|
|
|
|
|
|
|
|
|
|
| |
that allows the i2c controller implementation to establish interrupts on
behalf of i2c slave device drivers. Use this mechanism in dwiic(4) to let
it configure the right acpi interrupt (global or gpio). Change the level to
IPL_TTY as this is the appropriate level to use for keyboards and other
input devices.
ok jsg@
|
|
|
|
|
|
| |
Required for the keyboard and touchpad on the ideapad 100s.
ok kettenis@
|
|
|
|
|
|
| |
into hid_desc_buf
tested by jsg
|
|
|
|
|
|
| |
establish interrupt before probing for devices to handle each report id
sign an int, found by jsg
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* Properly map bus space; using BUS_SPACE_MAP_PREFATCHABLE is not agood idea
as it may lead to reordering or merging of register writes in the store
buffer.
* Properly implement the iic(4) operations in dwiic_i2c_exec().
* Keep timings set up by the firmware if the SSCN and FMCN methods aren't
available.
ok jcs@
|
|
|
|
|
|
| |
interrupt handler.
ok jcs@
|
|
|
|
|
|
|
|
| |
into account the 2 bytes needed to store the length. Also make sure
that we have at least wMaxInputLength bytes available for reading input
reports.
ok jcs@
|
|
|
|
| |
noticed by jsg
|
|
|
|
|
|
|
|
|
| |
register space of the i2c device) with the i2c address. For i2c busses
enumerated by ACPI we get the address from the I2C Serial Bus Connection
Resource Descriptor returned by the _CRS methide of the i2c device. Pass the
HID descriptor address in the ia_size member.
ok jcs@
|
|
|
|
|
| |
isavar.h (a few parts of the tree include both)
ok jcs
|
|
on the Samsung ATIV Book 9 laptop. This initial version only
supports ACPI config/attachment.
Add ihidev, a HID-over-i2c driver largely based on uhidev. dwiic
handles attaching ihidev devices found in ACPI.
Add ims, a HID-over-i2c mouse/trackpad driver to get basic cursor
and button functionality from HID-compliant i2c trackpads.
ok kettenis deraadt
|