History log of /freebsd-current/sys/dev/acpi_support/acpi_ibm.c
Revision Date Author Comments
# 685dc743 16-Aug-2023 Warner Losh <imp@FreeBSD.org>

sys: Remove $FreeBSD$: one-line .c pattern

Remove /^[\s*]*__FBSDID\("\$FreeBSD\$"\);?\s*\n/


# 90161e72 06-May-2022 John Baldwin <jhb@FreeBSD.org>

acpi_support: Remove unused devclass arguments to DRIVER_MODULE.


# 6237a1cc 26-Dec-2021 Alexander Motin <mav@FreeBSD.org>

acpi_support: Remove CTLFLAG_NEEDGIANT from sysctls.

MFC after: 2 weeks


# ddf18432 24-Jun-2020 Mark Johnston <markj@FreeBSD.org>

acpi_ibm(4): Rename disengaged mode to unthrottled mode.

This mode was added in r362496. Rename it to make the meaning more
clear.

PR: 247306
Suggested by: rpokala
Submitted by: Ali Abdallah <ali.abdallah@suse.com>
MFC with: r362496


# 9f763f00 21-Jun-2020 Mark Johnston <markj@FreeBSD.org>

acpi_ibm(4): Add support for putting fans in disengaged mode.

PR: 247306
Submitted by: Ali Abdallah <ali.abdallah@suse.com>
MFC after: 2 weeks


# 7029da5c 26-Feb-2020 Pawel Biernacki <kaktus@FreeBSD.org>

Mark more nodes as CTLFLAG_MPSAFE or CTLFLAG_NEEDGIANT (17 of many)

r357614 added CTLFLAG_NEEDGIANT to make it easier to find nodes that are
still not MPSAFE (or already are but aren’t properly marked).
Use it in preparation for a general review of all nodes.

This is non-functional change that adds annotations to SYSCTL_NODE and
SYSCTL_PROC nodes using one of the soon-to-be-required flags.

Mark all obvious cases as MPSAFE. All entries that haven't been marked
as MPSAFE before are by default marked as NEEDGIANT

Approved by: kib (mentor, blanket)
Commented by: kib, gallatin, melifaro
Differential Revision: https://reviews.freebsd.org/D23718


# 2927ab03 02-Feb-2020 Ed Maste <emaste@FreeBSD.org>

acpi_ibm: remove superfluous cast

Reported by: kib


# 66671c14 02-Feb-2020 Ed Maste <emaste@FreeBSD.org>

acpi_ibm: whitespace and wrapping cleanup


# 4382f0f7 02-Feb-2020 Ed Maste <emaste@FreeBSD.org>

acpi_ibm: whitespace fixup


# 02aeba83 30-Jan-2020 Philip Paeps <philip@FreeBSD.org>

acpi_ibm: add support for ThinkPad PrivacyGuard

ThinkPad PrivacyGuard is a built-in toggleable privacy filter that
restricts viewing angles when on. It is an available on some new
ThinkPad models such as the X1 Carbon 7th gen (as an optional HW
upgrade).

The privacy filter can be enabled/disabled via an ACPI call. This commit
adds a sysctl under dev.acpi_ibm that allows for getting and setting the
PrivacyGuard state.

Submitted by: Kamila Součková <kamila@ksp.sk>
Reviewed By: cem, philip
MFC after: 3 days
Differential Revision: https://reviews.freebsd.org/D23370


# 8c5cb4ce 15-Jan-2020 Ed Maste <emaste@FreeBSD.org>

acpi_ibm: reference ThinkPad instead of IBM

These are now Lenovo ThinkPads, not IBM ThinkPads.

PR: 234403
Submitted by: Kevin Zheng <kevinz5000@gmail.com> (original)


# cc1ac7fc 24-Apr-2019 Oleksandr Tymoshenko <gonzo@FreeBSD.org>

[acpi_ibm] Add support for newer Thinkpad models

Add support for newer Thinkpad models with id LEN0268. Was tested on
Thinkpad T480 and ThinkPad X1 Yoga 2nd gen.

PR: 229120
Submitted by: Ali Abdallah <aliovx@gmail.com>
MFC after: 1 week


# 5efca36f 25-Oct-2018 Takanori Watanabe <takawata@FreeBSD.org>

