From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751435AbcD1Fzn (ORCPT ); Thu, 28 Apr 2016 01:55:43 -0400 Received: from mga11.intel.com ([192.55.52.93]:58435 "EHLO mga11.intel.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1750748AbcD1Fzl (ORCPT ); Thu, 28 Apr 2016 01:55:41 -0400 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.24,545,1455004800"; d="scan'208";a="954545687" Subject: Re: [PATCH v6 04/10] regulator: fixed: add support for ACPI interface To: Mark Brown References: <1461571496-9600-1-git-send-email-baolu.lu@linux.intel.com> <1461571496-9600-5-git-send-email-baolu.lu@linux.intel.com> <20160425173024.GO3217@sirena.org.uk> <571ED178.4090700@linux.intel.com> <20160426102314.GS3217@sirena.org.uk> <57201BC2.5040409@linux.intel.com> <20160427123349.GL3217@sirena.org.uk> Cc: felipe.balbi@linux.intel.com, Mathias Nyman , Greg Kroah-Hartman , Lee Jones , Heikki Krogerus , MyungJoo Ham , Chanwoo Choi , Liam Girdwood , linux-usb@vger.kernel.org, linux-kernel@vger.kernel.org From: Lu Baolu Message-ID: <5721A5D7.4070607@linux.intel.com> Date: Thu, 28 Apr 2016 13:55:35 +0800 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:38.0) Gecko/20100101 Thunderbird/38.5.1 MIME-Version: 1.0 In-Reply-To: <20160427123349.GL3217@sirena.org.uk> Content-Type: text/plain; charset=windows-1252 Content-Transfer-Encoding: 7bit Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Hi, On 04/27/2016 08:33 PM, Mark Brown wrote: > On Wed, Apr 27, 2016 at 09:54:10AM +0800, Lu Baolu wrote: > >> Please refer to Documentation/acpi/gpio-properties.txt. > That's not visibly what your driver is doing, that is also recommending > using a static name which is what I'm asking for. Yes, I agree that we should use a static name. > >>> Why does the device care?It's requesting the GPIO in >>> its own context and it's only requesting one GPIO, with DT we're just >>> always calling the GPIO "gpio" which works fine. >> This driver is not bound to an ACPI device node directly. It's a child >> of a mfd device, which is corresponding to a real ACPI device node. > If it's the child of a MFD it's got an ACPI device, the ACPI device is > the parent.It should use the parent device or the parent should map > the GPIO through to the child as many other MFDs do, the whole concept > of a MFD is a Linux internal implementation detail. Yes. The mapping of GPIO is done in the parent. And the parent passes the GPIO by setting ACPI companion to this device (done in mfd internal). This driver is able to get the gpio descriptor with a static name. How about below code? + gpiod = gpiod_get(dev, "vbus_en", GPIOD_ASIS); + if (IS_ERR(gpiod)) + return PTR_ERR(gpiod); + + config->gpio = desc_to_gpio(gpiod); + config->enable_high = device_property_read_bool(dev, + "enable-active-high"); + gpiod_put(gpiod); Best regards, Lu Baolu