From owner-freebsd-arm@FreeBSD.ORG Sun Aug 19 23:42:06 2012 Return-Path: Delivered-To: freebsd-arm@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 22287106566C for ; Sun, 19 Aug 2012 23:42:06 +0000 (UTC) (envelope-from imp@bsdimp.com) Received: from mail-iy0-f182.google.com (mail-iy0-f182.google.com [209.85.210.182]) by mx1.freebsd.org (Postfix) with ESMTP id ACBC58FC14 for ; Sun, 19 Aug 2012 23:42:04 +0000 (UTC) Received: by ialo14 with SMTP id o14so2722426ial.13 for ; Sun, 19 Aug 2012 16:42:04 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20120113; h=sender:subject:mime-version:content-type:from:in-reply-to:date:cc :content-transfer-encoding:message-id:references:to:x-mailer :x-gm-message-state; bh=Z7WBdGMxRPGKinxFjq6TPB4o2kPZ5fD/iboEWCdZXv0=; b=LYxH+qftkHNKRuy1bIN+9GuorUI3V0CcUKX4h/x4uuRmOxfks10y4xk6lpqJF7BRjO 1E0U49N9YXNxThkiGTFFFsD15kSC+oXYl/6TXuTYeuPE6Z8NxSAwK8tJVh0MpD5RDDjJ b7D9XjzJ63nnnV97OMPL/+ZQTOw3jtl2ABcVS1Zl4UJepJXg/IQdT2tkn9y3kGM/GZsd MLug3gCFmJgXr7+bBxrvBwCcckHa9YDXfQacBmuV+PQz8RpTW7C+ksa1CnGcOyEra2e/ pBGI6bBX8nQ15csDrFPb4PJPYFCGnfRoaIbNpg9Z1etPNOhb3tpIfh4uAmoWx5s53K+3 kpsA== Received: by 10.50.159.135 with SMTP id xc7mr8259160igb.1.1345419724138; Sun, 19 Aug 2012 16:42:04 -0700 (PDT) Received: from 63.imp.bsdimp.com (50-78-194-198-static.hfc.comcastbusiness.net. [50.78.194.198]) by mx.google.com with ESMTPS id i2sm7312747igl.8.2012.08.19.16.42.02 (version=TLSv1/SSLv3 cipher=OTHER); Sun, 19 Aug 2012 16:42:03 -0700 (PDT) Sender: Warner Losh Mime-Version: 1.0 (Apple Message framework v1084) Content-Type: text/plain; charset=us-ascii From: Warner Losh In-Reply-To: <12A967D8-BC49-49AF-BBD9-40E259932617@kientzle.com> Date: Sun, 19 Aug 2012 17:42:01 -0600 Content-Transfer-Encoding: quoted-printable Message-Id: <974EEF9B-08C2-4876-9223-48DD4ABDFC99@bsdimp.com> References: <20120819.171723.523519054460575158.hrs@allbsd.org> <8CDAB51C-14A0-42F0-8E16-43A3EABA2703@bsdimp.com> <7E6C76BE-1D3F-40E4-BFE3-DC88715C234C@bsdimp.com> <12A967D8-BC49-49AF-BBD9-40E259932617@kientzle.com> To: Tim Kientzle X-Mailer: Apple Mail (2.1084) X-Gm-Message-State: ALoCoQmg0OgwXg6swfb8kak9RdqcBJCQmfauO7LMIL/4Rno3jxYPhQi8vPg7uGvIqbqcfnSgyQ+s Cc: gonzo@freebsd.org, freebsd-arm@freebsd.org Subject: Re: gpiobus_hinted_child >32 pins support, pin_getname method, and gpio-sysctl bridge patch X-BeenThere: freebsd-arm@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Porting FreeBSD to the StrongARM Processor List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 19 Aug 2012 23:42:06 -0000 On Aug 19, 2012, at 5:04 PM, Tim Kientzle wrote: > On Aug 19, 2012, at 10:02 AM, Warner Losh wrote: >>=20 >> On Aug 19, 2012, at 10:03 AM, Tim Kientzle wrote: >>=20 >>> On Aug 19, 2012, at 8:38 AM, Warner Losh wrote: >>>=20 >>>>=20 >>>> In general, I like this code in the context of the current GPIO = framework. I've been growing dissatisfied with the current GPIO = framework, however, and some of my comments reflect that more than any = comments about this specific code. >>>=20 >>> I noticed that Linux on BeagleBone does not >>> simply number all pins as we do. Pins are identified by >>> two numbers: a unit number and a pin number. >>=20 >> Is this in the code, or just in the FTD? On Atmel, there's a single = number from 0 to max-1 with all negative numbers being invalid. But = Atmel doesn't have proper FTD support in Linux just yet (3.5 has a good = start, and 3.6 will add the missing pinmux/pinctl stuff). >=20 > I'm not exactly sure what you mean. The Linux DTS file: >=20 > = http://git.kernel.org/?p=3Dlinux/kernel/git/torvalds/linux.git;a=3Dblob;f=3D= arch/arm/boot/dts/am335x-bone.dts >=20 > inherits most of the real functionality from >=20 > = http://git.kernel.org/?p=3Dlinux/kernel/git/torvalds/linux.git;a=3Dblob;f=3D= arch/arm/boot/dts/am33xx.dtsi >=20 > There are certainly separate entries there for each GPIO module. I = presume (but haven't verified) that the unit number maps directly to a = "gpio#" device name. There's similar things in the Atmel DTS files, but under the covers the = gpio pins map into a uniform space number 0 to 32*N-1, where N is the = number of GPIO units. Warner=