Rev 4246 | Rev 5354 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 4246 | Rev 5060 | ||
---|---|---|---|
Line 189... | Line 189... | ||
189 | 189 | ||
190 | return nelems; |
190 | return nelems; |
Line 191... | Line -... | ||
191 | } |
- | |
192 | - | ||
193 | - | ||
194 | int vscnprintf(char *buf, size_t size, const char *fmt, va_list args) |
- | |
195 | { |
- | |
196 | int i; |
- | |
197 | - | ||
198 | i = vsnprintf(buf, size, fmt, args); |
- | |
199 | - | ||
200 | if (likely(i < size)) |
- | |
201 | return i; |
- | |
202 | if (size != 0) |
- | |
203 | return size - 1; |
- | |
204 | return 0; |
- | |
205 | } |
- | |
206 | - | ||
207 | - | ||
208 | int scnprintf(char *buf, size_t size, const char *fmt, ...) |
- | |
209 | { |
- | |
210 | va_list args; |
- | |
211 | int i; |
- | |
212 | - | ||
213 | va_start(args, fmt); |
- | |
214 | i = vscnprintf(buf, size, fmt, args); |
- | |
215 | va_end(args); |
- | |
216 | - | ||
217 | return i; |
- | |
Line 218... | Line 191... | ||
218 | } |
191 | } |
219 | 192 | ||
220 | 193 | ||
221 | 194 | ||
Line 503... | Line 476... | ||
503 | memcpy(p, src, len); |
476 | memcpy(p, src, len); |
504 | return p; |
477 | return p; |
505 | }>>>>>=>>>>>><>>>=>=>=0x7f) |
478 | } |
Line -... | Line 479... | ||
- | 479 | ||
- | 480 | ||
- | 481 | ||
- | 482 | void *kmap(struct page *page) |
|
- | 483 | { |
|
- | 484 | void *vaddr; |
|
- | 485 | ||
- | 486 | vaddr = (void*)MapIoMem(page_to_phys(page), 4096, PG_SW); |
|
- | 487 | ||
- | 488 | return vaddr; |
|
- | 489 | } |
|
- | 490 | ||
- | 491 | unsigned long find_first_zero_bit(const unsigned long *addr, unsigned long size) |
|
- | 492 | { |
|
- | 493 | const unsigned long *p = addr; |
|
- | 494 | unsigned long result = 0; |
|
- | 495 | unsigned long tmp; |
|
- | 496 | ||
- | 497 | while (size & ~(BITS_PER_LONG-1)) { |
|
- | 498 | if (~(tmp = *(p++))) |
|
- | 499 | goto found; |
|
- | 500 | result += BITS_PER_LONG; |
|
- | 501 | size -= BITS_PER_LONG; |
|
- | 502 | } |
|
- | 503 | if (!size) |
|
- | 504 | return result; |
|
- | 505 | ||
- | 506 | tmp = (*p) | (~0UL << size); |
|
- | 507 | if (tmp == ~0UL) /* Are any bits zero? */ |
|
- | 508 | return result + size; /* Nope. */ |
|
- | 509 | found: |
|
- | 510 | return result + ffz(tmp); |