History log of /haiku/src/add-ons/kernel/drivers/power/acpi_lid/acpi_lid.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>


# b4567c39 08-Feb-2023 Oscar Lesta <oscar.lesta@gmail.com>

acpi_lid: avoid possible memory leak

Also: removed a now unnecessary line-break.

Change-Id: I86ceda3a437d075ff8a611df1a93cceefe3ce82b
Reviewed-on: https://review.haiku-os.org/c/haiku/+/6054
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
Reviewed-by: Jérôme Duval <jerome.duval@gmail.com>


# d778c82d 05-Feb-2023 Oscar Lesta <oscar.lesta@gmail.com>

acpi_lid: fix build on 64 bits.

Change-Id: I1d5b374db37edfa546b1c0d4909c08c779fd392d
Reviewed-on: https://review.haiku-os.org/c/haiku/+/6044
Reviewed-by: Fredrik Holmqvist <fredrik.holmqvist@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>


# 46843fbb 28-Aug-2019 Jaroslaw Pelczar <jarek@jpelczar.com>

acpi_lid.cpp: Fix invalid preprocessor directive

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


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

power_daemon: use wait_for_objects() instead of polling.

* acpi_button and acpi_lid support select/deselect hooks.
* power_daemon now uses a thread waiting for lid or power button events.
* a power button event is still hardcoded to a shutdown.
* a lid event only displays a message.


# 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.


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

acpi_lid: correctly report lid status

* notify handling not working (like acpi_ac).
* deleted header
* code cleanup


# e856422f 30-Oct-2013 Jérôme Duval <jerome.duval@gmail.com>

acpi_button: switch to fixed event and notify handlers.

* install a fixed event or notify handler depending on the device type.
* on handling, a non zero status is available for read.
* fixed #10154.


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

power_daemon: use wait_for_objects() instead of polling.

* acpi_button and acpi_lid support select/deselect hooks.
* power_daemon now uses a thread waiting for lid or power button events.
* a power button event is still hardcoded to a shutdown.
* a lid event only displays a message.


# 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.


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

acpi_lid: correctly report lid status

* notify handling not working (like acpi_ac).
* deleted header
* code cleanup


# e856422f12cd6311a6c0b8b64b2e87b4c02e5b63 30-Oct-2013 Jérôme Duval <jerome.duval@gmail.com>

acpi_button: switch to fixed event and notify handlers.

* install a fixed event or notify handler depending on the device type.
* on handling, a non zero status is available for read.
* fixed #10154.