Distinguish _CID match and _HID match and make lower priority probe
when _CID match.

Reviewed by: jhb, imp
Differential Revision:https://reviews.freebsd.org/D16468


# 9cd818a3 17-Jun-2018 Eitan Adler <eadler@FreeBSD.org>

acpi: Add support for Thinkpads Mic led

PR: 229074
Submitted by: "Ali Abdallah" <aliovx@gmail.com>


# 9d6672e1 22-May-2016 Luiz Otavio O Souza <loos@FreeBSD.org>

Fix the deciKelvin to Celsius conversion in kernel.

After r285994, sysctl(8) was fixed to use 273.15 instead of 273.20 as 0C
reference and as result, the temperature read in sysctl(8) now exibits a
+0.1C difference.

This commit fix the kernel references to match the reference value used in
sysctl(8) after r285994.

Sponsored by: Rubicon Communications (Netgate)


# 453130d9 02-May-2016 Pedro F. Giffuni <pfg@FreeBSD.org>

sys/dev: minor spelling fixes.

Most affect comments, very few have user-visible effects.


# 62692eb1 13-Jun-2015 Enji Cooper <ngie@FreeBSD.org>

Fix previous commit (r284357)

I forgot to convert the && to a ||

Pointyhat to: ngie
X-MFC with: r283678, r284336, r284357


# 63605044 13-Jun-2015 Enji Cooper <ngie@FreeBSD.org>

Fix inverted check by skipping over the model-specific checks if the maker
or product is NULL, not if they are both not NULL

Reported by: araujo, kib
X-MFC with: r283678, r284336
Pointyhat to: allanjude


# 890cfe7e 12-Jun-2015 Allan Jude <allanjude@FreeBSD.org>

acpi_ibm.ko panics if SMBIOS information is not available

Add a check for NULL before strcmp on smbios information incase it is not populated

Differential Revision: https://reviews.freebsd.org/D2750
Reviewed by: ngie, jhb
Approved by: rpaulo
Sponsored by: ScaleEngine Inc.


# 78fd5381 28-May-2015 Rui Paulo <rpaulo@FreeBSD.org>

acpi_ibm: add per-model default events mask.

Add support for the hotkeys on a Lenovo X1 3rd gen. This also enables
event reporting by default.


# 3a9ac403 24-May-2015 Ganbold Tsagaankhuu <ganbold@FreeBSD.org>

This implements default-state support as described in:

https://www.kernel.org/doc/Documentation/devicetree/bindings/leds/leds-gpio.txt

Without this booting the VSATV102 causes the blue "working" led to turn
off when the kernel starts up. With this the led (which is turned on by
the firmware) stays on since that's the default state specified in the FDT.

Expanded the meaning of the led_create_state state parameter in order
to implement support for "keep". The original values were:

== 0 Off
!= 0 On

The new values are:

== -1 don't change / keep current setting
== 0 Off
!= -1 && != 0 On

This should have no effect on acpi_asus_attach which only calls
led_create_state with state set to 1. Updated acpi_ibm_attach
in order to avoid surprises.

Differential Revision: https://reviews.freebsd.org/D2615
Submitted by: John Wehle
Reviewed by: gonzo, loos


# fe3155ba 16-May-2015 Rui Paulo <rpaulo@FreeBSD.org>

acpi_ibm: whitespace.


# 0e1152fc 27-Oct-2014 Hans Petter Selasky <hselasky@FreeBSD.org>

The SYSCTL data pointers can come from userspace and must not be
directly accessed. Although this will work on some platforms, it can
throw an exception if the pointer is invalid and then panic the kernel.

Add a missing SYSCTL_IN() of "SCTP_BASE_STATS" structure.

MFC after: 3 days
Sponsored by: Mellanox Technologies


# f0188618 21-Oct-2014 Hans Petter Selasky <hselasky@FreeBSD.org>

Fix multiple incorrect SYSCTL arguments in the kernel:

- Wrong integer type was specified.

- Wrong or missing "access" specifier. The "access" specifier
sometimes included the SYSCTL type, which it should not, except for
procedural SYSCTL nodes.

- Logical OR where binary OR was expected.

- Properly assert the "access" argument passed to all SYSCTL macros,
using the CTASSERT macro. This applies to both static- and dynamically
created SYSCTLs.

- Properly assert the the data type for both static and dynamic
SYSCTLs. In the case of static SYSCTLs we only assert that the data
pointed to by the SYSCTL data pointer has the correct size, hence
there is no easy way to assert types in the C language outside a
C-function.

- Rewrote some code which doesn't pass a constant "access" specifier
when creating dynamic SYSCTL nodes, which is now a requirement.

- Updated "EXAMPLES" section in SYSCTL manual page.

MFC after: 3 days
Sponsored by: Mellanox Technologies


# 61bfd867 30-Jan-2013 Sofian Brabez <sbz@FreeBSD.org>

Use DEVMETHOD_END macro defined in sys/bus.h instead of {0, 0} sentinel on device_method_t arrays

Reviewed by: cognet
Approved by: cognet


# 2ef2a086 29-Oct-2012 Baptiste Daroussin <bapt@FreeBSD.org>

add support for newer Lenovo ThinkPads to acpi_ibm

PR: kern/164538
Submitted by: Pierre Imai <pierre@imai.at>
MFC after: 2 weeks


# ae2f080b 23-Jun-2012 Mitsuru IWASAKI <iwasaki@FreeBSD.org>

Add in-driver event handler.

MFC after: 3 days


# f4f04709 18-Jan-2011 Matthew D Fleming <mdf@FreeBSD.org>

Fix a few more SYSCTL_PROC() that were missing a CTLFLAG type specifier.


# 6dc7dc9a 12-Jan-2011 Matthew D Fleming <mdf@FreeBSD.org>

sysctl(9) cleanup checkpoint: amd64 GENERIC builds cleanly.

Commit the rest of the devices.


# a7d5f7eb 19-Oct-2010 Jamie Gritton <jamie@FreeBSD.org>

A new jail(8) with a configuration file, to replace the work currently done
by /etc/rc.d/jail.


# 30363a9a 11-Jun-2010 Jung-uk Kim <jkim@FreeBSD.org>

Remove unused assignment.

Found by: clang static analyzer
Found by: Coverity Prevent[tm] (CID 4537, 4538, 4539)


# e21bbd17 05-Feb-2010 Andriy Gapon <avg@FreeBSD.org>

MFC r197104,197105,197106,197107,197688,198237,199337,199338,200553,200554,
202771,202773: bring acpica version to 20100121

MFC details:
r197104 | jkim | 2009-09-12 01:48:53 +0300 (Sat, 12 Sep 2009) | 4 lines
MFV: r196804
Import ACPICA 20090903

r197105 | jkim | 2009-09-12 01:49:34 +0300 (Sat, 12 Sep 2009) | 2 lines
Catch up with ACPICA 20090903.

r197106 | jkim | 2009-09-12 01:50:15 +0300 (Sat, 12 Sep 2009) | 2 lines
Catch up with ACPICA 20090903.

r197107 | jkim | 2009-09-12 01:56:08 +0300 (Sat, 12 Sep 2009) | 2 lines
Canonify include paths for newly added files.

r197688 | jkim | 2009-10-01 23:56:15 +0300 (Thu, 01 Oct 2009) | 4 lines
Compile ACPI debugger and disassembler for kernel modules
unconditionally.
These files will generate almost empty object files without
ACPI_DEBUG/DDB
options. As a result, size of acpi.ko will increase slightly.

r198237 | jkim | 2009-10-19 19:12:58 +0300 (Mon, 19 Oct 2009) | 2 lines
Merge ACPICA 20091013.

r199337 | jkim | 2009-11-16 23:47:12 +0200 (Mon, 16 Nov 2009) | 2 lines
Merge ACPICA 20091112.

r199338 | jkim | 2009-11-16 23:53:56 +0200 (Mon, 16 Nov 2009) | 2 lines
Add a forgotten module Makefile change from the previous commit.

r200553 | jkim | 2009-12-15 00:24:04 +0200 (Tue, 15 Dec 2009) | 2 lines
Merge ACPICA 20091214.

r200554 | jkim | 2009-12-15 00:28:32 +0200 (Tue, 15 Dec 2009) | 3 lines
Remove _FDE quirk handling as these quirks are automatically repaired
by ACPICA layer since ACPICA 20091214.

