Changeset b583cc5f in rtems


Ignore:
Timestamp:
Feb 23, 2015, 12:47:32 PM (4 years ago)
Author:
Daniel Hellstrom <daniel@…>
Branches:
4.11, master
Children:
7ebc28cd
Parents:
949d0d6
git-author:
Daniel Hellstrom <daniel@…> (02/23/15 12:47:32)
git-committer:
Daniel Hellstrom <daniel@…> (04/16/15 23:10:18)
Message:

leon,gpiolib: add mask/unmask interrupt support

Location:
c/src/lib/libbsp/sparc/shared
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • c/src/lib/libbsp/sparc/shared/gpio/gpiolib.c

    r949d0d6 rb583cc5f  
    252252}
    253253
     254int gpiolib_irq_mask(void *handle)
     255{
     256        return gpiolib_irq_opts(handle, GPIOLIB_IRQ_MASK);
     257}
     258
     259int gpiolib_irq_unmask(void *handle)
     260{
     261        return gpiolib_irq_opts(handle, GPIOLIB_IRQ_UNMASK);
     262}
     263
     264
    254265/*** Initialization ***/
    255266int gpiolib_initialize(void)
  • c/src/lib/libbsp/sparc/shared/gpio/grgpio.c

    r949d0d6 rb583cc5f  
    263263                }
    264264        }
     265        if ( options & GPIOLIB_IRQ_MASK ) {
     266                /* Mask (disable) interrupt at interrupt controller */
     267                if ( drvmgr_interrupt_mask(priv->dev, portnr) ) {
     268                        return -1;
     269                }
     270        }
     271        if ( options & GPIOLIB_IRQ_UNMASK ) {
     272                /* Unmask (enable) interrupt at interrupt controller */
     273                if ( drvmgr_interrupt_unmask(priv->dev, portnr) ) {
     274                        return -1;
     275                }
     276        }
    265277
    266278        return 0;
  • c/src/lib/libbsp/sparc/shared/include/gpiolib.h

    r949d0d6 rb583cc5f  
    5252extern int gpiolib_irq_enable(void *handle);
    5353extern int gpiolib_irq_disable(void *handle);
     54extern int gpiolib_irq_mask(void *handle);
     55extern int gpiolib_irq_unmask(void *handle);
    5456extern int gpiolib_irq_force(void *handle);
    5557extern int gpiolib_irq_register(void *handle, void *func, void *arg);
     
    7678#define GPIOLIB_IRQ_CLEAR   0x04
    7779#define GPIOLIB_IRQ_FORCE   0x08
     80#define GPIOLIB_IRQ_MASK    0x10
     81#define GPIOLIB_IRQ_UNMASK  0x20
    7882
    7983struct gpiolib_drv {
Note: See TracChangeset for help on using the changeset viewer.