ThinkPad x60 and FN keys

Rong-en Fan grafan at gmail.com
Sun Mar 18 18:59:12 UTC 2007


On 3/19/07, Taku YAMAMOTO <taku at tackymt.homeip.net> wrote:
> On Sat, 17 Mar 2007 17:10:38 +0800
> "Rong-en Fan" <grafan at gmail.com> wrote:
>
> > Tested with newer acpica (available on acpi@). Without acpi_video,
> > brightness control (FN+Home, End) works. Bluetooth control
> > (fn+f5) works and the dev.acpi_ibm.0.bluetooth seems not flip flop.
> > FN+F7 still not work.
> >
> > With acpi_video, brightness control does not work.
> >
> > Thank you.
> >
> > Regards,
> > Rong-En Fan
>
> Fine.
> It's expected that brightness hotkeys aren't functional with acpi_video on
> recent ThinkPads because their BIOS stop handling of the brightness and
> rely on OS once acpi_video gets involved.
>
> The acpi_video module should of cource be enhanced to handle these
> brightness events defined in ACPI 3.0 spec. If I would have some spare
> time...

Thank you. In the mean time, could we get the patch committed?
(I'm CC'ing Nate Lawson)

BTW, if I understand you correctly, when acpi_video is loaded, fn+home/end
will generate some events to acpi_video, but our acpi_video does not handle
these events so the brightness are not adjusted? Is that right?

Regards,
Rong-En Fan

==

--- acpi_ec.c-1.69	Tue Feb 27 09:14:20 2007
+++ sys/dev/acpica/acpi_ec.c	Tue Feb 27 14:39:52 2007
@@ -825,6 +825,11 @@ EcGpeHandler(void *Context)
 	CTR1(KTR_ACPI, "ec event was IBE/OBF, status %#x", EcStatus);
 	sc->ec_csrvalue = EcStatus;
 	wakeup(&sc->ec_csrvalue);
+	if (!sc->ec_sci_pend) {
+	    Status = AcpiEnableGpe(sc->ec_gpehandle, sc->ec_gpebit, ACPI_ISR);
+	    if (ACPI_FAILURE(Status))
+		printf("EcGpeHandler: AcpiEnableEvent failed\n");
+	}
     } else if (!sc->ec_sci_pend) {
 	/* SCI bit set and no pending query handler, so schedule one. */
 	CTR0(KTR_ACPI, "ec queueing gpe handler");


More information about the freebsd-mobile mailing list