Home | History | Annotate | Download | only in fdt
History log of /src/sys/dev/fdt/fdt_i2c.c
RevisionDateAuthorComments
 1.16  23-Sep-2025  thorpej G/C fdtbus_copy_i2c_devs() and directly enumerate the devices using
the device tree in the FDT case.
 1.15  16-Sep-2025  thorpej As with ACPI, perform the fdtbus_register_i2c_controller() in a centralized
location.
 1.14  16-Sep-2025  thorpej Garbage-collect fdtbus_attach_i2cbus(); the regular iicbus_attach() is
sufficient now.
 1.13  16-Sep-2025  thorpej As with ACPI, iic_attach() now fetches the child device array directly
in the FDT case. Adjust the OFW case so that we're not forced to indirect
through a dictionary if it's not needed.
 1.12  23-Feb-2022  skrll API naming consistency. NFC.
 1.11  07-Aug-2021  thorpej branches: 1.11.2;
Merge thorpej-cfargs2.
 1.10  24-Apr-2021  thorpej branches: 1.10.2; 1.10.8;
Merge thorpej-cfargs branch:

Simplify and make extensible the config_search() / config_found() /
config_attach() interfaces: rather than having different variants for
which arguments you want pass along, just have a single call that
takes a variadic list of tag-value arguments.

Adjust all call sites:
- Simplify wherever possible; don't pass along arguments that aren't
actually needed.
- Don't be explicit about what interface attribute is attaching if
the device only has one. (More simplification.)
- Add a config_probe() function to be used in indirect configuiration
situations, making is visibly easier to see when indirect config is
in play, and allowing for future change in semantics. (As of now,
this is just a wrapper around config_match(), but that is an
implementation detail.)

Remove unnecessary or redundant interface attributes where they're not
needed.

There are currently 5 "cfargs" defined:
- CFARG_SUBMATCH (submatch function for direct config)
- CFARG_SEARCH (search function for indirect config)
- CFARG_IATTR (interface attribte)
- CFARG_LOCATORS (locators array)
- CFARG_DEVHANDLE (devhandle_t - wraps OFW, ACPI, etc. handles)

...and a sentinel value CFARG_EOL.

Add some extra sanity checking to ensure that interface attributes
aren't ambiguous.

Use CFARG_DEVHANDLE in MI FDT, OFW, and ACPI code, and macppc and shark
ports to associate those device handles with device_t instance. This
will trickle trough to more places over time (need back-end for pre-OFW
Sun OBP; any others?).
 1.9  23-Dec-2020  thorpej branches: 1.9.2;
Change fdtbus_register_i2c_controller() to directly register the i2c_tag_t,
rather than the device and a set of functions (the only of which was to
return the i2c_tag_t anyway). Previously, this assumed only a single
i2c controller node per device_t, which is not true with an i2c mux.
 1.8  12-Jun-2020  thorpej branches: 1.8.2;
i2c-indirect-config == false --> i2c-no-indirect-config == true
 1.7  24-Apr-2019  thorpej Fix leak of iba.iba_child_devices in fdtbus_attach_i2cbus(). Patch
provided by yarl-baudig %%at%% mailoo.org
 1.6  30-Jan-2019  jmcneill Add support for Allwinner A64's display pipeline.
 1.5  26-Sep-2018  jakllsch Set "i2c-indirect-config" to false in the right place so that iic(4)
better behaves itself.
 1.4  01-Jul-2018  jmcneill Add fdtbus_attach_i2cbus, used to attach an i2cbus to an fdt device node.
 1.3  30-Jun-2018  jmcneill Use queue(3) API to manage lists. NFCI.
 1.2  16-Dec-2015  jmcneill branches: 1.2.2; 1.2.18; 1.2.20; 1.2.22;
Only OF_* functions should be in fdt_openfirm.c, move the rest to fdt_subr.c.
 1.1  16-Dec-2015  jmcneill split gpio, i2c, intr, and regulator helpers into separate files
 1.2.22.1  10-Jun-2019  christos Sync with HEAD
 1.2.20.2  30-Sep-2018  pgoyette Ssync with HEAD
 1.2.20.1  28-Jul-2018  pgoyette Sync with HEAD
 1.2.18.2  03-Dec-2017  jdolecek update from HEAD
 1.2.18.1  16-Dec-2015  jdolecek file fdt_i2c.c was added on branch tls-maxphys on 2017-12-03 11:37:01 +0000
 1.2.2.2  27-Dec-2015  skrll Sync with HEAD (as of 26th Dec)
 1.2.2.1  16-Dec-2015  skrll file fdt_i2c.c was added on branch nick-nhusb on 2015-12-27 12:09:49 +0000
 1.8.2.1  03-Jan-2021  thorpej Sync w/ HEAD.
 1.9.2.1  02-Apr-2021  thorpej config_found_ia() -> config_found() w/ CFARG_IATTR.
 1.10.8.1  04-Aug-2021  thorpej Adapt to CFARGS().
 1.10.2.2  19-May-2021  thorpej fdtbus_attach_i2cbus() is no longer anything other than a wrapper around
config_found(); just get rid of it and make its callers look like all of
the other I2C controller drivers.
 1.10.2.1  25-Apr-2021  thorpej - Don't call of_enter_i2c_devs() -- it no longer exists.
- Pass along the provided devhandle to the i2c bus instance.

XXX fdtbus_attach_i2cbus() is now just a thin wrapper around config_found()
and should probably just go away in favor of making FDT-attached i2c
controller drivers consistent with everyone else.
 1.11.2.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.

RSS XML Feed