Call for testers: New acpi_ibm driver

Nate Lawson nate at root.org
Tue May 31 14:43:10 PDT 2005


Markus Brueffer wrote:
> On Tuesday 31 May 2005 19:24, Nate Lawson wrote:
> 
>>Markus Brueffer wrote:
>>
>>>On Tuesday 31 May 2005 03:55, takawata at jp.freebsd.org wrote:
>>>
>>>>In message <200505301857.20346.markus at FreeBSD.org>, Markus Brueffer 
> 
> 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 = devclass_get_device(devclass_find("acpi_ec"), 0);
>>     if (dev == NULL)
>>         error, EC not present -- check this during probe and fail
>>         if error
>>
>>     error = 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
> 

Thanks, that is the correct way.  I didn't have time to review your patch.

-- 
Nate


More information about the freebsd-mobile mailing list