diff options
| author | Aubr.Cool <[email protected]> | 2017-03-14 10:26:49 +0800 |
|---|---|---|
| committer | Aubr.Cool <[email protected]> | 2017-03-14 10:28:29 +0800 |
| commit | aa8e5cc412d495b6480200c7c2cf2fe8df7a352f (patch) | |
| tree | 29fdd1600f71d0094b9831ebabb557e462ac5c54 /components/drivers/include | |
| parent | 320b116b5f13fe991a947664949bef5c734b63e1 (diff) | |
[components] drivers pin irq change apis
Diffstat (limited to 'components/drivers/include')
| -rw-r--r-- | components/drivers/include/drivers/pin.h | 13 |
1 files changed, 7 insertions, 6 deletions
diff --git a/components/drivers/include/drivers/pin.h b/components/drivers/include/drivers/pin.h index ac35ed3baa..a76798e284 100644 --- a/components/drivers/include/drivers/pin.h +++ b/components/drivers/include/drivers/pin.h @@ -50,6 +50,9 @@ struct rt_device_pin #define PIN_IRQ_MODE_FALLING 0x01 #define PIN_IRQ_MODE_RISING_FALLING 0x02 +#define PIN_IRQ_DISABLE 0x00 +#define PIN_IRQ_ENABLE 0x01 + #define PIN_IRQ_PIN_NONE -1 struct rt_device_pin_mode @@ -64,8 +67,8 @@ struct rt_device_pin_status }; struct rt_pin_irq_hdr { - rt_int32_t pin; - rt_uint32_t mode; + rt_int16_t pin; + rt_uint16_t mode; void (*hdr)(void *args); void *args; }; @@ -79,8 +82,7 @@ struct rt_pin_ops rt_err_t (*pin_attach_irq)(struct rt_device *device, rt_int32_t pin, rt_uint32_t mode, void (*hdr)(void *args), void *args); rt_err_t (*pin_dettach_irq)(struct rt_device *device, rt_int32_t pin); - rt_err_t (*pin_irq_enable)(struct rt_device *device, rt_base_t pin); - rt_err_t (*pin_irq_disable)(struct rt_device *device, rt_base_t pin); + rt_err_t (*pin_irq_enable)(struct rt_device *device, rt_base_t pin, rt_uint32_t enabled); }; int rt_device_pin_register(const char *name, const struct rt_pin_ops *ops, void *user_data); @@ -91,8 +93,7 @@ int rt_pin_read(rt_base_t pin); rt_err_t rt_pin_attach_irq(rt_int32_t pin, rt_uint32_t mode, void (*hdr)(void *args), void *args); rt_err_t rt_pin_dettach_irq(rt_int32_t pin); -rt_err_t pin_irq_enable(rt_base_t pin); -rt_err_t pin_irq_disable(rt_base_t pin); +rt_err_t pin_irq_enable(rt_base_t pin, rt_uint32_t enabled); int rt_device_pin_irq_register(const char *name, const struct rt_pin_ops *ops, void *user_data); |
