From owner-svn-src-all@FreeBSD.ORG Mon Aug 27 04:30:53 2012 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id AA194106566C; Mon, 27 Aug 2012 04:30:53 +0000 (UTC) (envelope-from imp@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 94A978FC08; Mon, 27 Aug 2012 04:30:53 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id q7R4Urvj038885; Mon, 27 Aug 2012 04:30:53 GMT (envelope-from imp@svn.freebsd.org) Received: (from imp@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id q7R4Urrt038883; Mon, 27 Aug 2012 04:30:53 GMT (envelope-from imp@svn.freebsd.org) Message-Id: <201208270430.q7R4Urrt038883@svn.freebsd.org> From: Warner Losh Date: Mon, 27 Aug 2012 04:30:53 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r239721 - head/sys/arm/at91 X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 27 Aug 2012 04:30:53 -0000 Author: imp Date: Mon Aug 27 04:30:53 2012 New Revision: 239721 URL: http://svn.freebsd.org/changeset/base/239721 Log: Add hint and sysctl support for 4 wire mode. PR: 155241 Submitted by: Ian Lapore Modified: head/sys/arm/at91/at91_mci.c Modified: head/sys/arm/at91/at91_mci.c ============================================================================== --- head/sys/arm/at91/at91_mci.c Mon Aug 27 04:08:43 2012 (r239720) +++ head/sys/arm/at91/at91_mci.c Mon Aug 27 04:30:53 2012 (r239721) @@ -236,8 +236,10 @@ at91_mci_attach(device_t dev) device_t child; int err; - sc->dev = dev; + sctx = device_get_sysctl_ctx(dev); + soid = device_get_sysctl_tree(dev); + sc->dev = dev; sc->sc_cap = 0; if (at91_is_rm92()) sc->sc_cap |= CAP_NEEDS_BYTESWAP; @@ -273,14 +275,18 @@ at91_mci_attach(device_t dev) goto out; } - sctx = device_get_sysctl_ctx(dev); - soid = device_get_sysctl_tree(dev); - SYSCTL_ADD_UINT(sctx, SYSCTL_CHILDREN(soid), OID_AUTO, "4wire", - CTLFLAG_RW, &sc->has_4wire, 0, "has 4 wire SD Card bus"); - -#ifdef AT91_MCI_HAS_4WIRE + /* + * Allow 4-wire to be initially set via #define. + * Allow a device hint to override that. + * Allow a sysctl to override that. + */ +#if defined(AT91_MCI_HAS_4WIRE) && AT91_MCI_HAS_4WIRE != 0 sc->has_4wire = 1; #endif + resource_int_value(device_get_name(dev), device_get_unit(dev), + "4wire", &sc->has_4wire); + SYSCTL_ADD_UINT(sctx, SYSCTL_CHILDREN(soid), OID_AUTO, "4wire", + CTLFLAG_RW, &sc->has_4wire, 0, "has 4 wire SD Card bus"); if (sc->has_4wire) sc->sc_cap |= CAP_HAS_4WIRE;