From patchwork Fri Sep 26 14:28:53 2014 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: =?utf-8?b?UmFmYcWCIE1pxYJlY2tp?= X-Patchwork-Id: 393786 Return-Path: X-Original-To: incoming-dt@patchwork.ozlabs.org Delivered-To: patchwork-incoming-dt@bilbo.ozlabs.org Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by ozlabs.org (Postfix) with ESMTP id 2FEE114013F for ; Sat, 27 Sep 2014 00:29:25 +1000 (EST) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753823AbaIZO3X (ORCPT ); Fri, 26 Sep 2014 10:29:23 -0400 Received: from mail-wg0-f44.google.com ([74.125.82.44]:64867 "EHLO mail-wg0-f44.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1753458AbaIZO3W (ORCPT ); Fri, 26 Sep 2014 10:29:22 -0400 Received: by mail-wg0-f44.google.com with SMTP id m15so1413123wgh.27 for ; Fri, 26 Sep 2014 07:29:21 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=from:to:cc:subject:date:message-id:mime-version:content-type :content-transfer-encoding; bh=tnSFphS14L3k7v/LpiPgdVS62UwnuwgoBs7IEGkzrNU=; b=ttAZuWh2ze3u6X+mb2djU7DgCt74PTfibWlWoGv+/gs8Oj7rmOx3SEGDPaK77A36MB Fwgi11s1qbbxOJHaI+n175KREpSImogu3a4t5HnVUBm6pJBCimoo9nqIRoTxJ2QQevnt 1XdkSszpPi6AH5WU5yH/5SfW0NCDPhhVx2Lo7WO2A/C+WaFIL/J0XQs7RO21rq8TRiLn 0N0LzmAIkj8ZJxpDVUJzxtYL1b4I7hGuj4HgUTMXyoDuf1SDSZQvuqHJBNSJDen3/1pr oTCI3kcFGh4bxg+acIKakKHK7DLjR8yI0wO8AdN9nkeV92KcpAFJQqMPlO59Xxkj+IDV 2bww== X-Received: by 10.194.216.74 with SMTP id oo10mr3473190wjc.126.1411741761226; Fri, 26 Sep 2014 07:29:21 -0700 (PDT) Received: from linux-tdhb.lan (ip-194-187-74-233.konfederacka.maverick.com.pl. [194.187.74.233]) by mx.google.com with ESMTPSA id ka3sm6376074wjc.3.2014.09.26.07.29.19 for (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Fri, 26 Sep 2014 07:29:20 -0700 (PDT) From: =?UTF-8?q?Rafa=C5=82=20Mi=C5=82ecki?= To: "John W. Linville" , linux-wireless@vger.kernel.org Cc: Hauke Mehrtens , linux-arm-kernel@lists.infradead.org, arnd@arndb.de, devicetree@vger.kernel.org, =?UTF-8?q?Rafa=C5=82=20Mi=C5=82ecki?= Subject: [PATCH] bcma: use device from DT (brcm,bus-gpio) for SoC GPIO chip Date: Fri, 26 Sep 2014 16:28:53 +0200 Message-Id: <1411741733-13888-1-git-send-email-zajec5@gmail.com> X-Mailer: git-send-email 1.8.4.5 MIME-Version: 1.0 Sender: devicetree-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: devicetree@vger.kernel.org This will allow us to define GPIO-attached devices (LEDs, buttons) in the the device tree. Signed-off-by: Rafał Miłecki --- This is based on top of [PATCH v6] bcma: register bcma as device tree driver that I hope will reach wireless-next git tree. --- Documentation/devicetree/bindings/bus/bcma.txt | 15 +++++++++++++++ drivers/bcma/driver_gpio.c | 5 +++++ 2 files changed, 20 insertions(+) diff --git a/Documentation/devicetree/bindings/bus/bcma.txt b/Documentation/devicetree/bindings/bus/bcma.txt index e9070c1..f1b381e 100644 --- a/Documentation/devicetree/bindings/bus/bcma.txt +++ b/Documentation/devicetree/bindings/bus/bcma.txt @@ -6,6 +6,15 @@ Required properties: - reg : iomem address range of chipcommon core +The top-level axi bus may contain following children: + +- gpio: GPIO chip on the SoC + + Required properties: + - compatible: "brcm,bus-gpio" + - gpio-controller : makes the node a GPIO controller + - #gpio-cells : size of the GPIO specifier, must be 2 + The cores on the AXI bus are automatically detected by bcma with the memory ranges they are using and they get registered afterwards. @@ -17,4 +26,10 @@ Example: ranges = <0x00000000 0x18000000 0x00100000>; #address-cells = <1>; #size-cells = <1>; + + gpio@0 { + compatible = "brcm,bus-gpio"; + gpio-controller; + #gpio-cells = <2>; + }; }; diff --git a/drivers/bcma/driver_gpio.c b/drivers/bcma/driver_gpio.c index 8ea497c..7ae39a8 100644 --- a/drivers/bcma/driver_gpio.c +++ b/drivers/bcma/driver_gpio.c @@ -218,6 +218,11 @@ int bcma_gpio_init(struct bcma_drv_cc *cc) #if IS_BUILTIN(CONFIG_BCM47XX) chip->to_irq = bcma_gpio_to_irq; #endif +#if IS_BUILTIN(CONFIG_OF) + if (cc->core->bus->hosttype == BCMA_HOSTTYPE_SOC) + chip->of_node = of_find_compatible_node(NULL, NULL, + "brcm,bus-gpio"); +#endif switch (cc->core->bus->chipinfo.id) { case BCMA_CHIP_ID_BCM5357: case BCMA_CHIP_ID_BCM53572: