From fc5f1855d606b7f41d42f13435f8abd4154bb984 Mon Sep 17 00:00:00 2001 From: Jesper Nilsson Date: Tue, 3 Aug 2010 18:50:06 +0200 Subject: [PATCH] --- yaml --- r: 207144 b: refs/heads/master c: 243ba2fa461a22e01e5905dd299babeaeeb418e2 h: refs/heads/master v: v3 --- [refs] | 2 +- trunk/arch/cris/include/arch-v32/arch/io.h | 20 ++++++++++++-------- 2 files changed, 13 insertions(+), 9 deletions(-) diff --git a/[refs] b/[refs] index 1295e6913504..8be815ceafed 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: a3af54ffa9fb0e3ce66904bd316f079cafad1bd5 +refs/heads/master: 243ba2fa461a22e01e5905dd299babeaeeb418e2 diff --git a/trunk/arch/cris/include/arch-v32/arch/io.h b/trunk/arch/cris/include/arch-v32/arch/io.h index 72024452cea9..adc5484351bf 100644 --- a/trunk/arch/cris/include/arch-v32/arch/io.h +++ b/trunk/arch/cris/include/arch-v32/arch/io.h @@ -46,10 +46,12 @@ static inline void crisv32_io_set(struct crisv32_iopin *iopin, int val) unsigned long flags; spin_lock_irqsave(&iopin->port->lock, flags); - if (val) - *iopin->port->data |= iopin->bit; - else - *iopin->port->data &= ~iopin->bit; + if (iopin->port->data) { + if (val) + *iopin->port->data |= iopin->bit; + else + *iopin->port->data &= ~iopin->bit; + } spin_unlock_irqrestore(&iopin->port->lock, flags); } @@ -60,10 +62,12 @@ static inline void crisv32_io_set_dir(struct crisv32_iopin* iopin, unsigned long flags; spin_lock_irqsave(&iopin->port->lock, flags); - if (dir == crisv32_io_dir_in) - *iopin->port->oe &= ~iopin->bit; - else - *iopin->port->oe |= iopin->bit; + if (iopin->port->oe) { + if (dir == crisv32_io_dir_in) + *iopin->port->oe &= ~iopin->bit; + else + *iopin->port->oe |= iopin->bit; + } spin_unlock_irqrestore(&iopin->port->lock, flags); }