static int acpi_ec_write_method(device_t dev, u_int addr, UINT64 val, int width) { struct acpi_ec_softc *sc; ACPI_STATUS status; sc = device_get_softc(dev); status = EcSpaceHandler(ACPI_WRITE, addr, width * 8, &val, sc, NULL); if (ACPI_FAILURE(status)) return (ENXIO); return (0); }
/* Methods to allow other devices (e.g., smbat) to read/write EC space. */ static int acpi_ec_read_method(device_t dev, u_int addr, ACPI_INTEGER *val, int width) { struct acpi_ec_softc *sc; ACPI_STATUS status; sc = device_get_softc(dev); status = EcSpaceHandler(ACPI_READ, addr, width * 8, val, sc, NULL); if (ACPI_FAILURE(status)) return (ENXIO); return (0); }