Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1756860AbcKCLLu (ORCPT ); Thu, 3 Nov 2016 07:11:50 -0400 Received: from mail-wm0-f45.google.com ([74.125.82.45]:38364 "EHLO mail-wm0-f45.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752172AbcKCLLs (ORCPT ); Thu, 3 Nov 2016 07:11:48 -0400 From: Axel Haslam To: broonie@kernel.org, lgirdwood@gmail.com, khilman@baylibre.com, nsekhar@ti.com, david@lechnology.com, robh+dt@kernel.org Cc: linux-kernel@vger.kernel.org, Axel Haslam Subject: [PATCH/RFC v2 0/3] regulator: handling of error conditions for usb drivers Date: Thu, 3 Nov 2016 12:11:41 +0100 Message-Id: <20161103111144.511-1-ahaslam@baylibre.com> X-Mailer: git-send-email 2.10.1.502.g6598894 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 1581 Lines: 40 Some usb drivers rely on external power switches/regulators to for the port vbus. Some of these drivers are using a plain gpio for the enable pin and also the over current indicator pin. To make these drivers more generic, we can use a regulator to handle vbus, and send and over current event, but we are missing a way to transmit the over current pin status, which the usb layer may poll at any time. We would like to move these drivers to use a regulator, this would make the usb driver generic allowing to use any type of regulator. Also, it would help removing code, making DT migration simpler and avoiding new DT bindings for each driver. These patches do 2 things: * Add a new API, that consumers can use to poll the regulator error status. * Extends the fixed regulator driver to handle an optional over current gpio pin. Changes v1->v2 * add new API to get error status instead of extending events (Mark) * use gpiod for fixed regulator: This spears us extra platform data and bindings Axel Haslam (3): regulator: core: Add new API to poll for error conditions regulator: fixed: dt: Allow an optional over current pin regulator: fixed: Handle optional overcurrent pin .../bindings/regulator/fixed-regulator.txt | 2 + drivers/regulator/core.c | 33 ++++++++++++ drivers/regulator/fixed.c | 60 ++++++++++++++++++++++ include/linux/regulator/consumer.h | 26 ++++++++++ include/linux/regulator/driver.h | 4 ++ 5 files changed, 125 insertions(+) -- 2.10.1