Home | History | Annotate | Download | only in wmi
History log of /src/sys/dev/acpi/wmi/wmi_acpi.c
RevisionDateAuthorComments
 1.23  11-Aug-2023  riastradh acpiwmi(4): Fix abuse of char buffer for struct guid_t content.

Nothing guarantees alignment, so this is all undefined behaviour,
even if we don't touch the uninitialized members.

XXX pullup-10
XXX pullup-9
XXX pullup-8
 1.22  10-Aug-2023  mrg don't assign struct pointers to smaller then structure regions of memory.

in all cases here, the later parts of the structure are not actually
accessed, so there are no existing bugs here beyond general UB. for the
ufs ones, this also removes some casts.

found by GCC 12.
 1.21  10-May-2023  riastradh acpiwmi(4): Use config_detach_children.
 1.20  12-Dec-2021  andvar fix various typos in comments.
 1.19  07-Aug-2021  thorpej Merge thorpej-cfargs2.
 1.18  24-Apr-2021  thorpej branches: 1.18.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.17  29-Jan-2021  thorpej branches: 1.17.2;
Use acpi_compatible_match().
 1.16  03-Dec-2017  bouyer branches: 1.16.18;
- make sure strtoul() is called with a NULL-terminated string.
- acpi_wmi_input(): a valid data block may have flags set to 0.
 1.15  01-Jun-2017  chs remove checks for failure after memory allocation calls that cannot fail:

kmem_alloc() with KM_SLEEP
kmem_zalloc() with KM_SLEEP
percpu_alloc()
pserialize_create()
psref_class_create()

all of these paths include an assertion that the allocation has not failed,
so callers should not assert that again.
 1.14  14-Aug-2012  jruoho branches: 1.14.2; 1.14.16;
Use KM_SLEEP.
 1.13  17-Jul-2011  jakllsch branches: 1.13.2;
- Fix wmieeepc(4) hotkeys on Eee PC 1215T
- Rework wmi_event_enable into appropriately seperate versions for enabling
events and collection.
- Enable all events, not just ones tagged as expensive.
 1.12  16-Feb-2011  jruoho Convert the homegrown module declarations to use ioconf.
 1.11  28-Oct-2010  jruoho branches: 1.11.2; 1.11.4;
Install EC space handler and pass everything to acpiec(4).
Should fix PR # 43659.
 1.10  25-Oct-2010  jruoho Fix build failure.
 1.9  24-Oct-2010  jmcneill add support for building as a module
 1.8  24-Oct-2010  jmcneill add rescan support
 1.7  06-Aug-2010  jruoho branches: 1.7.2;
Remove the acpiwmi(4) dump from the ACPIVERBOSE module. Instead of this
complex solution, just use aprint_debug(9) in the driver.
 1.6  29-Jul-2010  jruoho Add "pnp0c14" to the list of HIDs. Required for LG X110. As valid EISA IDs
should be all upper case, leave this as a onetime quirk specific to acpiwmi(4).
 1.5  31-May-2010  pgoyette Extract ACPIVERBOSE into a kernel module. The module can be builtin
by defining 'options ACPIVERBOSE' in the kernel config file (no change
from current behavior), or it can be loaded at boot time on those
architectures that support the boot loader's "load" command.

ACPIVERBOSE also includes code to dump acpi/wmi data.
 1.4  15-Apr-2010  jruoho branches: 1.4.2; 1.4.4;
As discussed with jmcneill@, install a global "bus notification handler"
that receives all notifications and deliver notifications to drivers via it.
 1.3  09-Apr-2010  jruoho Fix a potential NULL pointer dereference.
 1.2  08-Apr-2010  jruoho Semantics.
 1.1  08-Apr-2010  jruoho Move acpiwmi(4) to the "sys/dev/acpi/wmi" -subdirectory.
 1.4.4.4  05-Mar-2011  rmind sync with head
 1.4.4.3  03-Jul-2010  rmind sync with head
 1.4.4.2  30-May-2010  rmind sync with head
 1.4.4.1  15-Apr-2010  rmind file wmi_acpi.c was added on branch rmind-uvmplock on 2010-05-30 05:17:18 +0000
 1.4.2.4  06-Nov-2010  uebayasi Sync with HEAD.
 1.4.2.3  17-Aug-2010  uebayasi Sync with HEAD.
 1.4.2.2  30-Apr-2010  uebayasi Sync with HEAD.
 1.4.2.1  15-Apr-2010  uebayasi file wmi_acpi.c was added on branch uebayasi-xip on 2010-04-30 14:43:07 +0000
 1.7.2.2  11-Aug-2010  yamt sync with head.
 1.7.2.1  06-Aug-2010  yamt file wmi_acpi.c was added on branch yamt-nfs-mp on 2010-08-11 22:53:17 +0000
 1.11.4.1  17-Feb-2011  bouyer Sync with HEAD
 1.11.2.1  06-Jun-2011  jruoho Sync with HEAD.
 1.13.2.1  30-Oct-2012  yamt sync with head
 1.14.16.1  28-Aug-2017  skrll Sync with HEAD
 1.14.2.1  03-Dec-2017  jdolecek update from HEAD
 1.16.18.1  03-Apr-2021  thorpej Sync with HEAD.
 1.17.2.1  24-Mar-2021  thorpej Don't filter interface attributes in rescan functions for devices that
carry only a single interface attribute. The autoconfiguration machinery
already considers interface attributes when searching for possible parents.
 1.18.8.1  04-Aug-2021  thorpej Adapt to CFARGS().

RSS XML Feed