ar7: backport small fixes from linux-mips
[openwrt/staging/yousong.git] / target / linux / ar7 / patches-2.6.25 / 200-mtd_fixes.patch
1 --- linux/drivers/mtd/ar7part.c 2007-09-20 21:47:22.000000000 +0200
2 +++ linux-mips/drivers/mtd/ar7part.c 2008-05-04 18:49:04.000000000 +0200
3 @@ -1,5 +1,5 @@
4 /*
5 - * Copyright (C) 2007 Eugene Konev <ejka@openwrt.org>
6 + * Copyright © 2007 Eugene Konev <ejka@openwrt.org>
7 *
8 * This program is free software; you can redistribute it and/or modify
9 * it under the terms of the GNU General Public License as published by
10 @@ -34,6 +34,10 @@
11 #define LOADER_MAGIC1 le32_to_cpu(0xfeedfa42)
12 #define LOADER_MAGIC2 le32_to_cpu(0xfeed1281)
13
14 +#ifndef SQUASHFS_MAGIC
15 +#define SQUASHFS_MAGIC 0x73717368
16 +#endif
17 +
18 struct ar7_bin_rec {
19 unsigned int checksum;
20 unsigned int length;
21 @@ -47,7 +51,8 @@
22 unsigned long origin)
23 {
24 struct ar7_bin_rec header;
25 - unsigned int offset, len;
26 + unsigned int offset;
27 + size_t len;
28 unsigned int pre_size = master->erasesize, post_size = 0;
29 unsigned int root_offset = ROOT_OFFSET;
30
31 @@ -66,7 +71,7 @@
32 do { /* Try 10 blocks starting from master->erasesize */
33 offset = pre_size;
34 master->read(master, offset,
35 - sizeof(header), &len, (u8 *)&header);
36 + sizeof(header), &len, (uint8_t *)&header);
37 if (!strncmp((char *)&header, "TIENV0.8", 8))
38 ar7_parts[1].offset = pre_size;
39 if (header.checksum == LOADER_MAGIC1)
40 @@ -88,7 +93,7 @@
41 while (header.length) {
42 offset += sizeof(header) + header.length;
43 master->read(master, offset, sizeof(header),
44 - &len, (u8 *)&header);
45 + &len, (uint8_t *)&header);
46 }
47 root_offset = offset + sizeof(header) + 4;
48 break;
49 @@ -96,10 +101,10 @@
50 while (header.length) {
51 offset += sizeof(header) + header.length;
52 master->read(master, offset, sizeof(header),
53 - &len, (u8 *)&header);
54 + &len, (uint8_t *)&header);
55 }
56 root_offset = offset + sizeof(header) + 4 + 0xff;
57 - root_offset &= ~(u32)0xff;
58 + root_offset &= ~(uint32_t)0xff;
59 break;
60 default:
61 printk(KERN_WARNING "Unknown magic: %08x\n", header.checksum);