linux-arm-kernel.lists.infradead.org archive mirror
 help / color / mirror / Atom feed
From: kurt.van.dijck@eia.be (Kurt Van Dijck)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH 1/2] gpio: add pin biasing and drive mode to gpiolib
Date: Mon, 18 Apr 2011 09:17:16 +0200	[thread overview]
Message-ID: <20110418071716.GA334@kurt.e-circ.dyndns.org> (raw)
In-Reply-To: <BANLkTinnscZeaHkuMme1h-mxGrpJhmZ_Xg@mail.gmail.com>

Hi,

The interface proposed here is a lot better than most ad hoc implementation.
But similar to what Kyungmin Park noticed, I doubt the usefulness
of a limited enumeration for all different types.

On one hand, upper layers benefit from a limited list (like proposed).
On the other hand, most SoC's have more options, which are not comparable.

How will this interface cope with such differences?
a) ignore SoC specifics
b) export it through an _unlimited_ enumeration
c) export it via some GPIO_DRIVE_PROPRIETARY+X where X is very
   SoC dependant.

Any suggestions?

Kurt

On Mon, Apr 18, 2011 at 09:09:28AM +0900, Kyungmin Park wrote:
> Hi Linus,
> 
> It's really required feature for ARM architectures.
> In case of samsung SoCs. it needs more things you described.
> In case of setting the drive, we can set the drive strength, 1x, 2x, 3x, and 4x.
> So can it add the more like this? or separate enumeration?
> 
> > +enum gpio_drive {
> > + ? ? ? GPIO_DRIVE_PUSH_PULL,
> > + ? ? ? GPIO_DRIVE_OPEN_DRAIN,
> > + ? ? ? GPIO_DRIVE_OPEN_SOURCE,
>             GPIO_DRIVE_STRENGTH_1X,
>             GPIO_DRIVE_STRENGTH_2X,
>             GPIO_DRIVE_STRENGTH_3X,
>             GPIO_DRIVE_STRENGTH_4X,
> > +};
> 
> or
> 
> enum gpio_drive_strength {
>             GPIO_DRIVE_STRENGTH_1X,
>             GPIO_DRIVE_STRENGTH_2X,
>             GPIO_DRIVE_STRENGTH_3X,
>             GPIO_DRIVE_STRENGTH_4X,
> };
> 
> Thank you,
> Kyungmin Park
> 
> On Mon, Apr 18, 2011 at 6:37 AM, Linus Walleij
> <linus.walleij@stericsson.com> wrote:
> > From: Linus Walleij <linus.walleij@linaro.org>
> >
> > This adds two functions for struct gpio_chip chips to provide pin
> > bias and drive mode settings for individual pins. Implementers does
> > this a bit differently and usually there are a few possible modes you
> > can select, I'm providing a few common modes for biasing and driving
> > pins.
> >
> > Since we have no previous hacked-up arch-specific drivers for this
> > we can avoid any __override_functions and we just allow this to be
> > properly implemented using gpiolib. Further the function is made
> > non-mandatory, if it is not defined for the chip it will be silently
> > ignored.
> >
> > Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
[...]

  reply	other threads:[~2011-04-18  7:17 UTC|newest]

Thread overview: 53+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-04-17 21:37 [PATCH 1/2] gpio: add pin biasing and drive mode to gpiolib Linus Walleij
2011-04-17 21:48 ` Alan Cox
2011-04-17 21:58   ` Linus Walleij
2011-04-17 22:03     ` Alan Cox
2011-04-18  0:09 ` Kyungmin Park
2011-04-18  7:17   ` Kurt Van Dijck [this message]
2011-04-18  8:04 ` Ben Nizette
2011-04-18  8:19   ` Alan Cox
2011-04-18  8:50     ` Ben Nizette
2011-04-18 11:59       ` Mark Brown
2011-04-18 22:16         ` Ben Nizette
2011-04-18 22:31           ` Mark Brown
2011-04-19  4:50             ` Ben Nizette
2011-04-20 12:11           ` Linus Walleij
2011-04-18 12:26       ` Alan Cox
2011-04-18 22:26         ` Ben Nizette
2011-04-19  8:38           ` Alan Cox
2011-04-19  8:51             ` Kyungmin Park
2011-04-20 12:32               ` Linus Walleij
2011-04-20 12:38                 ` Kyungmin Park
2011-04-20 14:54                 ` Alan Cox
2011-04-20 14:26               ` Haojian Zhuang
2011-04-20 14:40                 ` Kyungmin Park
2011-04-20 15:04                   ` Haojian Zhuang
2011-04-20 15:17                     ` Linus Walleij
2011-04-20 15:32                       ` Alan Cox
2011-04-20 15:45                         ` Linus Walleij
2011-04-27 21:55                         ` Russell King - ARM Linux
2011-04-27 22:16                           ` H Hartley Sweeten
2011-04-20 15:13                 ` Linus Walleij
2011-04-20 15:29                   ` Alan Cox
2011-04-20 15:39                     ` Linus Walleij
2011-04-20 15:43                       ` Alan Cox
2011-04-27 21:58                         ` Russell King - ARM Linux
2011-04-20  0:09             ` Ben Nizette
2011-04-20  9:45               ` Alan Cox
2011-04-20 12:38               ` Linus Walleij
2011-04-20 14:55                 ` Alan Cox
2011-04-20 12:21           ` Linus Walleij
2011-04-20 23:32             ` Ben Nizette
2011-04-21  6:48               ` Linus Walleij
2011-04-23  8:25                 ` Ben Nizette
2011-04-21  0:29             ` Ben Nizette
2011-04-20 12:19         ` Linus Walleij
2011-04-20 12:22           ` Alan Cox
2011-04-20 12:04   ` Linus Walleij
2011-04-20 23:24     ` Ben Nizette
2011-04-21 15:39 ` Stijn Devriendt
2011-04-22 11:36   ` Linus Walleij
2011-04-22 11:56     ` Alan Cox
2011-04-23  8:35     ` Ben Nizette
2011-04-25 18:52 ` Rohit Vaswani
2011-04-26  7:48   ` Linus Walleij

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20110418071716.GA334@kurt.e-circ.dyndns.org \
    --to=kurt.van.dijck@eia.be \
    --cc=linux-arm-kernel@lists.infradead.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).