Home | History | Annotate | Download | only in acpi
History log of /src/sys/dev/acpi/acpi_i2c.c
RevisionDateAuthorComments
 1.23  23-Sep-2025  thorpej Enumerate i2c devices directly from the ACPI device tree.
 1.22  18-Sep-2025  thorpej In the "i2c-child-devices" array, don't pass in a "cookie" and "cookietype".
Instead, just create the appropriate devhandle and pass that along as a
data object.
 1.21  15-Sep-2025  thorpej Register the I2C controller with the ACPI subsystem centrally in
iic_attach().
 1.20  15-Sep-2025  thorpej Do the ACPI-specific get-child-devices dance in iic_attach(). This
obviously isn't ideal, but it funnels the issue into a central location
and provides for easier improvement later.
 1.19  11-Jan-2025  jmcneill acpi: i2c: only claim child devices with a _CRS or _ADR method

acpi_enter_i2c_devs is too aggressive with claiming child device nodes.
Restrict it to devices with either a _CRS or _ADR method. A driver is
free to claim more if appropriate.

Fixes missing HKEY (LEN0268) device on Thinkpad T14s Gen 6 (X1E).
 1.18  30-Dec-2024  jmcneill acpi: Ensure that non-child I2C HID devices are properly claimed.
 1.17  14-Dec-2024  jmcneill acpi: i2c: Honour accessor type attribute in GSB handler.

The accessor type attribute in a GSB field defines how the I2C
transaction should look. Add support for AttribQuick, AttribSendReceive,
AttribByte, AttribWord, AttribBlock, and AttribBytes.
 1.16  13-Dec-2024  jmcneill Attempt to fix build for kernels w/o i2c or gpio.
 1.15  09-Dec-2024  jmcneill Remove some debug printfs
 1.14  09-Dec-2024  jmcneill acpi: i2c: Support GenericSerialBus address space handlers.

Add support for I2C controllers to install GSB address space handlers.
 1.13  08-Dec-2024  jmcneill acpi: find I2C devices that are not children of the controller node

An I2C device does not necessarily have to be a child of an I2C controller
device node. It may be defined elsewhere in the device tree, with a
I2cSerialBusV2 resource that points to the I2C bus that it sits on.

For the simple case of I2C HID devices, we know that they have exactly
one I2C bus resource. When a controller calls acpi_enter_i2c_devs,
search for unclaimed device nodes with a resource that points to this
controller, and add any I2C HID devices found.
 1.12  23-Jul-2022  thorpej branches: 1.12.10;
- Handle dtlink in acpi_pack_compat_list().
- Don't pass the _HID value as the device name; always use the ACPI
node name.
 1.11  26-Jan-2021  thorpej branches: 1.11.4; 1.11.14;
Don't map ACPI _HID / _CID strings to "compatible" strings from the
Device Tree bindings. Just pass those strings in the standard
most-specific-to-least-specific order to the drivers and let them
deal.
 1.10  26-Jan-2021  jmcneill Add a device_t parameter to acpi_enter_i2c_devs. If non-NULL, all child
acpi_devnodes will be claimed by that device so we don't later try to
attach a duplicate device to that node at acpinodebus.
 1.9  25-Jan-2021  jmcneill Add "cookietype" to i2c attach args, so the consumer knows if ia_cookie
is either an OF phandle or an ACPI_HANDLE. Add NXP0002 compatible mapping
while here.
 1.8  24-Aug-2020  msaitoh branches: 1.8.2;
s/ressource/resource/. No functional change.
 1.7  11-Jun-2020  thorpej Update for proplib(3) API changes.
 1.6  08-Jun-2020  thorpej Update for proplib(3) API changes.
 1.5  28-Sep-2019  bouyer joshua stein, PR kern/54493: acpi_i2c uses incorrect arguments for _DSM call

The last argument to the _DSM call has to be ACPI_TYPE_PACKAGE, as defined in in
clude/acpredef.h for _DSM.

Avoids an ACPI warning at boot.
 1.4  05-May-2018  christos branches: 1.4.2; 1.4.8;
introduce acpi_device_present() to replace the previous _STA checks.
 1.3  07-Apr-2018  christos Merge conflicts; STA methods and fields are not present anymore.
 1.2  11-Dec-2017  bouyer branches: 1.2.2;
Define _COMPONENT and ACPI_MODULE_NAME; fix ACPI_DEBUG kernels
 1.1  10-Dec-2017  bouyer Implement a ACPI helper to fill the property array expected from our I2C
framework from the ACPI tables.
Also implement acpi_intr_establish(), acpi_intr_disestablish() and
acpi_intr_string().
Needed for the upcoming HID over I2C support, proposed on tech-kern@
on Dec, 1.
 1.2.2.2  21-May-2018  pgoyette Sync with HEAD
 1.2.2.1  16-Apr-2018  pgoyette Sync with HEAD, resolve some conflicts
 1.4.8.1  28-Sep-2019  martin Pull up following revision(s) (requested by bouyer in ticket #265):

sys/dev/acpi/acpi_i2c.c: revision 1.5

joshua stein, PR kern/54493: acpi_i2c uses incorrect arguments for _DSM call

The last argument to the _DSM call has to be ACPI_TYPE_PACKAGE, as defined in in
clude/acpredef.h for _DSM.

Avoids an ACPI warning at boot.
 1.4.2.1  13-Apr-2020  martin Mostly merge changes from HEAD upto 20200411
 1.8.2.1  03-Apr-2021  thorpej Sync with HEAD.
 1.11.14.2  10-Sep-2021  thorpej Remove unnecessary references to i2c_attach_args::ia_prop and mark the ones
that remain as XXX.
 1.11.14.1  09-Aug-2021  thorpej Port over the changes from thorpej-i2c-spi-conf to thorpej-i2c-spi-conf2,
which is based on a newer HEAD revision.
 1.11.4.2  08-May-2021  thorpej There are no more consumers of i2c attach args "cookie" and "cookietype",
so garbage-collect them.
 1.11.4.1  25-Apr-2021  thorpej Implement "i2c-enumerate-devices" for ACPI.
 1.12.10.1  02-Aug-2025  perseant Sync with HEAD

RSS XML Feed