Module Name: src Committed By: nat Date: Sun Jan 12 05:53:45 UTC 2025
Modified Files: src/sys/arch/mac68k/dev: pm_direct.c Log Message: Fix brightness controls on PowerBook 500 and similar. To generate a diff of this commit: cvs rdiff -u -r1.36 -r1.37 src/sys/arch/mac68k/dev/pm_direct.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
Modified files: Index: src/sys/arch/mac68k/dev/pm_direct.c diff -u src/sys/arch/mac68k/dev/pm_direct.c:1.36 src/sys/arch/mac68k/dev/pm_direct.c:1.37 --- src/sys/arch/mac68k/dev/pm_direct.c:1.36 Thu Sep 26 01:16:50 2024 +++ src/sys/arch/mac68k/dev/pm_direct.c Sun Jan 12 05:53:45 2025 @@ -1,4 +1,4 @@ -/* $NetBSD: pm_direct.c,v 1.36 2024/09/26 01:16:50 riastradh Exp $ */ +/* $NetBSD: pm_direct.c,v 1.37 2025/01/12 05:53:45 nat Exp $ */ /* * Copyright (c) 2024 Nathanial Sloss <nathanialsl...@yahoo.com.au> @@ -35,7 +35,7 @@ /* From: pm_direct.c 1.3 03/18/98 Takashi Hamada */ #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: pm_direct.c,v 1.36 2024/09/26 01:16:50 riastradh Exp $"); +__KERNEL_RCSID(0, "$NetBSD: pm_direct.c,v 1.37 2025/01/12 05:53:45 nat Exp $"); #include "opt_adb.h" @@ -853,7 +853,7 @@ pm_intr_pm2(void *arg) case 0x80: /* 1 sec interrupt? */ pm_counter++; break; - case 0x08: /* Brightness/Contrast button on LCD panel */ + case 0x08: /* Brightness/Contrast button on LCD panel */ /* get brightness and contrast of the LCD */ pm_LCD_brightness = (u_int)pmdata.data[3] & 0xff; pm_LCD_contrast = (u_int)pmdata.data[4] & 0xff; @@ -1203,12 +1203,11 @@ pm_set_brightness(u_int brightness) case PM_HW_PB5XX: /* this is an experimental code */ pmdata.command = 0x41; - brightness = 0x7f - brightness / 2; - if (brightness < 0x25) - brightness = 0x25; - if (brightness > 0x5a) - brightness = 0x7f; - pmdata.data[0] = brightness; + if ((int)brightness < 0) + brightness = 0; + if ((int)brightness > 31) + brightness = 31; + pmdata.data[0] = (31 - brightness) * 23 / 10 + 37; (void)pm_pmgrop_pm2(&pmdata); break; case PM_HW_PB1XX: