94
94
/* some bits in ICR are reserved */
95
95
#define I2C_CLEAR_ALL_INTS 0x131f007f
96
96
97
- /* first three msb bits are reserved */
98
- #define IRQ_MASK (mask ) (mask & 0x1fffffff)
99
-
100
97
/* maximum threshold value */
101
98
#define MAX_I2C_FIFO_THRESHOLD 15
102
99
@@ -249,8 +246,7 @@ static int flush_i2c_fifo(struct nmk_i2c_dev *priv)
249
246
*/
250
247
static void disable_all_interrupts (struct nmk_i2c_dev * priv )
251
248
{
252
- u32 mask = IRQ_MASK (0 );
253
- writel (mask , priv -> virtbase + I2C_IMSCR );
249
+ writel (0 , priv -> virtbase + I2C_IMSCR );
254
250
}
255
251
256
252
/**
@@ -259,9 +255,7 @@ static void disable_all_interrupts(struct nmk_i2c_dev *priv)
259
255
*/
260
256
static void clear_all_interrupts (struct nmk_i2c_dev * priv )
261
257
{
262
- u32 mask ;
263
- mask = IRQ_MASK (I2C_CLEAR_ALL_INTS );
264
- writel (mask , priv -> virtbase + I2C_ICR );
258
+ writel (I2C_CLEAR_ALL_INTS , priv -> virtbase + I2C_ICR );
265
259
}
266
260
267
261
/**
@@ -468,7 +462,7 @@ static int read_i2c(struct nmk_i2c_dev *priv, u16 flags)
468
462
else
469
463
irq_mask |= I2C_IT_MTDWS ;
470
464
471
- irq_mask = I2C_CLEAR_ALL_INTS & IRQ_MASK ( irq_mask ) ;
465
+ irq_mask & = I2C_CLEAR_ALL_INTS ;
472
466
473
467
writel (readl (priv -> virtbase + I2C_IMSCR ) | irq_mask ,
474
468
priv -> virtbase + I2C_IMSCR );
@@ -547,7 +541,7 @@ static int write_i2c(struct nmk_i2c_dev *priv, u16 flags)
547
541
else
548
542
irq_mask |= I2C_IT_MTDWS ;
549
543
550
- irq_mask = I2C_CLEAR_ALL_INTS & IRQ_MASK ( irq_mask ) ;
544
+ irq_mask & = I2C_CLEAR_ALL_INTS ;
551
545
552
546
writel (readl (priv -> virtbase + I2C_IMSCR ) | irq_mask ,
553
547
priv -> virtbase + I2C_IMSCR );
@@ -703,8 +697,8 @@ static int nmk_i2c_xfer(struct i2c_adapter *i2c_adap,
703
697
*/
704
698
static int disable_interrupts (struct nmk_i2c_dev * priv , u32 irq )
705
699
{
706
- irq = IRQ_MASK ( irq ) ;
707
- writel (readl (priv -> virtbase + I2C_IMSCR ) & ~( I2C_CLEAR_ALL_INTS & irq ) ,
700
+ irq &= I2C_CLEAR_ALL_INTS ;
701
+ writel (readl (priv -> virtbase + I2C_IMSCR ) & ~irq ,
708
702
priv -> virtbase + I2C_IMSCR );
709
703
return 0 ;
710
704
}
0 commit comments