Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1756326AbcCaLqQ (ORCPT ); Thu, 31 Mar 2016 07:46:16 -0400 Received: from mga03.intel.com ([134.134.136.65]:58151 "EHLO mga03.intel.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1754145AbcCaLqM (ORCPT ); Thu, 31 Mar 2016 07:46:12 -0400 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.24,422,1455004800"; d="scan'208";a="678544868" From: Irina Tirdea To: "Rafael J. Wysocki" , Len Brown , Mika Westerberg , Linus Walleij , linux-gpio@vger.kernel.org, linux-acpi@vger.kernel.org Cc: Rob Herring , Heikki Krogerus , Andy Shevchenko , Octavian Purdila , Cristina Ciocan , devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, Irina Tirdea Subject: [RFC PATCH 0/4] Add ACPI support for pinctrl configuration Date: Thu, 31 Mar 2016 14:44:41 +0300 Message-Id: <1459424685-26965-1-git-send-email-irina.tirdea@intel.com> X-Mailer: git-send-email 1.9.1 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 3655 Lines: 71 This is a proposal for adding ACPI support for pin controller configuration. It has been developed to enable the MinnowBoard and IoT community by providing an easy way to specify pin multiplexing and pin configuration. This proposal is based on using _DSD properties to specify device states and configuration nodes and it follows closely the device tree model. Device states are defined using the Device Properties format and the configuration nodes are defined using the Hierarchical Properties Extension format. The generic properties for the configuration nodes are the same as the ones for device tree, while pincontroller drivers can also define custom ones. Irina Tirdea (4): pinctrl: Rename pinctrl_utils_dt_free_map to pinctrl_utils_free_map pinctrl: pinconf-generic: Add ACPI support pinctrl: Add ACPI support pinctrl: Parse GpioInt/GpioIo resources Documentation/acpi/pinctrl-properties.txt | 282 ++++++++++++ drivers/acpi/property.c | 8 +- drivers/base/property.c | 36 +- drivers/pinctrl/Makefile | 1 + drivers/pinctrl/acpi.c | 551 +++++++++++++++++++++++ drivers/pinctrl/acpi.h | 32 ++ drivers/pinctrl/bcm/pinctrl-bcm281xx.c | 2 +- drivers/pinctrl/bcm/pinctrl-cygnus-mux.c | 2 +- drivers/pinctrl/bcm/pinctrl-iproc-gpio.c | 2 +- drivers/pinctrl/bcm/pinctrl-nsp-gpio.c | 2 +- drivers/pinctrl/berlin/berlin.c | 2 +- drivers/pinctrl/core.c | 26 ++ drivers/pinctrl/core.h | 2 + drivers/pinctrl/mediatek/pinctrl-mtk-common.c | 4 +- drivers/pinctrl/meson/pinctrl-meson.c | 2 +- drivers/pinctrl/nomadik/pinctrl-abx500.c | 4 +- drivers/pinctrl/nomadik/pinctrl-nomadik.c | 4 +- drivers/pinctrl/pinconf-generic.c | 123 +++-- drivers/pinctrl/pinctrl-amd.c | 2 +- drivers/pinctrl/pinctrl-as3722.c | 2 +- drivers/pinctrl/pinctrl-at91-pio4.c | 4 +- drivers/pinctrl/pinctrl-digicolor.c | 2 +- drivers/pinctrl/pinctrl-lpc18xx.c | 2 +- drivers/pinctrl/pinctrl-palmas.c | 2 +- drivers/pinctrl/pinctrl-pic32.c | 2 +- drivers/pinctrl/pinctrl-pistachio.c | 2 +- drivers/pinctrl/pinctrl-tb10x.c | 2 +- drivers/pinctrl/pinctrl-utils.c | 4 +- drivers/pinctrl/pinctrl-utils.h | 2 +- drivers/pinctrl/pinctrl-zynq.c | 2 +- drivers/pinctrl/pxa/pinctrl-pxa2xx.c | 2 +- drivers/pinctrl/qcom/pinctrl-msm.c | 2 +- drivers/pinctrl/qcom/pinctrl-spmi-gpio.c | 2 +- drivers/pinctrl/qcom/pinctrl-spmi-mpp.c | 2 +- drivers/pinctrl/qcom/pinctrl-ssbi-gpio.c | 2 +- drivers/pinctrl/qcom/pinctrl-ssbi-mpp.c | 2 +- drivers/pinctrl/stm32/pinctrl-stm32.c | 4 +- drivers/pinctrl/tegra/pinctrl-tegra-xusb.c | 2 +- drivers/pinctrl/tegra/pinctrl-tegra.c | 4 +- drivers/pinctrl/uniphier/pinctrl-uniphier-core.c | 2 +- include/linux/acpi.h | 4 +- include/linux/pinctrl/pinconf-generic.h | 27 +- include/linux/property.h | 9 + 43 files changed, 1063 insertions(+), 114 deletions(-) create mode 100644 Documentation/acpi/pinctrl-properties.txt create mode 100644 drivers/pinctrl/acpi.c create mode 100644 drivers/pinctrl/acpi.h -- 1.9.1