Merge git://git.kernel.org/pub/scm/linux/kernel/git/arjan/linux-2.6-async-for-30
authorLinus Torvalds <torvalds@linux-foundation.org>
Sat, 28 Mar 2009 21:00:33 +0000 (14:00 -0700)
committerLinus Torvalds <torvalds@linux-foundation.org>
Sat, 28 Mar 2009 21:00:33 +0000 (14:00 -0700)
* git://git.kernel.org/pub/scm/linux/kernel/git/arjan/linux-2.6-async-for-30:
  fastboot: remove duplicate unpack_to_rootfs()
  ide/net: flip the order of SATA and network init
  async: remove the temporary (2.6.29) "async is off by default" code

Fix up conflicts in init/initramfs.c manually

1  2 
init/initramfs.c

@@@ -410,21 -401,77 +403,20 @@@ static int __init flush_buffer(void *bu
                } else
                        error("junk in compressed archive");
        }
 +      return origLen;
  }
  
 -/*
 - * gzip declarations
 - */
 -
 -#define OF(args)  args
 -
 -#ifndef memzero
 -#define memzero(s, n)     memset ((s), 0, (n))
 -#endif
 -
 -typedef unsigned char  uch;
 -typedef unsigned short ush;
 -typedef unsigned long  ulg;
 -
 -#define WSIZE 0x8000    /* window size--must be a power of two, and */
 -                      /*  at least 32K for zip's deflate method */
 -
 -static uch *inbuf;
 -static uch *window;
 -
 -static unsigned insize;  /* valid bytes in inbuf */
 -static unsigned inptr;   /* index of next byte to be processed in inbuf */
 -static unsigned outcnt;  /* bytes in output buffer */
 -static long bytes_out;
 -
 -#define get_byte()  (inptr < insize ? inbuf[inptr++] : -1)
 -              
 -/* Diagnostic functions (stubbed out) */
 -#define Assert(cond,msg)
 -#define Trace(x)
 -#define Tracev(x)
 -#define Tracevv(x)
 -#define Tracec(c,x)
 -#define Tracecv(c,x)
 -
 -#define STATIC static
 -#define INIT __init
 -
 -static void __init flush_window(void);
 -static void __init error(char *m);
 -
 -#define NO_INFLATE_MALLOC
 +static unsigned my_inptr;   /* index of next byte to be processed in inbuf */
  
 -#include "../lib/inflate.c"
 -
 -/* ===========================================================================
 - * Write the output window window[0..outcnt-1] and update crc and bytes_out.
 - * (Used for the decompressed data only.)
 - */
 -static void __init flush_window(void)
 -{
 -      ulg c = crc;         /* temporary variable */
 -      unsigned n;
 -      uch *in, ch;
 -
 -      flush_buffer(window, outcnt);
 -      in = window;
 -      for (n = 0; n < outcnt; n++) {
 -              ch = *in++;
 -              c = crc_32_tab[((int)c ^ ch) & 0xff] ^ (c >> 8);
 -      }
 -      crc = c;
 -      bytes_out += (ulg)outcnt;
 -      outcnt = 0;
 -}
 +#include <linux/decompress/generic.h>
  
- static char * __init unpack_to_rootfs(char *buf, unsigned len, int check_only)
+ static char * __init unpack_to_rootfs(char *buf, unsigned len)
  {
        int written;
-       dry_run = check_only;
 +      decompress_fn decompress;
 +      const char *compress_name;
 +      static __initdata char msg_buf[64];
 +
        header_buf = kmalloc(110, GFP_KERNEL);
        symlink_buf = kmalloc(PATH_MAX + N_ALIGN(PATH_MAX) + 1, GFP_KERNEL);
        name_buf = kmalloc(N_ALIGN(PATH_MAX), GFP_KERNEL);
@@@ -526,9 -616,9 +565,9 @@@ static void __init clean_rootfs(void
  static int __init populate_rootfs(void)
  {
        char *err = unpack_to_rootfs(__initramfs_start,
-                        __initramfs_end - __initramfs_start, 0);
+                        __initramfs_end - __initramfs_start);
        if (err)
 -              panic(err);
 +              panic(err);     /* Failed to decompress INTERNAL initramfs */
        if (initrd_start) {
  #ifdef CONFIG_BLK_DEV_RAM
                int fd;
  #else
                printk(KERN_INFO "Unpacking initramfs...");
                err = unpack_to_rootfs((char *)initrd_start,
-                       initrd_end - initrd_start, 0);
+                       initrd_end - initrd_start);
 -              if (err)
 -                      panic(err);
 -              printk(" done\n");
 +              if (err) {
 +                      printk(" failed!\n");
 +                      printk(KERN_EMERG "%s\n", err);
 +              } else {
 +                      printk(" done\n");
 +              }
                free_initrd();
  #endif
        }