Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1757343Ab1F1LzA (ORCPT ); Tue, 28 Jun 2011 07:55:00 -0400 Received: from mail-qy0-f181.google.com ([209.85.216.181]:56709 "EHLO mail-qy0-f181.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1757402Ab1F1LxI convert rfc822-to-8bit (ORCPT ); Tue, 28 Jun 2011 07:53:08 -0400 MIME-Version: 1.0 In-Reply-To: References: <1307695731-28018-1-git-send-email-linus.walleij@stericsson.com> <20110627120256.GA19531@opensource.wolfsonmicro.com> Date: Tue, 28 Jun 2011 13:53:07 +0200 Message-ID: Subject: Re: [PATCH 0/2] RFC: gpio: driver-local pin configuration From: Stijn Devriendt To: Linus Walleij Cc: Mark Brown , Grant Likely , Linus Walleij , linux-kernel@vger.kernel.org, linux-arm-kernel@lists.infradead.org, Lee Jones , Alan Cox , Kyungmin Park , Kurt Van Dijck , Ben Nizette , Haojian Zhuang , Rohit Vaswani , Russell King , H Hartley Sweeten Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 8BIT Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 1570 Lines: 43 On Mon, Jun 27, 2011 at 2:37 PM, Linus Walleij wrote: > On Mon, Jun 27, 2011 at 2:02 PM, Mark Brown > wrote: >> On Mon, Jun 27, 2011 at 01:44:43PM +0200, Linus Walleij wrote: >> >>> Yes. To make the driver platform neutral, it needs to for example >>> provide a callback in the platform data like (* set_pin_bias) or so, >>> and then your platform has to implement this biasing. >> >>> In this specific case that kind of stuff would likely be preferable >>> to have in the platform anyway, but I understand what you mean. >> >> How about device tree usage? ?I guess there we'd end up doing it by >> putting the configuration on the GPIO end of things rather than on the >> GPIO user side? > > Sorry I can't quite understand that, please elaborate! > I have some code doing this as well (in a very limited fashion): int of_request_gpio(..., int* remaining_flags) { of_get_gpio_flags(of_dev, i, remaining_flags) if (flags & bias_X) { gpio_set_bias(gpio, ...) flags &= ~bias_X } // interpret all generic flags here }; So drivers need not worry about all gpio flags and special things. They just request the pin; what they receive is a fully configured pin (with the exception of unknown flags passed out via remaining_flags). Regards, Stijn -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/