From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752003AbdATKRw (ORCPT ); Fri, 20 Jan 2017 05:17:52 -0500 Received: from outils.crapouillou.net ([89.234.176.41]:41468 "EHLO outils.crapouillou.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751581AbdATKRc (ORCPT ); Fri, 20 Jan 2017 05:17:32 -0500 To: Linus Walleij Subject: Re: [PATCH 00/13] Ingenic JZ4740 / JZ4780 pinctrl driver MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit Date: Fri, 20 Jan 2017 11:17:28 +0100 From: Paul Cercueil Cc: Thierry Reding , Rob Herring , Mark Rutland , Ralf Baechle , Ulf Hansson , Boris Brezillon , Bartlomiej Zolnierkiewicz , Maarten ter Huurne , Lars-Peter Clausen , Paul Burton , linux-gpio@vger.kernel.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, Linux MIPS , linux-mmc@vger.kernel.org, linux-mtd@lists.infradead.org, linux-pwm@vger.kernel.org, linux-fbdev@vger.kernel.org, James Hogan In-Reply-To: References: <20170117231421.16310-1-paul@crapouillou.net> <20170118071530.GA18989@ulmo.ba.sec> <27071da2f01d48141e8ac3dfaa13255d@mail.crapouillou.net> Message-ID: <775b4a87768de7263ce6ff9a38659334@mail.crapouillou.net> Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Le 2017-01-20 09:40, Linus Walleij a écrit : > On Thu, Jan 19, 2017 at 12:19 PM, Paul Cercueil > wrote: > >> The problem with pinctrl and PWM, is that the pinctrl API works by >> "states". A default state, sleep state, and basically any custom state >> that the devicetree provides. This works well until you need to >> control individually each pin; with 8 pins, you would need 2^8 states, >> each one corresponding to a given configuration. > > I do not really understand, do you really use all 2^8 states in a given > system? > > The pin control states are to be used for practical situations, not > for all theoretical situations. > > You should define in your device tree the states that your > particular system will use. Not all possible states on all possible > systems. > Well, that was if I wanted to dynamically set/unset the pin mux and configuration when requesting/freeing a PWM. Then I'd need 2^x states for X PWM pins. Anyway, a static configuration works for me too. If at some point I want dynamic configuration of the pins then I'll make the PWM driver handle only one PWM pin and create one driver instance for each pin. Regards, -Paul