Commit 0daede8
i2c: designware: Convert driver to using regmap API
Seeing the DW I2C driver is using flags-based accessors with two
conditional clauses it would be better to replace them with the regmap
API IO methods and to initialize the regmap object with read/write
callbacks specific to the controller registers map implementation. This
will be also handy for the drivers with non-standard registers mapping
(like an embedded into the Baikal-T1 System Controller DW I2C block, which
glue-driver is a part of this series).
As before the driver tries to detect the mapping setup at probe stage and
creates a regmap object accordingly, which will be used by the rest of the
code to correctly access the controller registers. In two places it was
appropriate to convert the hand-written read-modify-write and
read-poll-loop design patterns to the corresponding regmap API
ready-to-use methods.
Note the regmap IO methods return value is checked only at the probe
stage. The rest of the code won't do this because basically we have
MMIO-based regmap so non of the read/write methods can fail (this also
won't be needed for the Baikal-T1-specific I2C controller).
Suggested-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Signed-off-by: Serge Semin <Sergey.Semin@baikalelectronics.ru>
Tested-by: Jarkko Nikula <jarkko.nikula@linux.intel.com>
Acked-by: Jarkko Nikula <jarkko.nikula@linux.intel.com>
Reviewed-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
[wsa: fix type of 'rx_valid' and remove outdated kdoc var description]
Signed-off-by: Wolfram Sang <wsa@kernel.org>1 parent c615f5c commit 0daede8
5 files changed
Lines changed: 248 additions & 156 deletions
File tree
- drivers/i2c/busses
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
526 | 526 | | |
527 | 527 | | |
528 | 528 | | |
| 529 | + | |
529 | 530 | | |
530 | 531 | | |
531 | 532 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
21 | 21 | | |
22 | 22 | | |
23 | 23 | | |
| 24 | + | |
24 | 25 | | |
25 | 26 | | |
26 | 27 | | |
| |||
57 | 58 | | |
58 | 59 | | |
59 | 60 | | |
60 | | - | |
| 61 | + | |
61 | 62 | | |
62 | | - | |
| 63 | + | |
63 | 64 | | |
64 | | - | |
65 | | - | |
66 | | - | |
67 | | - | |
68 | | - | |
| 65 | + | |
69 | 66 | | |
70 | | - | |
71 | | - | |
72 | | - | |
73 | | - | |
| 67 | + | |
74 | 68 | | |
75 | 69 | | |
76 | | - | |
| 70 | + | |
77 | 71 | | |
78 | | - | |
79 | | - | |
80 | | - | |
81 | | - | |
82 | | - | |
83 | | - | |
84 | | - | |
85 | | - | |
86 | | - | |
| 72 | + | |
| 73 | + | |
| 74 | + | |
| 75 | + | |
| 76 | + | |
| 77 | + | |
| 78 | + | |
| 79 | + | |
| 80 | + | |
| 81 | + | |
| 82 | + | |
| 83 | + | |
| 84 | + | |
| 85 | + | |
| 86 | + | |
| 87 | + | |
| 88 | + | |
| 89 | + | |
| 90 | + | |
| 91 | + | |
| 92 | + | |
| 93 | + | |
| 94 | + | |
| 95 | + | |
| 96 | + | |
| 97 | + | |
| 98 | + | |
| 99 | + | |
| 100 | + | |
| 101 | + | |
| 102 | + | |
| 103 | + | |
| 104 | + | |
| 105 | + | |
| 106 | + | |
| 107 | + | |
| 108 | + | |
| 109 | + | |
| 110 | + | |
| 111 | + | |
| 112 | + | |
| 113 | + | |
| 114 | + | |
87 | 115 | | |
88 | 116 | | |
89 | 117 | | |
90 | | - | |
| 118 | + | |
91 | 119 | | |
92 | 120 | | |
93 | | - | |
94 | | - | |
| 121 | + | |
| 122 | + | |
| 123 | + | |
95 | 124 | | |
96 | | - | |
| 125 | + | |
97 | 126 | | |
| 127 | + | |
| 128 | + | |
| 129 | + | |
| 130 | + | |
| 131 | + | |
| 132 | + | |
| 133 | + | |
| 134 | + | |
| 135 | + | |
98 | 136 | | |
99 | 137 | | |
100 | 138 | | |
| 139 | + | |
| 140 | + | |
| 141 | + | |
| 142 | + | |
| 143 | + | |
| 144 | + | |
| 145 | + | |
101 | 146 | | |
102 | 147 | | |
103 | 148 | | |
104 | 149 | | |
105 | | - | |
| 150 | + | |
106 | 151 | | |
107 | 152 | | |
108 | 153 | | |
109 | | - | |
110 | | - | |
| 154 | + | |
| 155 | + | |
111 | 156 | | |
112 | | - | |
113 | | - | |
| 157 | + | |
| 158 | + | |
114 | 159 | | |
115 | 160 | | |
116 | 161 | | |
117 | 162 | | |
118 | 163 | | |
119 | 164 | | |
| 165 | + | |
| 166 | + | |
| 167 | + | |
| 168 | + | |
| 169 | + | |
| 170 | + | |
| 171 | + | |
| 172 | + | |
| 173 | + | |
| 174 | + | |
| 175 | + | |
| 176 | + | |
120 | 177 | | |
121 | 178 | | |
122 | 179 | | |
| |||
327 | 384 | | |
328 | 385 | | |
329 | 386 | | |
330 | | - | |
| 387 | + | |
| 388 | + | |
| 389 | + | |
| 390 | + | |
331 | 391 | | |
332 | 392 | | |
333 | 393 | | |
334 | | - | |
| 394 | + | |
| 395 | + | |
| 396 | + | |
| 397 | + | |
335 | 398 | | |
336 | 399 | | |
337 | 400 | | |
| |||
355 | 418 | | |
356 | 419 | | |
357 | 420 | | |
| 421 | + | |
358 | 422 | | |
359 | 423 | | |
360 | | - | |
| 424 | + | |
361 | 425 | | |
362 | 426 | | |
363 | 427 | | |
364 | 428 | | |
365 | 429 | | |
| 430 | + | |
366 | 431 | | |
367 | 432 | | |
368 | 433 | | |
369 | 434 | | |
370 | 435 | | |
371 | 436 | | |
372 | 437 | | |
373 | | - | |
| 438 | + | |
| 439 | + | |
374 | 440 | | |
375 | 441 | | |
376 | 442 | | |
| |||
449 | 515 | | |
450 | 516 | | |
451 | 517 | | |
452 | | - | |
| 518 | + | |
| 519 | + | |
453 | 520 | | |
454 | | - | |
455 | | - | |
456 | | - | |
457 | | - | |
| 521 | + | |
| 522 | + | |
| 523 | + | |
| 524 | + | |
| 525 | + | |
458 | 526 | | |
459 | | - | |
460 | | - | |
461 | | - | |
462 | | - | |
463 | | - | |
464 | | - | |
| 527 | + | |
| 528 | + | |
| 529 | + | |
| 530 | + | |
| 531 | + | |
465 | 532 | | |
466 | 533 | | |
467 | | - | |
| 534 | + | |
468 | 535 | | |
469 | 536 | | |
470 | 537 | | |
| |||
490 | 557 | | |
491 | 558 | | |
492 | 559 | | |
493 | | - | |
| 560 | + | |
494 | 561 | | |
495 | 562 | | |
| 563 | + | |
496 | 564 | | |
497 | 565 | | |
498 | 566 | | |
499 | 567 | | |
500 | 568 | | |
501 | | - | |
| 569 | + | |
| 570 | + | |
| 571 | + | |
| 572 | + | |
502 | 573 | | |
503 | 574 | | |
504 | 575 | | |
| |||
510 | 581 | | |
511 | 582 | | |
512 | 583 | | |
| 584 | + | |
| 585 | + | |
513 | 586 | | |
514 | 587 | | |
515 | 588 | | |
| |||
521 | 594 | | |
522 | 595 | | |
523 | 596 | | |
| 597 | + | |
| 598 | + | |
524 | 599 | | |
525 | 600 | | |
526 | 601 | | |
527 | 602 | | |
528 | | - | |
529 | | - | |
| 603 | + | |
| 604 | + | |
530 | 605 | | |
531 | 606 | | |
532 | 607 | | |
533 | 608 | | |
534 | | - | |
| 609 | + | |
535 | 610 | | |
536 | 611 | | |
537 | 612 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
15 | 15 | | |
16 | 16 | | |
17 | 17 | | |
| 18 | + | |
18 | 19 | | |
19 | 20 | | |
20 | 21 | | |
| |||
126 | 127 | | |
127 | 128 | | |
128 | 129 | | |
129 | | - | |
130 | | - | |
131 | 130 | | |
132 | 131 | | |
133 | 132 | | |
| |||
183 | 182 | | |
184 | 183 | | |
185 | 184 | | |
| 185 | + | |
186 | 186 | | |
| 187 | + | |
187 | 188 | | |
188 | 189 | | |
189 | 190 | | |
| |||
233 | 234 | | |
234 | 235 | | |
235 | 236 | | |
| 237 | + | |
236 | 238 | | |
237 | 239 | | |
238 | 240 | | |
| |||
284 | 286 | | |
285 | 287 | | |
286 | 288 | | |
287 | | - | |
288 | | - | |
289 | | - | |
290 | | - | |
| 289 | + | |
| 290 | + | |
291 | 291 | | |
292 | 292 | | |
293 | 293 | | |
294 | 294 | | |
295 | | - | |
296 | | - | |
297 | | - | |
| 295 | + | |
298 | 296 | | |
299 | 297 | | |
300 | 298 | | |
| |||
304 | 302 | | |
305 | 303 | | |
306 | 304 | | |
307 | | - | |
| 305 | + | |
308 | 306 | | |
309 | 307 | | |
310 | 308 | | |
311 | 309 | | |
312 | 310 | | |
313 | 311 | | |
314 | | - | |
| 312 | + | |
315 | 313 | | |
316 | 314 | | |
317 | 315 | | |
318 | 316 | | |
319 | | - | |
| 317 | + | |
320 | 318 | | |
321 | 319 | | |
322 | 320 | | |
| |||
0 commit comments