r202771 | jkim | 2010-01-21 23:14:28 +0200 (Thu, 21 Jan 2010) | 2 lines
Merge ACPICA 20100121.

r202773 | jkim | 2010-01-21 23:31:39 +0200 (Thu, 21 Jan 2010) | 2 lines
Fix a new header inclusion.

Discussed with: jkim, jhb
No objections from: acpi@


# d0778362 16-Jan-2010 Mitsuru IWASAKI <iwasaki@FreeBSD.org>

MFC r201605: Update acpi_ibm syctl nodes on resume.


# a50f74cc 05-Jan-2010 Mitsuru IWASAKI <iwasaki@FreeBSD.org>

Update acpi_ibm syctl nodes on resume.

This should fix some Thinkpad specific problems such as
connecting to a headphone jack is not functional on X41.

Reviewed by: takawata
MFC after: 1 week


# 50d35631 29-Oct-2009 John Baldwin <jhb@FreeBSD.org>

MFC 197460:
Remove unnecessary locking from attach(). This fixes a LOR between the
acpi_ibm lock and the sysctl lock.


# 08bfbfaa 24-Sep-2009 John Baldwin <jhb@FreeBSD.org>

Remove unnecessary locking from attach(). This fixes a LOR between the
acpi_ibm lock and the sysctl lock.

MFC after: 3 days


# 4e36c327 23-Sep-2009 John Baldwin <jhb@FreeBSD.org>

MFC 197350:
Re-remove the IBM0057 ID used for PS/2 mouse controllers. The asl for the
61p includes the hotkey device as IBM0068 and the mouse as IBM0057 similar
to other systems.

Approved by: re (kensmith)


# 5c843475 20-Sep-2009 John Baldwin <jhb@FreeBSD.org>

Re-remove the IBM0057 ID used for PS/2 mouse controllers. The asl for the
61p includes the hotkey device as IBM0068 and the mouse as IBM0057 similar
to other systems.

Submitted by: marius
MFC after: 3 days


# 129d3046 05-Jun-2009 Jung-uk Kim <jkim@FreeBSD.org>

Import ACPICA 20090521.


# aaac7452 02-Jun-2009 Jung-uk Kim <jkim@FreeBSD.org>

Chase ACPICA API changes (for kernel and boot loader).


# e831cd36 12-May-2009 Christian Brueffer <brueffer@FreeBSD.org>

Remove unused variables.

Found with: Coverity Prevent(tm)
CID: 544, 545


# d7f03759 19-Oct-2008 Ulf Lilleengen <lulf@FreeBSD.org>

- Import the HEAD csup code which is the basis for the cvsmode work.


# 661812c0 19-May-2008 Pawel Jakub Dawidek <pjd@FreeBSD.org>

Add ID for T61p, which is not IBM really, but well.


# 36bff1eb 14-Apr-2008 Poul-Henning Kamp <phk@FreeBSD.org>

Convert amd64 and i386 to share the atrtc device driver.


# cc75dfe7 25-Oct-2007 John Baldwin <jhb@FreeBSD.org>

Don't attach to the "IBM0057" ID. This ID is used by IBM machines for
the PS/2 mouse controller. Thus, when acpi_ibm(4) claimed the mouse
device, the mouse would stop working. The one ACPI dump of an R40 that
I've looked at includes an HKEY device with the proper "IBM0068" ID, so
I'm not sure how the "IBM0057" ID could have helped at all.

MFC after: 1 week
Approved by: njl


# 9cf74116 24-Apr-2007 Markus Brueffer <markus@FreeBSD.org>

Utilize led_create_state in order to preserve the status of the ThinkLight
on driver attach.

PR: kern/112044
Submitted by: Henrik Brix Andersen <henrik@brixandersen.dk>
Approved by: emax (mentor) (earlier version)


# 2be4e471 22-Mar-2007 Jung-uk Kim <jkim@FreeBSD.org>

Catch up with ACPI-CA 20070320 import.


# b98a0eca 14-Aug-2006 Takanori Watanabe <takawata@FreeBSD.org>

Improve exception string format.
PR:100671
MFC after: 3 days


