From owner-p4-projects@FreeBSD.ORG Sat Mar 8 17:35:22 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 395421065679; Sat, 8 Mar 2008 17:35:22 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id EBC2D1065677 for ; Sat, 8 Mar 2008 17:35:21 +0000 (UTC) (envelope-from rpaulo@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id D9EF48FC15 for ; Sat, 8 Mar 2008 17:35:21 +0000 (UTC) (envelope-from rpaulo@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id m28HZLR2030251 for ; Sat, 8 Mar 2008 17:35:21 GMT (envelope-from rpaulo@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m28HZLAe030249 for perforce@freebsd.org; Sat, 8 Mar 2008 17:35:21 GMT (envelope-from rpaulo@FreeBSD.org) Date: Sat, 8 Mar 2008 17:35:21 GMT Message-Id: <200803081735.m28HZLAe030249@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to rpaulo@FreeBSD.org using -f From: Rui Paulo To: Perforce Change Reviews Cc: Subject: PERFORCE change 137167 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 08 Mar 2008 17:35:22 -0000 http://perforce.freebsd.org/chv.cgi?CH=137167 Change 137167 by rpaulo@rpaulo_vmware on 2008/03/08 17:34:24 Add support for 2G MacBook Core 2 Duo backlight. Initial version by: Christian Laursen Affected files ... .. //depot/projects/soc2007/rpaulo-macbook/dev/backlight/backlight.c#14 edit .. //depot/projects/soc2007/rpaulo-macbook/dev/backlight/backlightvar.h#5 edit Differences ... ==== //depot/projects/soc2007/rpaulo-macbook/dev/backlight/backlight.c#14 (text+ko) ==== @@ -1,5 +1,5 @@ /*- - * Copyright (c) 2007 Rui Paulo + * Copyright (c) 2007, 2008 Rui Paulo * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -23,7 +23,7 @@ * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE * POSSIBILITY OF SUCH DAMAGE. * - * $P4: //depot/projects/soc2007/rpaulo-macbook/dev/backlight/backlight.c#13 $ + * $P4: //depot/projects/soc2007/rpaulo-macbook/dev/backlight/backlight.c#14 $ * */ @@ -83,30 +83,34 @@ */ { "MacBook1,1", 0x8086, 0x27a2, "MacBook Core Duo Backlight Control", - macbook_attach, macbook_enable, macbook_level }, + macbook_attach, macbook_enable, macbook_level, BACKLIGHT_MB_MAX }, { "MacBook2,1", 0x8086, 0x27a2, "MacBook Core 2 Duo Backlight Control", - macbook_attach, macbook_enable, macbook_level }, + macbook_attach, macbook_enable, macbook_level, BACKLIGHT_MB_MAX }, + { "MacBook3,1", 0x8086, 0x2a02, + "MacBook Core 2 Duo (2G) Backlight Control", + macbook_attach, macbook_enable, macbook_level, BACKLIGHT_MB2_MAX }, + /* * MacBook Pro. */ { "MacBookPro1,1", 0x1002, 0x71c5, "MacBook Pro Core Duo (15-inch) Backlight Control", - macbookpro_attach, macbookpro_enable, macbookpro_level }, + macbookpro_attach, macbookpro_enable, macbookpro_level, BACKLIGHT_MBP_MAX }, { "MacBookPro1,2", 0x1002, 0x71c5, "MacBook Pro Core Duo (17-inch) Backlight Control", - macbookpro_attach, macbookpro_enable, macbookpro_level }, + macbookpro_attach, macbookpro_enable, macbookpro_level, BACKLIGHT_MBP_MAX }, { "MacBookPro2,1", 0x1002, 0x71c5, "MacBook Pro Core 2 Duo (17-inch) Backlight Control", - macbookpro_attach, macbookpro_enable, macbookpro_level }, + macbookpro_attach, macbookpro_enable, macbookpro_level, BACKLIGHT_MBP_MAX }, { "MacBookPro2,2", 0x1002, 0x71c5, "MacBook Pro Core 2 Duo (15-inch) Backlight Control", - macbookpro_attach, macbookpro_enable, macbookpro_level }, + macbookpro_attach, macbookpro_enable, macbookpro_level, BACKLIGHT_MBP_MAX }, { NULL, 0, 0 } }; @@ -207,6 +211,8 @@ if (error) return (error); + sc->sc_max = model->bm_max; + SYSCTL_ADD_PROC(device_get_sysctl_ctx(dev), SYSCTL_CHILDREN(device_get_sysctl_tree(dev)), OID_AUTO, "enable", CTLTYPE_INT | CTLFLAG_RW, @@ -293,7 +299,7 @@ return (ENOMEM); max = macbook_get_max(sc); - if (max > BACKLIGHT_MB_MAX) { + if (max > sc->sc_max) { device_printf(dev, "maximum brightness level out of range" "(0x%x) - please send-pr\n", max); return (EINVAL); @@ -351,7 +357,7 @@ curlevel = macbook_get_current(sc); level = (curlevel - BACKLIGHT_MB_MIN) * 100 / - (BACKLIGHT_MB_MAX - BACKLIGHT_MB_MIN); + (sc->sc_max - BACKLIGHT_MB_MIN); error = sysctl_handle_int(oidp, &level, 0, req); @@ -361,7 +367,7 @@ if (level > 100) return (EINVAL); - curlevel = (level * (BACKLIGHT_MB_MAX - BACKLIGHT_MB_MIN) + curlevel = (level * (sc->sc_max - BACKLIGHT_MB_MIN) / 100) + BACKLIGHT_MB_MIN; macbook_set_current(sc, curlevel); @@ -468,7 +474,7 @@ curlevel = macbookpro_get_current(sc); level = (curlevel - BACKLIGHT_MBP_MIN) * 100 / - (BACKLIGHT_MBP_MAX - BACKLIGHT_MBP_MIN); + (sc->sc_max - BACKLIGHT_MBP_MIN); error = sysctl_handle_int(oidp, &level, 0, req); @@ -478,7 +484,7 @@ if (level > 100) return (EINVAL); - curlevel = (level * (BACKLIGHT_MBP_MAX - BACKLIGHT_MBP_MIN) + curlevel = (level * (sc->sc_max - BACKLIGHT_MBP_MIN) / 100) + BACKLIGHT_MBP_MIN; macbookpro_set_current(sc, curlevel); ==== //depot/projects/soc2007/rpaulo-macbook/dev/backlight/backlightvar.h#5 (text+ko) ==== @@ -1,5 +1,5 @@ /*- - * Copyright (c) 2007 Rui Paulo + * Copyright (c) 2007, 2008 Rui Paulo * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -23,7 +23,7 @@ * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE * POSSIBILITY OF SUCH DAMAGE. * - * $P4: //depot/projects/soc2007/rpaulo-macbook/dev/backlight/backlightvar.h#4 $ + * $P4: //depot/projects/soc2007/rpaulo-macbook/dev/backlight/backlightvar.h#5 $ * */ @@ -34,6 +34,7 @@ struct resource *sc_res; struct sysctl_ctx_list sc_sysctl_ctx; struct sysctl_oid *sc_sysctl_tree; + int sc_max; }; struct backlight_model { @@ -46,6 +47,8 @@ int (*bm_attach)(device_t); int (*bm_enable)(SYSCTL_HANDLER_ARGS); int (*bm_level)(SYSCTL_HANDLER_ARGS); + + uint8_t bm_max; }; @@ -60,6 +63,7 @@ #define BACKLIGHT_MB_DEF 0x44 #define BACKLIGHT_MB_MIN 0x1f #define BACKLIGHT_MB_MAX 0x94 +#define BACKLIGHT_MB2_MAX 0x1f /* MacBook Core 2 Duo 2G */ #define BACKLIGHT_MB_OFF 0x12 #define BACKLIGHT_MB_ON 0x1f