ar7: backport small fixes from linux-mips
[oweals/openwrt.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);