Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 190191
b: refs/heads/master
c: a88a2b8
h: refs/heads/master
i:
  190189: 26c4009
  190187: 8a7f0d0
  190183: 1199380
  190175: 646b84b
v: v3
  • Loading branch information
Paulius Zaleckas authored and Linus Torvalds committed Apr 24, 2010
1 parent 3b4ca04 commit a18ae87
Show file tree
Hide file tree
Showing 2 changed files with 8 additions and 2 deletions.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: e59464c735db19619cde2aa331609adb02005f5b
refs/heads/master: a88a2b886404b1cfc109125b1cba4775e8682955
8 changes: 7 additions & 1 deletion trunk/drivers/mtd/nand/orion_nand.c
Original file line number Diff line number Diff line change
Expand Up @@ -60,7 +60,13 @@ static void orion_nand_read_buf(struct mtd_info *mtd, uint8_t *buf, int len)
}
buf64 = (uint64_t *)buf;
while (i < len/8) {
uint64_t x;
/*
* Since GCC has no proper constraint (PR 43518)
* force x variable to r2/r3 registers as ldrd instruction
* requires first register to be even.
*/
register uint64_t x asm ("r2");

asm volatile ("ldrd\t%0, [%1]" : "=&r" (x) : "r" (io_base));
buf64[i++] = x;
}
Expand Down

0 comments on commit a18ae87

Please sign in to comment.