Device: remove _irq_attached flag, test with _irq == 0 instead

This commit is contained in:
Beat Küng
2016-10-23 15:25:20 +02:00
committed by Lorenz Meier
parent 64df463a85
commit a5e6f3213f
2 changed files with 6 additions and 11 deletions
+5 -9
View File
@@ -91,8 +91,7 @@ Device::Device(const char *name,
_name(name), _name(name),
_debug_enabled(false), _debug_enabled(false),
// private // private
_irq(irq), _irq(irq)
_irq_attached(false)
{ {
sem_init(&_lock, 0, 1); sem_init(&_lock, 0, 1);
@@ -109,7 +108,7 @@ Device::~Device()
{ {
sem_destroy(&_lock); sem_destroy(&_lock);
if (_irq_attached) { if (_irq) {
unregister_interrupt(_irq); unregister_interrupt(_irq);
} }
} }
@@ -128,20 +127,17 @@ Device::init()
ret = register_interrupt(_irq, this); ret = register_interrupt(_irq, this);
if (ret != OK) { if (ret != OK) {
goto out; _irq = 0;
} }
_irq_attached = true;
} }
out:
return ret; return ret;
} }
void void
Device::interrupt_enable() Device::interrupt_enable()
{ {
if (_irq_attached) { if (_irq) {
up_enable_irq(_irq); up_enable_irq(_irq);
} }
} }
@@ -149,7 +145,7 @@ Device::interrupt_enable()
void void
Device::interrupt_disable() Device::interrupt_disable()
{ {
if (_irq_attached) { if (_irq) {
up_disable_irq(_irq); up_disable_irq(_irq);
} }
} }
+1 -2
View File
@@ -209,8 +209,7 @@ protected:
sem_t _lock; /**< lock to protect access to all class members (also for derived classes) */ sem_t _lock; /**< lock to protect access to all class members (also for derived classes) */
private: private:
int _irq; int _irq; /**< if non-zero, it's a valid IRQ */
bool _irq_attached;
/** disable copy construction for this and all subclasses */ /** disable copy construction for this and all subclasses */
Device(const Device &); Device(const Device &);