# 924ede20 14-Aug-2006 Takanori Watanabe <takawata@FreeBSD.org>

Remove debug messages on notify handler.

PR:100671


# f9312099 13-Jan-2006 Markus Brueffer <markus@FreeBSD.org>

- Add support for setting the fan control mode to manual or automatic
- Add support for adjusting the fan speed if the fan control mode is manual

Documentation for the relevant embedded controller register was obtained from
http://www.thinkwiki.org/wiki/Patch_for_controlling_fan_speed

Tested on: R51 by Fabian Keil
T41p by markus
Requested by: many
Approved by: philip
MFC after: 1 week


# 2a191126 11-Sep-2005 David E. O'Brien <obrien@FreeBSD.org>

Canonize the include of acpi.h.


# 0873506f 04-Aug-2005 Markus Brueffer <markus@FreeBSD.org>

Don't lock when holding led_mtx, instead use AcpiOsQueueForExecution to defer
the locking.

Idea taken from: acpi_asus(4)

Approved by: philip
Reported by: avatar
Gordon Bergling <gbergling@0xfce3.net>
MFC after: 1 week


# c1204267 17-Jun-2005 Martin Cracauer <cracauer@FreeBSD.org>

Add the ID of my Thinkpad R40. Makes the module detect and with the
exception of fans everything seems to work fine. No ill effects
observed.
Reviewed by: Nate Lawson (on acpi list)
Approved by: re (Ken Smith)


# 4aea1563 10-Jun-2005 Markus Brueffer <markus@FreeBSD.org>

- Only create the led(4) interface, if setting the thinklight is possible
- Initialize val_ec with the content of the volume EC register
for ACPI_IBM_METHOD_VOLUME and ACPI_IBM_METHOD_MUTE in acpi_ibm_sysctl_set()
if there is no CMOS handle present. This fixes setting volume and mute on
such models.

Submitted by: ru
Approved by: philip


# a4bfd638 09-Jun-2005 Markus Brueffer <markus@FreeBSD.org>

Import a mostly rewritten and extended version of acpi_ibm:

- Restructured for easier extensibility and maintainability
- To be more uniform with the other ACPI extras drivers and to better reflect
their actual meaning, some sysctls were moved:
o brightness -> lcd_brightness
o keylight -> thinklight
o enable -> events
o misckey -> hotkey
o avail_mask -> availmask
o key_mask -> eventmask
- New "initialmask" sysctl, which holds the initial eventmask
- The "wlan" sysctl is now read-only, since writing to it didn't have
any effect
- The "version" sysctl was removed, since it seems to be the same (0x100)
on all models I have seen
- Support for more hotkeys by the "hotkey" sysctl
- Improved support of ACPI events. Disabled by default, since it unexpectedly
changes the behaviour of some keys. (on my T41p there are now 24 different
keypress events that get reported)
- write support for: volume, mute, lcd_brightness and thinklight
- led(4) interface for the thinklight [1]
- New sysctls "fan" and "fan_speed" to support reading of fan status and speed
- New sysctl "thermal" to support reading of up to 8 thermal sensors

Reviewed by: philip
Approved by: philip
Submitted by: simon [1]
Inspired by: The Linux ibm_acpi driver by Borislav Deianov
http://ibm-acpi.sourceforge.net/
The ThinkPad Button program (tpb) by Markus Braun
http://www.nongnu.org/tpb/
Thanks to: brueffer, dvl, njl, philip, simon, takawata and the many
testers from freebsd-acpi@ and freebsd-mobile@


# dad97fee 02-Mar-2005 David E. O'Brien <obrien@FreeBSD.org>

Fix SCM ID's.


# 276cd921 13-Dec-2004 Nate Lawson <njl@FreeBSD.org>

Unify ACPI_DEBUG support for all OEM drivers under ACPI_OEM. Since more than
one will never be supported on the same platform, this does not hurt
debugging.

MFC after: 3 days


# 82d4da0f 12-Dec-2004 Scott Long <scottl@FreeBSD.org>

Allow the acpi_ibm module to be built with ACPI_DEBUG.


# 06064893 09-Dec-2004 Takanori Watanabe <takawata@FreeBSD.org>

Add IBM Laptop extra device driver.
This depends on ACPI and RTC registers.

Reviewed by: njl