History log of /src/sys/dev/acpi/smbus_acpi.c |
Revision | | Date | Author | Comments |
1.18 |
| 24-Oct-2022 |
riastradh | i2c(9): Nix smbus intr API.
It was introduced in 2007 for some Xbox thing which was removed in 2011. The API and the threads it spawned have been sitting around idly for over a decade serving no purpose -- sometimes causing kernel lock spinouts in the event of panic.
Add ic_tag_private to obviate need for future ABI changes. Not currently used, but we can privately allocate memory in iic_tag_init for the purpose later if need be without changing ABI.
XXX kernel revbump -- changes struct i2c_controller
|
1.17 |
| 07-Aug-2021 |
thorpej | Merge thorpej-cfargs2.
|
1.16 |
| 24-Apr-2021 |
thorpej | branches: 1.16.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.15 |
| 29-Jan-2021 |
thorpej | branches: 1.15.2; Use acpi_compatible_match().
|
1.14 |
| 22-Dec-2019 |
thorpej | branches: 1.14.8; Cleanup i2c bus acquire / release, centralizing all of the logic into iic_acquire_bus() / iic_release_bus(). "acquire" and "release" hooks no longer need to be provided by back-end controller drivers (only if they need special handling, e.g. powering on the i2c controller). This results in the removal of a bunch of rendundant code from each back-end controller driver.
Assert that we are not in hard interrupt context in iic_acquire_bus(), iic_exec(), and iic_release_bus().
|
1.13 |
| 29-Jul-2010 |
jruoho | branches: 1.13.60; Refactor to make this more readable. No functional change.
|
1.12 |
| 28-Jul-2010 |
jruoho | Remove also the HIDs from previous.
|
1.11 |
| 28-Jul-2010 |
jruoho | Remove the homegrown attempt to match the parent PCI bus. This was only used for descriptive purposes, and for such purposes the ACPIVERBOSE output is much better.
|
1.10 |
| 15-Apr-2010 |
jruoho | As discussed with jmcneill@, install a global "bus notification handler" that receives all notifications and deliver notifications to drivers via it.
|
1.9 |
| 05-Mar-2010 |
jruoho | branches: 1.9.2; 1.9.4; Remove <dev/acpi/acpica.h> from all files. It is included from <dev/acpi/acpivar.h>. Ditto for <dev/sysmon/sysmonvar.h>, <sys/bus.h>, <dev/pci/pcivar.h>, and <dev/isa/isavar.h>.
Also nuke a lot of unused and invalid headers. Some of these are audibly provided by standard headers (namely <sys/param.h> and <sys/device.h>), some have nothing to do with ACPI devices (e.g. <sys/syslog.h>), and some are nonexistent local includes (e.g. "mpu_ym.h"). Moreoever, try to group the includes into their respective blocks.
Tested with GENERIC and ALL (i386). No functional change.
|
1.8 |
| 04-Mar-2010 |
jruoho | Fix two memory leaks.
|
1.7 |
| 04-Mar-2010 |
jruoho | Fix ACPI_DEBUG build failures reported by Greg A. Woods.
|
1.6 |
| 04-Mar-2010 |
pgoyette | This really should be ACPI_BUS_COMPONENT
Maybe I should stay out the acpi stuff? :)
|
1.5 |
| 04-Mar-2010 |
pgoyette | Fix this correctly. Thanks jruoho@
|
1.4 |
| 04-Mar-2010 |
pgoyette | Replace ACPI_FREE() with AcpiOsFree() so we no longer need to define _COMPONENT (we don't have a bit defined for SMBUS anyway). This was uncovered by turning on ACPI_DEBUG for the i386 ALL kernel config.
Reported by Greg Woods on current-users@
|
1.3 |
| 01-Mar-2010 |
jruoho | Destroy the callout(9) when detaching. Also evaluate the removal of the notify handler before going to demolishing business.
|
1.2 |
| 01-Mar-2010 |
jruoho | Semantics:
* Use ACPI_ADR_PCI_DEV(x) and ACPI_ADR_PCI_FUNC(x). * !ACPI_FAILURE -> ACPI_SUCCESS, UINT32 -> uint32_t * Remove whitespace.
|
1.1 |
| 06-Feb-2010 |
pgoyette | branches: 1.1.2; Import my experimental ACPI SMBus Control Method Interface driver
XXX Should not be enabled in any configuration file until you have XXX disabled corresponding "native" i2c driver! Read the acpismbus(4) XXX man page!
|
1.1.2.2 |
| 17-Aug-2010 |
uebayasi | Sync with HEAD.
|
1.1.2.1 |
| 30-Apr-2010 |
uebayasi | Sync with HEAD.
|
1.9.4.2 |
| 05-Mar-2011 |
rmind | sync with head
|
1.9.4.1 |
| 30-May-2010 |
rmind | sync with head
|
1.9.2.3 |
| 11-Aug-2010 |
yamt | sync with head.
|
1.9.2.2 |
| 11-Mar-2010 |
yamt | sync with head
|
1.9.2.1 |
| 05-Mar-2010 |
yamt | file smbus_acpi.c was added on branch yamt-nfs-mp on 2010-03-11 15:03:23 +0000
|
1.13.60.1 |
| 08-Apr-2020 |
martin | Merge changes from current as of 20200406
|
1.14.8.1 |
| 03-Apr-2021 |
thorpej | Sync with HEAD.
|
1.15.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.16.8.1 |
| 04-Aug-2021 |
thorpej | Adapt to CFARGS().
|