History log of /haiku/src/add-ons/kernel/drivers/power/acpi_battery/acpi_battery.cpp
Revision Date Author Comments
# 96bad768 08-Jan-2024 Jérôme Duval <jerome.duval@gmail.com>

PowerStatus: add state "Not charging"

some laptops decide to not charge a fast full battery to not consume a cycle.
In this discharging state, the current rate is zero, thus no time left can be computed.
We add a state "Not charging" to clearly differentiate and avoid user confusion.
PowerStatus was triggering low battery notifications, this is also fixed.

Change-Id: I4745c78eb0863ab01fe34cb065707d068cff0f0e
Reviewed-on: https://review.haiku-os.org/c/haiku/+/7300
Reviewed-by: Fredrik Holmqvist <fredrik.holmqvist@gmail.com>
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>


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


# fa288877 26-Mar-2022 PulkoMandy <pulkomandy@pulkomandy.tk>

acpi_battery: accept revision 1 struct with only 20 items

The revision 1 structure should have 21 items, but on my laptop, it doesn't.
That's fine, we can parse it as if it was a revision 0 structure. This way I
can see the battery status on my machine.

Change-Id: I743173e05318d686049454983e378a08c0a1980a
Reviewed-on: https://review.haiku-os.org/c/haiku/+/5155
Reviewed-by: waddlesplash <waddlesplash@gmail.com>


# 1b16a232 03-Mar-2020 Jérôme Duval <jerome.duval@gmail.com>

acpi_battery: support for _BIX method.

change int types to uint32, as it's more correct.

Change-Id: Iae7043abe4c8b8a121548fe6d6a809f1bd879c8a
Reviewed-on: https://review.haiku-os.org/c/haiku/+/2334
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>


# 12d046d0 16-Jul-2019 Adrien Destugues <pulkomandy@pulkomandy.tk>

PVS V547: always false conditions

Change-Id: I389c081331b1c5ef67bef9ffcac9055573e1ebf5
Reviewed-on: https://review.haiku-os.org/c/1605
Reviewed-by: Stephan Aßmus <superstippi@gmx.de>


# 959fdbd3 28-Feb-2018 Jérôme Duval <jerome.duval@gmail.com>

acpi_battery: use user_strlcpy in acpi_battery_read().

* also check for user addresses in acpi_battery_control().


# 2bd8cdc1 24-Oct-2013 Jérôme Duval <jerome.duval@gmail.com>

acpi: switch acpi_object from a struct to a union

* this way the size of acpi_object_type matches the size of ACPI_OBJECT
for 32-bit and 64-bit builds.
* adjust users of the type acpi_object_type.


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

acpi_battery: code cleanup

* merged acpi_battery.h with the cpp.
* no functional change except the cookie deallocation is now made in
acpi_battery_free() instead of acpi_battery_close().


# 042aefc4 04-May-2011 Alexander von Gluck IV <kallisti5@unixzen.com>

small bit of style cleanup; added additional checks to see if a battery was damaged or it is just an empty slot

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41319 a95241bf-73f2-0310-859d-f6bbb57e9c96


# b8891e51 04-Dec-2010 Clemens Zeidler <clemens.zeidler@googlemail.com>

Apply patch by Alexander von Gluck. Fix #6951.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@39731 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 4740a170 18-Oct-2009 Clemens Zeidler <clemens.zeidler@googlemail.com>

Some small cleanup.

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@33632 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 4271a135 21-Aug-2009 Philippe Houdoin <philippe.houdoin@gmail.com>

Style cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32588 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 6059eef6 21-Aug-2009 Philippe Houdoin <philippe.houdoin@gmail.com>

Better use user_memcpy() to return battery [extended] info to userland caller.
Also add some paranoid checks: ACPI BIOSes implementation can be... wild.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32584 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 09596a6b 30-Jul-2009 Clemens Zeidler <clemens.zeidler@googlemail.com>

Remove some debug output and disable debug output.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31986 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 387cda1a 21-Jul-2009 Clemens Zeidler <clemens.zeidler@googlemail.com>

Move watching part from the driver cookie to a device cookie.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31680 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 34fc10ad 09-Jul-2009 Clemens Zeidler <clemens.zeidler@googlemail.com>

Work in progress of the battery driver.
TODO:
- Move watching stuff from driver to device cookie so it can be used by multiple instances.
- Find out why we only get notified about AC / battery changes.
- Fetch _BMD info.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31483 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 2bd8cdc16ba6292d6d13ddf871a101e86b2fd43f 24-Oct-2013 Jérôme Duval <jerome.duval@gmail.com>

acpi: switch acpi_object from a struct to a union

* this way the size of acpi_object_type matches the size of ACPI_OBJECT
for 32-bit and 64-bit builds.
* adjust users of the type acpi_object_type.


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

acpi_battery: code cleanup

* merged acpi_battery.h with the cpp.
* no functional change except the cookie deallocation is now made in
acpi_battery_free() instead of acpi_battery_close().


# 042aefc4ea641bcabbc17f29ee0a51d2e5a53b80 04-May-2011 Alexander von Gluck IV <kallisti5@unixzen.com>

small bit of style cleanup; added additional checks to see if a battery was damaged or it is just an empty slot

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41319 a95241bf-73f2-0310-859d-f6bbb57e9c96


# b8891e51233c307cf41e72349fa723a4ea3cdefa 04-Dec-2010 Clemens Zeidler <clemens.zeidler@googlemail.com>

Apply patch by Alexander von Gluck. Fix #6951.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@39731 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 4740a17020a4acc439af73b639f0f2c71ebf8456 18-Oct-2009 Clemens Zeidler <clemens.zeidler@googlemail.com>

Some small cleanup.

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@33632 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 4271a1354c1d93f07a1b4ab316a013f7911b0b91 21-Aug-2009 Philippe Houdoin <philippe.houdoin@gmail.com>

Style cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32588 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 6059eef66aee57861aa5377453d53fc6e617211d 21-Aug-2009 Philippe Houdoin <philippe.houdoin@gmail.com>

Better use user_memcpy() to return battery [extended] info to userland caller.
Also add some paranoid checks: ACPI BIOSes implementation can be... wild.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32584 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 09596a6bbc4233a1b41b8518c9eec80fef94ebcd 30-Jul-2009 Clemens Zeidler <clemens.zeidler@googlemail.com>

Remove some debug output and disable debug output.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31986 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 387cda1a6a01405d748848031184a827e9ac00be 21-Jul-2009 Clemens Zeidler <clemens.zeidler@googlemail.com>

Move watching part from the driver cookie to a device cookie.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31680 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 34fc10ad1fe1204178e58129305e7a5d50fdddfa 09-Jul-2009 Clemens Zeidler <clemens.zeidler@googlemail.com>

Work in progress of the battery driver.
TODO:
- Move watching stuff from driver to device cookie so it can be used by multiple instances.
- Find out why we only get notified about AC / battery changes.
- Fetch _BMD info.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31483 a95241bf-73f2-0310-859d-f6bbb57e9c96