[lkml]   [2012]   [Feb]   [4]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
Messages in this thread
    SubjectRe: [PATCH] gpiolib/arches: Centralise bolierplate asm/gpio.h
    On Sat, Feb 04, 2012 at 06:06:32PM +0100, Sam Ravnborg wrote:
    > On Sat, Feb 04, 2012 at 03:54:39PM +0000, Mark Brown wrote:
    > > Rather than requiring architectures that use gpiolib but don't have any
    > > need to define anything custom to copy an asm/gpio.h provide a Kconfig
    > > symbol which architectures must select in order to include gpio.h and
    > > for other architectures just provide the trivial implementation directly.
    > Hi Mark.
    > There is an even simpler solution.
    > For each arch that uses asm-generic/gpio.h add a line
    > to arch/$ARCH/include/asm/Kbuild like this:
    > generic-y += gpio.h
    > This will then make this arch pick up the asm-generic version when
    > you do #include <asm/gpio.h>.

    You're assuming that asm-generic/gpio.h was invented to be a replacement
    for an architecture asm/gpio.h. Unfortunately, things aren't that

    It would have been a lot better if asm-generic/gpio.h was tacked on the
    bottom of linux/gpio.h - because that's what it really is. It's core
    code features, not platform stuff.

    What's platform specific about asm/gpio.h is the number of GPIOs in
    the system, and whether it wants to intercept the gpio_xxx() functions
    to provide fast access to on-chip GPIOs.

    What I'd suggest is moving asm-generic/gpio.h to linux/gpiolib.h, and
    making asm-generic/gpio.h include that as a patch until stuff is fixed
    for its new location. That should result in a proper asm-generic/gpio.h

    /* The trivial gpiolib dispatchers */
    #define gpio_get_value __gpio_get_value
    #define gpio_set_value __gpio_set_value
    #define gpio_cansleep __gpio_cansleep
    #define gpio_to_irq __gpio_to_irq

    and nothing else.

    Alternatively, instead of linux/gpiolib.h, put it in linux/gpio.h instead,
    but that gets more icky because of the mess of asm/gpio.h includes (which
    I've been banging on for years about in ARM patches and they're _still_

     \ /
      Last update: 2012-02-04 18:45    [W:0.021 / U:0.128 seconds]
    ©2003-2017 Jasper Spaans. hosted at Digital OceanAdvertise on this site