History log of /src/sys/dev/i2c/i2cmux.c |
Revision | | Date | Author | Comments |
1.13 |
| 21-Sep-2025 |
thorpej | Use ic_channel in the i2c_tag_t.
|
1.12 |
| 16-Sep-2025 |
thorpej | Now that the common I2C code hides many of the FDT vs ACPI differences, perform the reductions currently possible in the I2C mux layer. Note some additional enhancements necessary for further reductions.
|
1.11 |
| 16-Sep-2025 |
thorpej | As with ACPI, perform the fdtbus_register_i2c_controller() in a centralized location.
|
1.10 |
| 16-Sep-2025 |
thorpej | Garbage-collect fdtbus_attach_i2cbus(); the regular iicbus_attach() is sufficient now.
|
1.9 |
| 15-Sep-2025 |
thorpej | No longer need to include acpi_i2c.h here.
|
1.8 |
| 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.7 |
| 10-Nov-2021 |
msaitoh | s/acutal/actual/ in comment.
|
1.6 |
| 07-Aug-2021 |
thorpej | branches: 1.6.2; Merge thorpej-cfargs2.
|
1.5 |
| 24-Apr-2021 |
thorpej | branches: 1.5.2; 1.5.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.4 |
| 26-Jan-2021 |
jmcneill | branches: 1.4.2; 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.3 |
| 25-Jan-2021 |
jmcneill | Add support for ACPI-based I2C mux attachment.
|
1.2 |
| 24-Jan-2021 |
jmcneill | trailing whitespace
|
1.1 |
| 28-Dec-2020 |
thorpej | branches: 1.1.2; Re-factor the "iicmux" driver to support other types of muxes that are themselves i2c devices.
|
1.1.2.3 |
| 03-Apr-2021 |
thorpej | Sync with HEAD.
|
1.1.2.2 |
| 03-Jan-2021 |
thorpej | Sync w/ HEAD.
|
1.1.2.1 |
| 28-Dec-2020 |
thorpej | file i2cmux.c was added on branch thorpej-futex on 2021-01-03 16:34:58 +0000
|
1.4.2.1 |
| 23-Mar-2021 |
thorpej | Convert config_found_ia() call sites where the device only carries a single interface attribute to bare config_found() calls.
|
1.5.8.1 |
| 04-Aug-2021 |
thorpej | Adapt to CFARGS().
|
1.5.2.4 |
| 14-May-2021 |
thorpej | Move the bus/channel number for multi-channel / mux controllers out of i2cbus_attach_args and stash it in the i2c_tag_t instead. This makes it accessible to platform device tree code when enumerating devices.
|
1.5.2.3 |
| 08-May-2021 |
thorpej | Use device_enumerate_children() to eliminate all of the ACPI-specific code and most of the FDT-specific code from the iicmux driver.
|
1.5.2.2 |
| 08-May-2021 |
thorpej | - Add an optional bus number to i2cbus_attach_args, and a corresponding optional "bus" locator to the i2cbus interface attribute. - Add a iicbus_print_multi() routine, which is like iicbus_print(), but also prints the bus number. - Use these new features in the iicmux driver rather than winging it.
|
1.5.2.1 |
| 08-May-2021 |
thorpej | Update the i2c mux code for the new enumeration methods.
|
1.6.2.2 |
| 09-Aug-2021 |
thorpej | Fix typo.
|
1.6.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.
|