i2c-pxa2xx: Fix register offsets
PATCH 1/2 i2c-pxa2xx: Fix register offsets
Fix regression that was introduced by dynamic register layout.
Signed-off-by Vasily Khoruzhick <[email protected]>
--- drivers/i2c/busses/i2c-pxa.c | 14 +++++++------- 1 files changed, 7 insertions(+), 7 deletions(-)
drivers/i2c/busses/i2c-pxa.c +7 -7
@@ -66,18 +66,18 @@ enum pxa_i2c_types {static struct pxa_reg_layout pxa_reg_layout[] = { [REGS_PXA2XX ] = { .ibmr =0x00 , - .idbr =0x10 , - .icr =0x20 , - .isr =0x30 , - .isar =0x40 , - }, - [REGS_PXA3XX ] = { - .ibmr =0x00 , .idbr =0x08 , .icr =0x10 , .isr =0x18 , .isar =0x20 , }, + [REGS_PXA3XX ] = { + .ibmr =0x00 , + .idbr =0x04 , + .icr =0x08 , + .isr =0x0c , + .isar =0x10 , + }, [REGS_CE4100 ] = { .ibmr =0x14 , .idbr =0x0c ,
Signature · 1 line
1.7.4.1
PATCH 2/2 i2c-pxa2xx: Don't clear isr bits too early
isr is passed later into i2c_pxa_irq_txempty and i2c_pxa_irq_rxfull and they may use some other bits than irq sources.
Signed-off-by Vasily Khoruzhick <[email protected]>
--- drivers/i2c/busses/i2c-pxa.c | 5 ++--- 1 files changed, 2 insertions(+), 3 deletions(-)
drivers/i2c/busses/i2c-pxa.c +2 -3
@@ -966,8 +966,7 @@ static irqreturn_t i2c_pxa_handler(int this_irq, void *dev_id)struct pxa_i2c *i2c = dev_id;u32 isr =readl (_ISR (i2c)); - isr &=VALID_INT_SOURCE ; -if (!isr) +if (!(isr &VALID_INT_SOURCE ))return IRQ_NONE ;if (i2c_debug >2 &&0 ) {
@@ -984,7 +983,7 @@ static irqreturn_t i2c_pxa_handler(int this_irq, void *dev_id)/* * Always clear all pending IRQs. */ -writel (isr,_ISR (i2c)); +writel (isr &VALID_INT_SOURCE ,_ISR (i2c));if (isr &ISR_SAD )i2c_pxa_slave_start (i2c, isr);
Signature · 1 line
1.7.4.1
PATCH 1/2 i2c-pxa2xx: Fix register offsets
In reply to Vasily KhoruzhickQuoted 3 lines · Vasily Khoruzhick
Fix regression that was introduced by dynamic register layout.
Signed-off-by Vasily Khoruzhick <[email protected]>
After looking at my patch once again I noticed that I really mixed those two up. Thanks for fixing this.
Sebastian
Ben Dooks
AppliedPATCH 1/2 i2c-pxa2xx: Fix register offsets
In reply to Vasily KhoruzhickQuoted 1 line · Vasily Khoruzhick
Fix regression that was introduced by dynamic register layout.
applied both to the relevant -next branch
Signature · 3 lines
Ben Dooks, ben at fluff.org, http://www.fluff.org/ben/ Large Hadron Colada: A large Pina Colada that makes the universe disappear.