From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1754254AbcHZPzi (ORCPT ); Fri, 26 Aug 2016 11:55:38 -0400 Received: from avon.wwwdotorg.org ([70.85.31.133]:41638 "EHLO avon.wwwdotorg.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1753369AbcHZPzg (ORCPT ); Fri, 26 Aug 2016 11:55:36 -0400 Subject: Re: [PATCH V2 9/9] i2c: tegra: Add pinctrl support To: Jon Hunter References: <1472216945-11818-1-git-send-email-jonathanh@nvidia.com> <1472216945-11818-10-git-send-email-jonathanh@nvidia.com> Cc: Laxman Dewangan , Wolfram Sang , Thierry Reding , Alexandre Courbot , linux-i2c@vger.kernel.org, linux-tegra@vger.kernel.org, linux-kernel@vger.kernel.org, Linus Walleij From: Stephen Warren Message-ID: <75609713-af41-b4a4-226e-a5cb48ceab4e@wwwdotorg.org> Date: Fri, 26 Aug 2016 09:55:32 -0600 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:45.0) Gecko/20100101 Thunderbird/45.2.0 MIME-Version: 1.0 In-Reply-To: <1472216945-11818-10-git-send-email-jonathanh@nvidia.com> Content-Type: text/plain; charset=windows-1252; format=flowed Content-Transfer-Encoding: 7bit Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On 08/26/2016 07:09 AM, Jon Hunter wrote: > On Tegra124/132 the pins for I2C6 are shared with the Display Port AUX > (DPAUX) channel and on Tegra210 the pins for I2C4 and I2C6 are shared > with DPAUX1 and DPAUX0, respectively. The multiplexing of the pins is > handled by a register in the DPAUX and so the Tegra DPAUX driver has > been updated to register a pinctrl device for managing these pins. > > The pins for these particular I2C devices are bound to the I2C device > prior to probing. However, these I2C devices are in a different power > partition to the DPAUX devices that own the pins. Hence, it is desirable > to place the pins in the 'idle' state and allow the DPAUX power > partition to switch off, when these I2C devices is not in use. > Therefore, add calls to place the I2C pins in the 'default' and 'idle' > states when the I2C device is runtime resumed and suspended, > respectively. > > Please note that the pinctrl functions that set the state of the pins > check to see if the devices has pins associated and will return zero > if they do not. Therefore, it is safe to call these pinctrl functions > even for I2C devices that do not have any pins associated. I think this should be handled by drivers/i2c/muxes/i2c-mux-pinctrl.c instead?