Date: Tue, 31 May 2005 19:35:47 +0200 From: Markus Brueffer <markus@FreeBSD.org> To: freebsd-acpi@freebsd.org Cc: freebsd-mobile@FreeBSD.org, Nate Lawson <nate@root.org> Subject: Re: Call for testers: New acpi_ibm driver Message-ID: <200505311935.57158.markus@FreeBSD.org> In-Reply-To: <429C9DB9.4070107@root.org> References: <200505310155.KAA00994@axe-inc.co.jp> <200505311225.40954.markus@FreeBSD.org> <429C9DB9.4070107@root.org>
next in thread | previous in thread | raw e-mail | index | archive | help
--nextPart2077939.AlkrTepLxI Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable Content-Disposition: inline On Tuesday 31 May 2005 19:24, Nate Lawson wrote: > Markus Brueffer wrote: > > On Tuesday 31 May 2005 03:55, takawata@jp.freebsd.org wrote: > >>In message <200505301857.20346.markus@FreeBSD.org>, Markus Brueffer=20 wrote: [...] > >>>Support for more hotkeys by the hotkey sysctl (see manpage) > >>>Improved support of ACPI events, disabled by default. You can enable > >>> it by setting the events sysctl to 1 (on my T41p there are now 24 > >>> different keypress events that get reported) > >>>write support for: volume, mute, brightness and thinklight > >> > >>Is it ok to touch EC? I know the two way of impliment it. > >>One is modifying RTC register, another is using SMI interface > >>via ACPI control method. > > > > Writing to the EC directly is nothing more that accessing the locations > > via acpi_SetInteger. While I would highly prefer the latter method, the > > problem is, that several places of the EC in the DSDT aren't even named > > or only named on some models. > > Please do not read/write directly from EC space. A better way is to use > the EC device methods I added recently. This uses proper locking for > requests and will work concurrently with other EC users (say, cmbat): > > device_t dev; > > dev =3D devclass_get_device(devclass_find("acpi_ec"), 0); > if (dev =3D=3D NULL) > error, EC not present -- check this during probe and fail > if error > > error =3D ACPI_EC_WRITE(dev, address, buffer, len); > > or ACPI_EC_READ(). "address" is from 0-255 (8 bit addresses in EC > space) and buffer is a pointer to data to write or read. That's what I meant by "directly". The driver uses exactly that way. Markus =2D-=20 Markus Brueffer =A0 =A0| GPG-Key: http://people.FreeBSD.org/~markus/markus.= asc markus@brueffer.de | FP: 3F9B EBE8 F290 E5CC 1447 8760 D48D 1072 78F8 A8D4 markus@FreeBSD.org | FreeBSD: The Power to Serve! --nextPart2077939.AlkrTepLxI Content-Type: application/pgp-signature -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.0 (FreeBSD) iD8DBQBCnKB91I0Qcnj4qNQRAlBFAJ43YD6iNXpE/XqWrEwqQJw5Uru7mACfdTC9 AF9WdHkfLdlojhl/yIF1V7o= =Rlef -----END PGP SIGNATURE----- --nextPart2077939.AlkrTepLxI--
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200505311935.57158.markus>