History log of /haiku/src/add-ons/kernel/drivers/power/acpi_ac/acpi_ac.cpp
Revision Date Author Comments
# cccb5efb 27-Feb-2024 Oscar Lesta <oscar.lesta@gmail.com>

acpi_{ac,lid,thermal}: avoid SMAP related KDLs.

While these three worked just fine on my old Atom N450 based netbook,
all caused:

"PANIC: SMAP violation user-mapped address [...] touched from kernel [...]"

on a newer netbook with a Celeron N4020 CPU, before this change.

Side note / drivers status:

- acpi_ac works pretty decently on both machines.
- acpi_lid wrongly returns 0 until you close the lid for the first time.
Reports correct values after that, but seems to cause power_daemon's
event loop thread to peg one core to 100%.
- acpi_thermal readings are a mixed bag. Critical temp values Seem OK on
both machines. Current value generally OK on the older machine, very wrong
on the newer (reports 429496728.6 C).

Change-Id: Ia387a0bd5b21bdba1de0f0cd9ded814aa1ecdc26
Reviewed-on: https://review.haiku-os.org/c/haiku/+/7432
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
Reviewed-by: waddlesplash <waddlesplash@gmail.com>


# eb2154fd 04-Feb-2024 Oscar Lesta <oscar.lesta@gmail.com>

acpi_ac & acpi_lid: return early if read position is not zero.

This avoids things like `cat /dev/power/acpi_{ac,lid}/0`
pegging CPUs to 100%, and the command never finishing.

Followed similar code already present on the acpi_thermal driver.

Change-Id: I5f13137716c36170608ab7e9dcbca628f48a138d
Reviewed-on: https://review.haiku-os.org/c/haiku/+/7397
Haiku-Format: Haiku-format Bot <no-reply+haikuformatbot@haiku-os.org>
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
Reviewed-by: Jérôme Duval <jerome.duval@gmail.com>
Reviewed-by: Adrien Destugues <pulkomandy@pulkomandy.tk>


# a780ec86 07-Feb-2023 Oscar Lesta <oscar.lesta@gmail.com>

acpi_ac: update "last_status" on acpi_ac_notify_handler()

* Extracted an "acpi_ac_update_status()" function.
* Use that for both "acpi_ac_init_driver" and "acpi_ac_notify_handler".

This ensures that "acpi_ac_read()" returns the correct (current) status.

Change-Id: I4f8f35037180c10fe507b9abfda3a8a169349c13
Reviewed-on: https://review.haiku-os.org/c/haiku/+/6048
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
Reviewed-by: waddlesplash <waddlesplash@gmail.com>


# 215b685f 11-Dec-2022 X512 <danger_mail@list.ru>

kernel: Drop non-standard GNU inline assignment syntax

* We needed this previously due to our gcc2 compiled kernel.
* Now that our kernel is always latest gcc, we can move to the
c++20 syntax for inline assignment.
* Improves compatibility with clang, less GNU-specific stuff

Change-Id: Ib7272a0a52554a31e9a0e788fd3f031db9049795
Reviewed-on: https://review.haiku-os.org/c/haiku/+/5898
Reviewed-by: Alex von Gluck IV <kallisti5@unixzen.com>
Reviewed-by: Adrien Destugues <pulkomandy@pulkomandy.tk>


# 7d6cb3e3 28-Aug-2019 Jaroslaw Pelczar <jarek@jpelczar.com>

acpi_ac.cpp: Fix invalid preprocessor macro

Signed-off-by: Jaroslaw Pelczar <jarek@jpelczar.com>
Change-Id: I7984ffed7e634a37dabb10e2fa96330a97a0d98f
Reviewed-on: https://review.haiku-os.org/c/haiku/+/1776
Reviewed-by: waddlesplash <waddlesplash@gmail.com>


# 4377c66f 11-Nov-2013 Jérôme Duval <jerome.duval@gmail.com>

acpi_lid and acpi_ac: moved init to the driver hooks.

* notification handlers are now called correctly.


# d0a75d2c 01-Nov-2013 Jérôme Duval <jerome.duval@gmail.com>

acpi: added driver for AC Adapter devices.

* correctly report the AC status
* notify handler not called


# 4377c66f87368091b4d7ceed5aa08c2bbdb6b134 11-Nov-2013 Jérôme Duval <jerome.duval@gmail.com>

acpi_lid and acpi_ac: moved init to the driver hooks.

* notification handlers are now called correctly.


# d0a75d2c3a167a4a91d1c1751eff576e49c19d6c 01-Nov-2013 Jérôme Duval <jerome.duval@gmail.com>

acpi: added driver for AC Adapter devices.

* correctly report the AC status
* notify handler not called