• David Brownell's avatar
    twl4030 uses gpiolib · 2e056215
    David Brownell authored
    Make the twl4030 core create a platform device to which its
    GPIO code will bind, with platform_data used to configure
    board-specific behaviors and configuration.
    
    Update the twl4030 GPIO code:
    
      - Morph its gpio function code into a platform driver.
    
      - Move away from IRQ (and GPIO) numbers hard-wired in headers.
    
      - Hook up the twl4030 GPIO code to gpiolib.
    
      - Start phasing out the older TWL-specific calls ... currently
        those are used only by arch/arm/mach-omap2/hsmmc.c setup code.
    
      - Use a mutex for locking, not a binary semaphore.
    
    NOTE:  more patches pending:  (a) this doesn't use pdata->pullups
    to initialize (currently hsmmc code always sets GPIO-0 pullup even
    if the board has an external pullup);  (b) there's a new gpio
    request/free hook forthcoming in 2.6.28, which this should use;
    (c) likewise there's a new gpio_to_irq() hook; (d) the irq_chip
    set_type() mechanism needs to be supported; (e) needs to move over
    to drivers/gpio; (f) upcoming threaded IRQ infrastructure should
    be used, when that merges.
    Signed-off-by: default avatarDavid Brownell <dbrownell@users.sourceforge.net>
    Signed-off-by: default avatarFelipe Balbi <felipe.balbi@nokia.com>
    Signed-off-by: default avatarTony Lindgren <tony@atomide.com>
    2e056215
twl4030-core.c 28.5 KB