diff options
Diffstat (limited to 'drivers/i2c/busses/i2c-s3c2410.c')
-rw-r--r-- | drivers/i2c/busses/i2c-s3c2410.c | 88 |
1 files changed, 44 insertions, 44 deletions
diff --git a/drivers/i2c/busses/i2c-s3c2410.c b/drivers/i2c/busses/i2c-s3c2410.c index 1fac4e233133..f5efece9b166 100644 --- a/drivers/i2c/busses/i2c-s3c2410.c +++ b/drivers/i2c/busses/i2c-s3c2410.c | |||
@@ -109,7 +109,8 @@ static inline int s3c24xx_i2c_is2440(struct s3c24xx_i2c *i2c) | |||
109 | * the default if there is none | 109 | * the default if there is none |
110 | */ | 110 | */ |
111 | 111 | ||
112 | static inline struct s3c2410_platform_i2c *s3c24xx_i2c_get_platformdata(struct device *dev) | 112 | static inline struct s3c2410_platform_i2c * |
113 | s3c24xx_i2c_get_platformdata(struct device *dev) | ||
113 | { | 114 | { |
114 | if (dev->platform_data != NULL) | 115 | if (dev->platform_data != NULL) |
115 | return (struct s3c2410_platform_i2c *)dev->platform_data; | 116 | return (struct s3c2410_platform_i2c *)dev->platform_data; |
@@ -129,7 +130,7 @@ static inline void s3c24xx_i2c_master_complete(struct s3c24xx_i2c *i2c, int ret) | |||
129 | 130 | ||
130 | i2c->msg_ptr = 0; | 131 | i2c->msg_ptr = 0; |
131 | i2c->msg = NULL; | 132 | i2c->msg = NULL; |
132 | i2c->msg_idx ++; | 133 | i2c->msg_idx++; |
133 | i2c->msg_num = 0; | 134 | i2c->msg_num = 0; |
134 | if (ret) | 135 | if (ret) |
135 | i2c->msg_idx = ret; | 136 | i2c->msg_idx = ret; |
@@ -140,19 +141,17 @@ static inline void s3c24xx_i2c_master_complete(struct s3c24xx_i2c *i2c, int ret) | |||
140 | static inline void s3c24xx_i2c_disable_ack(struct s3c24xx_i2c *i2c) | 141 | static inline void s3c24xx_i2c_disable_ack(struct s3c24xx_i2c *i2c) |
141 | { | 142 | { |
142 | unsigned long tmp; | 143 | unsigned long tmp; |
143 | 144 | ||
144 | tmp = readl(i2c->regs + S3C2410_IICCON); | 145 | tmp = readl(i2c->regs + S3C2410_IICCON); |
145 | writel(tmp & ~S3C2410_IICCON_ACKEN, i2c->regs + S3C2410_IICCON); | 146 | writel(tmp & ~S3C2410_IICCON_ACKEN, i2c->regs + S3C2410_IICCON); |
146 | |||
147 | } | 147 | } |
148 | 148 | ||
149 | static inline void s3c24xx_i2c_enable_ack(struct s3c24xx_i2c *i2c) | 149 | static inline void s3c24xx_i2c_enable_ack(struct s3c24xx_i2c *i2c) |
150 | { | 150 | { |
151 | unsigned long tmp; | 151 | unsigned long tmp; |
152 | 152 | ||
153 | tmp = readl(i2c->regs + S3C2410_IICCON); | 153 | tmp = readl(i2c->regs + S3C2410_IICCON); |
154 | writel(tmp | S3C2410_IICCON_ACKEN, i2c->regs + S3C2410_IICCON); | 154 | writel(tmp | S3C2410_IICCON_ACKEN, i2c->regs + S3C2410_IICCON); |
155 | |||
156 | } | 155 | } |
157 | 156 | ||
158 | /* irq enable/disable functions */ | 157 | /* irq enable/disable functions */ |
@@ -160,7 +159,7 @@ static inline void s3c24xx_i2c_enable_ack(struct s3c24xx_i2c *i2c) | |||
160 | static inline void s3c24xx_i2c_disable_irq(struct s3c24xx_i2c *i2c) | 159 | static inline void s3c24xx_i2c_disable_irq(struct s3c24xx_i2c *i2c) |
161 | { | 160 | { |
162 | unsigned long tmp; | 161 | unsigned long tmp; |
163 | 162 | ||
164 | tmp = readl(i2c->regs + S3C2410_IICCON); | 163 | tmp = readl(i2c->regs + S3C2410_IICCON); |
165 | writel(tmp & ~S3C2410_IICCON_IRQEN, i2c->regs + S3C2410_IICCON); | 164 | writel(tmp & ~S3C2410_IICCON_IRQEN, i2c->regs + S3C2410_IICCON); |
166 | } | 165 | } |
@@ -168,7 +167,7 @@ static inline void s3c24xx_i2c_disable_irq(struct s3c24xx_i2c *i2c) | |||
168 | static inline void s3c24xx_i2c_enable_irq(struct s3c24xx_i2c *i2c) | 167 | static inline void s3c24xx_i2c_enable_irq(struct s3c24xx_i2c *i2c) |
169 | { | 168 | { |
170 | unsigned long tmp; | 169 | unsigned long tmp; |
171 | 170 | ||
172 | tmp = readl(i2c->regs + S3C2410_IICCON); | 171 | tmp = readl(i2c->regs + S3C2410_IICCON); |
173 | writel(tmp | S3C2410_IICCON_IRQEN, i2c->regs + S3C2410_IICCON); | 172 | writel(tmp | S3C2410_IICCON_IRQEN, i2c->regs + S3C2410_IICCON); |
174 | } | 173 | } |
@@ -176,10 +175,10 @@ static inline void s3c24xx_i2c_enable_irq(struct s3c24xx_i2c *i2c) | |||
176 | 175 | ||
177 | /* s3c24xx_i2c_message_start | 176 | /* s3c24xx_i2c_message_start |
178 | * | 177 | * |
179 | * put the start of a message onto the bus | 178 | * put the start of a message onto the bus |
180 | */ | 179 | */ |
181 | 180 | ||
182 | static void s3c24xx_i2c_message_start(struct s3c24xx_i2c *i2c, | 181 | static void s3c24xx_i2c_message_start(struct s3c24xx_i2c *i2c, |
183 | struct i2c_msg *msg) | 182 | struct i2c_msg *msg) |
184 | { | 183 | { |
185 | unsigned int addr = (msg->addr & 0x7f) << 1; | 184 | unsigned int addr = (msg->addr & 0x7f) << 1; |
@@ -198,15 +197,15 @@ static void s3c24xx_i2c_message_start(struct s3c24xx_i2c *i2c, | |||
198 | if (msg->flags & I2C_M_REV_DIR_ADDR) | 197 | if (msg->flags & I2C_M_REV_DIR_ADDR) |
199 | addr ^= 1; | 198 | addr ^= 1; |
200 | 199 | ||
201 | // todo - check for wether ack wanted or not | 200 | /* todo - check for wether ack wanted or not */ |
202 | s3c24xx_i2c_enable_ack(i2c); | 201 | s3c24xx_i2c_enable_ack(i2c); |
203 | 202 | ||
204 | iiccon = readl(i2c->regs + S3C2410_IICCON); | 203 | iiccon = readl(i2c->regs + S3C2410_IICCON); |
205 | writel(stat, i2c->regs + S3C2410_IICSTAT); | 204 | writel(stat, i2c->regs + S3C2410_IICSTAT); |
206 | 205 | ||
207 | dev_dbg(i2c->dev, "START: %08lx to IICSTAT, %02x to DS\n", stat, addr); | 206 | dev_dbg(i2c->dev, "START: %08lx to IICSTAT, %02x to DS\n", stat, addr); |
208 | writeb(addr, i2c->regs + S3C2410_IICDS); | 207 | writeb(addr, i2c->regs + S3C2410_IICDS); |
209 | 208 | ||
210 | /* delay here to ensure the data byte has gotten onto the bus | 209 | /* delay here to ensure the data byte has gotten onto the bus |
211 | * before the transaction is started */ | 210 | * before the transaction is started */ |
212 | 211 | ||
@@ -214,8 +213,8 @@ static void s3c24xx_i2c_message_start(struct s3c24xx_i2c *i2c, | |||
214 | 213 | ||
215 | dev_dbg(i2c->dev, "iiccon, %08lx\n", iiccon); | 214 | dev_dbg(i2c->dev, "iiccon, %08lx\n", iiccon); |
216 | writel(iiccon, i2c->regs + S3C2410_IICCON); | 215 | writel(iiccon, i2c->regs + S3C2410_IICCON); |
217 | 216 | ||
218 | stat |= S3C2410_IICSTAT_START; | 217 | stat |= S3C2410_IICSTAT_START; |
219 | writel(stat, i2c->regs + S3C2410_IICSTAT); | 218 | writel(stat, i2c->regs + S3C2410_IICSTAT); |
220 | } | 219 | } |
221 | 220 | ||
@@ -226,11 +225,11 @@ static inline void s3c24xx_i2c_stop(struct s3c24xx_i2c *i2c, int ret) | |||
226 | dev_dbg(i2c->dev, "STOP\n"); | 225 | dev_dbg(i2c->dev, "STOP\n"); |
227 | 226 | ||
228 | /* stop the transfer */ | 227 | /* stop the transfer */ |
229 | iicstat &= ~ S3C2410_IICSTAT_START; | 228 | iicstat &= ~S3C2410_IICSTAT_START; |
230 | writel(iicstat, i2c->regs + S3C2410_IICSTAT); | 229 | writel(iicstat, i2c->regs + S3C2410_IICSTAT); |
231 | 230 | ||
232 | i2c->state = STATE_STOP; | 231 | i2c->state = STATE_STOP; |
233 | 232 | ||
234 | s3c24xx_i2c_master_complete(i2c, ret); | 233 | s3c24xx_i2c_master_complete(i2c, ret); |
235 | s3c24xx_i2c_disable_irq(i2c); | 234 | s3c24xx_i2c_disable_irq(i2c); |
236 | } | 235 | } |
@@ -240,7 +239,7 @@ static inline void s3c24xx_i2c_stop(struct s3c24xx_i2c *i2c, int ret) | |||
240 | 239 | ||
241 | /* is_lastmsg() | 240 | /* is_lastmsg() |
242 | * | 241 | * |
243 | * returns TRUE if the current message is the last in the set | 242 | * returns TRUE if the current message is the last in the set |
244 | */ | 243 | */ |
245 | 244 | ||
246 | static inline int is_lastmsg(struct s3c24xx_i2c *i2c) | 245 | static inline int is_lastmsg(struct s3c24xx_i2c *i2c) |
@@ -288,14 +287,14 @@ static int i2s_s3c_irq_nextbyte(struct s3c24xx_i2c *i2c, unsigned long iicstat) | |||
288 | 287 | ||
289 | case STATE_STOP: | 288 | case STATE_STOP: |
290 | dev_err(i2c->dev, "%s: called in STATE_STOP\n", __func__); | 289 | dev_err(i2c->dev, "%s: called in STATE_STOP\n", __func__); |
291 | s3c24xx_i2c_disable_irq(i2c); | 290 | s3c24xx_i2c_disable_irq(i2c); |
292 | goto out_ack; | 291 | goto out_ack; |
293 | 292 | ||
294 | case STATE_START: | 293 | case STATE_START: |
295 | /* last thing we did was send a start condition on the | 294 | /* last thing we did was send a start condition on the |
296 | * bus, or started a new i2c message | 295 | * bus, or started a new i2c message |
297 | */ | 296 | */ |
298 | 297 | ||
299 | if (iicstat & S3C2410_IICSTAT_LASTBIT && | 298 | if (iicstat & S3C2410_IICSTAT_LASTBIT && |
300 | !(i2c->msg->flags & I2C_M_IGNORE_NAK)) { | 299 | !(i2c->msg->flags & I2C_M_IGNORE_NAK)) { |
301 | /* ack was not received... */ | 300 | /* ack was not received... */ |
@@ -321,7 +320,7 @@ static int i2s_s3c_irq_nextbyte(struct s3c24xx_i2c *i2c, unsigned long iicstat) | |||
321 | if (i2c->state == STATE_READ) | 320 | if (i2c->state == STATE_READ) |
322 | goto prepare_read; | 321 | goto prepare_read; |
323 | 322 | ||
324 | /* fall through to the write state, as we will need to | 323 | /* fall through to the write state, as we will need to |
325 | * send a byte as well */ | 324 | * send a byte as well */ |
326 | 325 | ||
327 | case STATE_WRITE: | 326 | case STATE_WRITE: |
@@ -338,7 +337,7 @@ static int i2s_s3c_irq_nextbyte(struct s3c24xx_i2c *i2c, unsigned long iicstat) | |||
338 | } | 337 | } |
339 | } | 338 | } |
340 | 339 | ||
341 | retry_write: | 340 | retry_write: |
342 | 341 | ||
343 | if (!is_msgend(i2c)) { | 342 | if (!is_msgend(i2c)) { |
344 | byte = i2c->msg->buf[i2c->msg_ptr++]; | 343 | byte = i2c->msg->buf[i2c->msg_ptr++]; |
@@ -358,9 +357,9 @@ static int i2s_s3c_irq_nextbyte(struct s3c24xx_i2c *i2c, unsigned long iicstat) | |||
358 | dev_dbg(i2c->dev, "WRITE: Next Message\n"); | 357 | dev_dbg(i2c->dev, "WRITE: Next Message\n"); |
359 | 358 | ||
360 | i2c->msg_ptr = 0; | 359 | i2c->msg_ptr = 0; |
361 | i2c->msg_idx ++; | 360 | i2c->msg_idx++; |
362 | i2c->msg++; | 361 | i2c->msg++; |
363 | 362 | ||
364 | /* check to see if we need to do another message */ | 363 | /* check to see if we need to do another message */ |
365 | if (i2c->msg->flags & I2C_M_NOSTART) { | 364 | if (i2c->msg->flags & I2C_M_NOSTART) { |
366 | 365 | ||
@@ -374,7 +373,6 @@ static int i2s_s3c_irq_nextbyte(struct s3c24xx_i2c *i2c, unsigned long iicstat) | |||
374 | 373 | ||
375 | goto retry_write; | 374 | goto retry_write; |
376 | } else { | 375 | } else { |
377 | |||
378 | /* send the new start */ | 376 | /* send the new start */ |
379 | s3c24xx_i2c_message_start(i2c, i2c->msg); | 377 | s3c24xx_i2c_message_start(i2c, i2c->msg); |
380 | i2c->state = STATE_START; | 378 | i2c->state = STATE_START; |
@@ -388,7 +386,7 @@ static int i2s_s3c_irq_nextbyte(struct s3c24xx_i2c *i2c, unsigned long iicstat) | |||
388 | break; | 386 | break; |
389 | 387 | ||
390 | case STATE_READ: | 388 | case STATE_READ: |
391 | /* we have a byte of data in the data register, do | 389 | /* we have a byte of data in the data register, do |
392 | * something with it, and then work out wether we are | 390 | * something with it, and then work out wether we are |
393 | * going to do any more read/write | 391 | * going to do any more read/write |
394 | */ | 392 | */ |
@@ -396,13 +394,13 @@ static int i2s_s3c_irq_nextbyte(struct s3c24xx_i2c *i2c, unsigned long iicstat) | |||
396 | byte = readb(i2c->regs + S3C2410_IICDS); | 394 | byte = readb(i2c->regs + S3C2410_IICDS); |
397 | i2c->msg->buf[i2c->msg_ptr++] = byte; | 395 | i2c->msg->buf[i2c->msg_ptr++] = byte; |
398 | 396 | ||
399 | prepare_read: | 397 | prepare_read: |
400 | if (is_msglast(i2c)) { | 398 | if (is_msglast(i2c)) { |
401 | /* last byte of buffer */ | 399 | /* last byte of buffer */ |
402 | 400 | ||
403 | if (is_lastmsg(i2c)) | 401 | if (is_lastmsg(i2c)) |
404 | s3c24xx_i2c_disable_ack(i2c); | 402 | s3c24xx_i2c_disable_ack(i2c); |
405 | 403 | ||
406 | } else if (is_msgend(i2c)) { | 404 | } else if (is_msgend(i2c)) { |
407 | /* ok, we've read the entire buffer, see if there | 405 | /* ok, we've read the entire buffer, see if there |
408 | * is anything else we need to do */ | 406 | * is anything else we need to do */ |
@@ -428,7 +426,7 @@ static int i2s_s3c_irq_nextbyte(struct s3c24xx_i2c *i2c, unsigned long iicstat) | |||
428 | /* acknowlegde the IRQ and get back on with the work */ | 426 | /* acknowlegde the IRQ and get back on with the work */ |
429 | 427 | ||
430 | out_ack: | 428 | out_ack: |
431 | tmp = readl(i2c->regs + S3C2410_IICCON); | 429 | tmp = readl(i2c->regs + S3C2410_IICCON); |
432 | tmp &= ~S3C2410_IICCON_IRQPEND; | 430 | tmp &= ~S3C2410_IICCON_IRQPEND; |
433 | writel(tmp, i2c->regs + S3C2410_IICCON); | 431 | writel(tmp, i2c->regs + S3C2410_IICCON); |
434 | out: | 432 | out: |
@@ -449,19 +447,19 @@ static irqreturn_t s3c24xx_i2c_irq(int irqno, void *dev_id) | |||
449 | status = readl(i2c->regs + S3C2410_IICSTAT); | 447 | status = readl(i2c->regs + S3C2410_IICSTAT); |
450 | 448 | ||
451 | if (status & S3C2410_IICSTAT_ARBITR) { | 449 | if (status & S3C2410_IICSTAT_ARBITR) { |
452 | // deal with arbitration loss | 450 | /* deal with arbitration loss */ |
453 | dev_err(i2c->dev, "deal with arbitration loss\n"); | 451 | dev_err(i2c->dev, "deal with arbitration loss\n"); |
454 | } | 452 | } |
455 | 453 | ||
456 | if (i2c->state == STATE_IDLE) { | 454 | if (i2c->state == STATE_IDLE) { |
457 | dev_dbg(i2c->dev, "IRQ: error i2c->state == IDLE\n"); | 455 | dev_dbg(i2c->dev, "IRQ: error i2c->state == IDLE\n"); |
458 | 456 | ||
459 | tmp = readl(i2c->regs + S3C2410_IICCON); | 457 | tmp = readl(i2c->regs + S3C2410_IICCON); |
460 | tmp &= ~S3C2410_IICCON_IRQPEND; | 458 | tmp &= ~S3C2410_IICCON_IRQPEND; |
461 | writel(tmp, i2c->regs + S3C2410_IICCON); | 459 | writel(tmp, i2c->regs + S3C2410_IICCON); |
462 | goto out; | 460 | goto out; |
463 | } | 461 | } |
464 | 462 | ||
465 | /* pretty much this leaves us with the fact that we've | 463 | /* pretty much this leaves us with the fact that we've |
466 | * transmitted or received whatever byte we last sent */ | 464 | * transmitted or received whatever byte we last sent */ |
467 | 465 | ||
@@ -484,7 +482,7 @@ static int s3c24xx_i2c_set_master(struct s3c24xx_i2c *i2c) | |||
484 | 482 | ||
485 | while (timeout-- > 0) { | 483 | while (timeout-- > 0) { |
486 | iicstat = readl(i2c->regs + S3C2410_IICSTAT); | 484 | iicstat = readl(i2c->regs + S3C2410_IICSTAT); |
487 | 485 | ||
488 | if (!(iicstat & S3C2410_IICSTAT_BUSBUSY)) | 486 | if (!(iicstat & S3C2410_IICSTAT_BUSBUSY)) |
489 | return 0; | 487 | return 0; |
490 | 488 | ||
@@ -502,7 +500,8 @@ static int s3c24xx_i2c_set_master(struct s3c24xx_i2c *i2c) | |||
502 | * this starts an i2c transfer | 500 | * this starts an i2c transfer |
503 | */ | 501 | */ |
504 | 502 | ||
505 | static int s3c24xx_i2c_doxfer(struct s3c24xx_i2c *i2c, struct i2c_msg *msgs, int num) | 503 | static int s3c24xx_i2c_doxfer(struct s3c24xx_i2c *i2c, |
504 | struct i2c_msg *msgs, int num) | ||
506 | { | 505 | { |
507 | unsigned long timeout; | 506 | unsigned long timeout; |
508 | int ret; | 507 | int ret; |
@@ -528,12 +527,12 @@ static int s3c24xx_i2c_doxfer(struct s3c24xx_i2c *i2c, struct i2c_msg *msgs, int | |||
528 | s3c24xx_i2c_enable_irq(i2c); | 527 | s3c24xx_i2c_enable_irq(i2c); |
529 | s3c24xx_i2c_message_start(i2c, msgs); | 528 | s3c24xx_i2c_message_start(i2c, msgs); |
530 | spin_unlock_irq(&i2c->lock); | 529 | spin_unlock_irq(&i2c->lock); |
531 | 530 | ||
532 | timeout = wait_event_timeout(i2c->wait, i2c->msg_num == 0, HZ * 5); | 531 | timeout = wait_event_timeout(i2c->wait, i2c->msg_num == 0, HZ * 5); |
533 | 532 | ||
534 | ret = i2c->msg_idx; | 533 | ret = i2c->msg_idx; |
535 | 534 | ||
536 | /* having these next two as dev_err() makes life very | 535 | /* having these next two as dev_err() makes life very |
537 | * noisy when doing an i2cdetect */ | 536 | * noisy when doing an i2cdetect */ |
538 | 537 | ||
539 | if (timeout == 0) | 538 | if (timeout == 0) |
@@ -642,7 +641,7 @@ static inline int freq_acceptable(unsigned int freq, unsigned int wanted) | |||
642 | { | 641 | { |
643 | int diff = freq - wanted; | 642 | int diff = freq - wanted; |
644 | 643 | ||
645 | return (diff >= -2 && diff <= 2); | 644 | return diff >= -2 && diff <= 2; |
646 | } | 645 | } |
647 | 646 | ||
648 | /* s3c24xx_i2c_clockrate | 647 | /* s3c24xx_i2c_clockrate |
@@ -665,7 +664,7 @@ static int s3c24xx_i2c_clockrate(struct s3c24xx_i2c *i2c, unsigned int *got) | |||
665 | 664 | ||
666 | pdata = s3c24xx_i2c_get_platformdata(i2c->adap.dev.parent); | 665 | pdata = s3c24xx_i2c_get_platformdata(i2c->adap.dev.parent); |
667 | clkin /= 1000; /* clkin now in KHz */ | 666 | clkin /= 1000; /* clkin now in KHz */ |
668 | 667 | ||
669 | dev_dbg(i2c->dev, "pdata %p, freq %lu %lu..%lu\n", | 668 | dev_dbg(i2c->dev, "pdata %p, freq %lu %lu..%lu\n", |
670 | pdata, pdata->bus_freq, pdata->min_freq, pdata->max_freq); | 669 | pdata, pdata->bus_freq, pdata->min_freq, pdata->max_freq); |
671 | 670 | ||
@@ -773,7 +772,7 @@ static inline void s3c24xx_i2c_deregister_cpufreq(struct s3c24xx_i2c *i2c) | |||
773 | 772 | ||
774 | /* s3c24xx_i2c_init | 773 | /* s3c24xx_i2c_init |
775 | * | 774 | * |
776 | * initialise the controller, set the IO lines and frequency | 775 | * initialise the controller, set the IO lines and frequency |
777 | */ | 776 | */ |
778 | 777 | ||
779 | static int s3c24xx_i2c_init(struct s3c24xx_i2c *i2c) | 778 | static int s3c24xx_i2c_init(struct s3c24xx_i2c *i2c) |
@@ -792,7 +791,7 @@ static int s3c24xx_i2c_init(struct s3c24xx_i2c *i2c) | |||
792 | s3c2410_gpio_cfgpin(S3C2410_GPE14, S3C2410_GPE14_IICSCL); | 791 | s3c2410_gpio_cfgpin(S3C2410_GPE14, S3C2410_GPE14_IICSCL); |
793 | 792 | ||
794 | /* write slave address */ | 793 | /* write slave address */ |
795 | 794 | ||
796 | writeb(pdata->slave_addr, i2c->regs + S3C2410_IICADD); | 795 | writeb(pdata->slave_addr, i2c->regs + S3C2410_IICADD); |
797 | 796 | ||
798 | dev_info(i2c->dev, "slave address 0x%02x\n", pdata->slave_addr); | 797 | dev_info(i2c->dev, "slave address 0x%02x\n", pdata->slave_addr); |
@@ -877,7 +876,8 @@ static int s3c24xx_i2c_probe(struct platform_device *pdev) | |||
877 | goto err_ioarea; | 876 | goto err_ioarea; |
878 | } | 877 | } |
879 | 878 | ||
880 | dev_dbg(&pdev->dev, "registers %p (%p, %p)\n", i2c->regs, i2c->ioarea, res); | 879 | dev_dbg(&pdev->dev, "registers %p (%p, %p)\n", |
880 | i2c->regs, i2c->ioarea, res); | ||
881 | 881 | ||
882 | /* setup info block for the i2c core */ | 882 | /* setup info block for the i2c core */ |
883 | 883 | ||
@@ -891,7 +891,7 @@ static int s3c24xx_i2c_probe(struct platform_device *pdev) | |||
891 | goto err_iomap; | 891 | goto err_iomap; |
892 | 892 | ||
893 | /* find the IRQ for this unit (note, this relies on the init call to | 893 | /* find the IRQ for this unit (note, this relies on the init call to |
894 | * ensure no current IRQs pending | 894 | * ensure no current IRQs pending |
895 | */ | 895 | */ |
896 | 896 | ||
897 | res = platform_get_resource(pdev, IORESOURCE_IRQ, 0); | 897 | res = platform_get_resource(pdev, IORESOURCE_IRQ, 0); |
@@ -910,7 +910,7 @@ static int s3c24xx_i2c_probe(struct platform_device *pdev) | |||
910 | } | 910 | } |
911 | 911 | ||
912 | i2c->irq = res; | 912 | i2c->irq = res; |
913 | 913 | ||
914 | dev_dbg(&pdev->dev, "irq resource %p (%lu)\n", res, | 914 | dev_dbg(&pdev->dev, "irq resource %p (%lu)\n", res, |
915 | (unsigned long)res->start); | 915 | (unsigned long)res->start); |
916 | 916 | ||