summaryrefslogtreecommitdiff
path: root/components/drivers/include
diff options
context:
space:
mode:
authorAubr.Cool <[email protected]>2017-03-14 10:26:49 +0800
committerAubr.Cool <[email protected]>2017-03-14 10:28:29 +0800
commitaa8e5cc412d495b6480200c7c2cf2fe8df7a352f (patch)
tree29fdd1600f71d0094b9831ebabb557e462ac5c54 /components/drivers/include
parent320b116b5f13fe991a947664949bef5c734b63e1 (diff)
[components] drivers pin irq change apis
Diffstat (limited to 'components/drivers/include')
-rw-r--r--components/drivers/include/drivers/pin.h13
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);