Received: by 10.213.65.68 with SMTP id h4csp1410278imn; Wed, 21 Mar 2018 10:00:28 -0700 (PDT) X-Google-Smtp-Source: AG47ELuINFlZWPkqjPKaTb7XVnKJIcaGG2F9zXX/fyv9YSwvBfFDHx1jB5tZV7tzoVRDeNSgdQ+j X-Received: by 10.99.158.9 with SMTP id s9mr15539099pgd.64.1521651628800; Wed, 21 Mar 2018 10:00:28 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1521651628; cv=none; d=google.com; s=arc-20160816; b=G4ihJj3QSSV3RKNGTz7BscpOGWB5e8rbspXAtXMbmzwjO2m4/0AQBB5mLf5JvVu2ed rtxPxh5RSo27pdnQ/XBGo/1JNgiTOo0eBD8VGm+Azfb4rmMi3r4VlPmFD71F8SQg4YtT UAjRb2w3LAeqtRJMLHCP5M0sngRdfCdONG3PzxA1CEyI3hYLAKAAysOXU3BslJowsDcx FxW2HmspONMDxm7khjvSWHiqHy4deYw4YK5uTuVZ7xyS+fIlNHjaaV39Ahin0kcC3KX6 Ru0PukyLLAdTZwxdt+xGIykeDvozD8mn0P/KXjuXD8G/7wnazVEwwpPvLkJcpKkmuQs2 mGHA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:message-id:date:subject:cc:to:from :dkim-signature:arc-authentication-results; bh=S9WbFNTDRHS0WOJz2d86Nb6fKzIlnt1KD4/kO6wn9A4=; b=ffWxXydvXw9xV4bjLPAzqgP+KK2L4tZ/Voslz2BxkN9EzZEY2Xkh8aHaBc1uqY2OIo dYGuRqalbANgMUSd9UL14Y04gQu4RtkWdzFSz/WihUxmTyT0kFhD/x074tC2LVEhOz2g 1Y7EIuiFiKijyWNK+6fuTFsHUON0ir+G+fCqjnbRg6VDs44G3drV0sftSAu+J+ZBVit4 ETlseo2z7XNDqrx0W8+bgFrG4YskGXyE3jQMv0qu9B27FrVk0efWqTwxWg95cGVFJzi3 73XJKS3uOZ2bQ4IrLpMeB0RENdPzrGkjuQAVwy1gIB5fHUoe3zglmp/ViJDGZYJgmJel 47Mg== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@chromium.org header.s=google header.b=QD9CPgO4; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=chromium.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id c13si2227454pgn.792.2018.03.21.10.00.13; Wed, 21 Mar 2018 10:00:28 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; dkim=pass header.i=@chromium.org header.s=google header.b=QD9CPgO4; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=chromium.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751586AbeCUQ6z (ORCPT + 99 others); Wed, 21 Mar 2018 12:58:55 -0400 Received: from mail-pg0-f65.google.com ([74.125.83.65]:35378 "EHLO mail-pg0-f65.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751748AbeCUQ6v (ORCPT ); Wed, 21 Mar 2018 12:58:51 -0400 Received: by mail-pg0-f65.google.com with SMTP id d1so2164851pgv.2 for ; Wed, 21 Mar 2018 09:58:51 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=chromium.org; s=google; h=from:to:cc:subject:date:message-id; bh=S9WbFNTDRHS0WOJz2d86Nb6fKzIlnt1KD4/kO6wn9A4=; b=QD9CPgO4QlayCstbPgXei/F4ASLgxXwoUZRzp53QygbkCyd9zSVo4XGlRCZbpNIBTK C+DjuV92DYcfeOSEUT3W/mNxtyz3uF/fZB1TPpeKjwffVOlu1/VUNkNjqFRyXMBWfnU6 FrWm6fFuKF0tQ2nV4MKwnc7dMJgLmlMWysmao= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id; bh=S9WbFNTDRHS0WOJz2d86Nb6fKzIlnt1KD4/kO6wn9A4=; b=MAImlFWT4NL7BiL8uZWO8CvglICcZJh/kzZiAggF3HCTf3Oi6SGf7UZbx2jXSWiSZL wRRampfqvsKnu/UEx3pFFhzNIdr4scQH9J8GCKlabVEAUl+lNds+vkocEhFhbmuBqq5m CAjA2BbgzIqOu+TRNCSvfVBiZyieeDXVXwsWjQFtkA1kQSrQMknHR9CEGQ5f7dFocc/z 4OFSiwzgk4ZKjn5fRfxIKjQEh7gwFlz4z1ld9w+c0ncwD7Qp3NKMaxbLlniObxfvW5+l j5NZFaCjfa8PiCDUev+Ziy4VQVmFNZOAnzthDYfMPOTIGi+iD0/uNzzvFUDMquHsQTsJ ueXg== X-Gm-Message-State: AElRT7EF7PNW7lV7hv2xsGmTEN950rVhfLJNF+kYFOFVW89jaWgHGUKy +4JXsoBah7ku1kDYRgSwHbdCEA== X-Received: by 10.98.20.143 with SMTP id 137mr5955043pfu.78.1521651531237; Wed, 21 Mar 2018 09:58:51 -0700 (PDT) Received: from swboyd.mtv.corp.google.com ([2620:0:1000:1511:d30e:62c6:f82c:ff40]) by smtp.gmail.com with ESMTPSA id u28sm10121806pfl.19.2018.03.21.09.58.50 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Wed, 21 Mar 2018 09:58:50 -0700 (PDT) From: Stephen Boyd To: Linus Walleij Cc: linux-kernel@vger.kernel.org, linux-arm-kernel@lists.infradead.org, devicetree@vger.kernel.org, linux-arm-msm@vger.kernel.org, Timur Tabi , Bjorn Andersson , Grant Likely , linux-gpio@vger.kernel.org, Andy Shevchenko Subject: [PATCH v3 0/3] Support qcom pinctrl protected pins Date: Wed, 21 Mar 2018 09:58:45 -0700 Message-Id: <20180321165848.89751-1-swboyd@chromium.org> X-Mailer: git-send-email 2.16.2.804.g6dcf76e118-goog Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org This patchset proposes a solution to describing the valid pins for a pin controller in a generic way so that qcom platforms can expose the pins that are really available. Typically, this has been done by having drivers and firmware descriptions only use pins they know they have access to, and that still works now because we no longer read the pin direction at boot. But there are still some userspace drivers and debugfs facilities that don't know what pins are available and attempt to read everything they can. On qcom platforms, this may lead to a system hang, which isn't very nice behavior, even if root is the only user that can trigger it. The proposal is to describe the valid pins and then not allow things to cause problems by using the invalid pins. Obviously, the firmware may mess this up, so this is mostly a nice to have feature or a safety net so that things don't blow up easily. Changes from v2: * Renamed binding to 'gpio-reserved-ranges' * Reworked gpiolib patch to not use irqdomains * Update qcom driver patch to use new valid_mask field Changes from v1: * Pushed into gpiolib-of core under irq valid line logic * Fixed up qcom driver patch to free stuff properly and remove custom code * Dropped export patch as it got picked up * Renamed binding to 'reserved-gpio-ranges' Stephen Boyd (3): dt-bindings: gpio: Add a gpio-reserved-ranges property gpiolib: Support 'gpio-reserved-ranges' property pinctrl: qcom: Don't allow protected pins to be requested .../devicetree/bindings/gpio/gpio.txt | 7 +- drivers/gpio/gpiolib-of.c | 24 +++++++ drivers/gpio/gpiolib.c | 50 ++++++++++++++ drivers/pinctrl/qcom/pinctrl-msm.c | 69 +++++++++++++++++-- include/linux/gpio/driver.h | 16 +++++ 5 files changed, 159 insertions(+), 7 deletions(-) -- Sent by a computer through tubes