git: driver: add Apple SMC driver ported from FreeBSD asmc

Matthew Dillon dillon at crater.dragonflybsd.org
Tue May 5 15:38:11 PDT 2026


commit a8e4a24c7d9474b9e7635c138a35fa72133626f8
Author: Abdelkader Boudih <dragonflybsd at seuros.com>
Date:   Mon May 4 21:04:54 2026 +0000

    driver: add Apple SMC driver ported from FreeBSD asmc
    
    Port of the FreeBSD asmc(4) driver to DragonFlyBSD with the following
    adaptations:
    - kmalloc/kfree instead of malloc/free
    - ksnprintf instead of snprintf
    - lockmgr() 2-arg form (no whandle)
    - taskqueue_start_threads() with ncpu=-1 arg
    - sys/bus_resource.h instead of machine/resource.h
    - contrib/dev/acpica paths for acpi.h/accommon.h
    - u_long instead of rman_res_t
    
    Driver layout: sys/dev/apple/smc/
      smc.c      - probe/attach/detach, module glue
      smc_io.c   - ISA port I/O backend
      smc_mmio.c - MMIO/T2 backend
      smc_sysctl.c - sysctl handlers for fans, temps, SMS, light sensors
      smc.h      - shared types, macros, prototypes

Summary of changes:
 sys/conf/files                 |   4 +
 sys/dev/apple/smc/Makefile     |   5 +
 sys/dev/apple/smc/debug.h      |  22 ++
 sys/dev/apple/smc/smc.c        | 730 +++++++++++++++++++++++++++++++++++++++++
 sys/dev/apple/smc/smc.h        | 243 ++++++++++++++
 sys/dev/apple/smc/smc_io.c     | 676 ++++++++++++++++++++++++++++++++++++++
 sys/dev/apple/smc/smc_mmio.c   | 222 +++++++++++++
 sys/dev/apple/smc/smc_sysctl.c | 620 ++++++++++++++++++++++++++++++++++
 8 files changed, 2522 insertions(+)
 create mode 100644 sys/dev/apple/smc/Makefile
 create mode 100644 sys/dev/apple/smc/debug.h
 create mode 100644 sys/dev/apple/smc/smc.c
 create mode 100644 sys/dev/apple/smc/smc.h
 create mode 100644 sys/dev/apple/smc/smc_io.c
 create mode 100644 sys/dev/apple/smc/smc_mmio.c
 create mode 100644 sys/dev/apple/smc/smc_sysctl.c

http://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/a8e4a24c7d9474b9e7635c138a35fa72133626f8


-- 
DragonFly BSD source repository


More information about the Commits mailing list