Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 5c5dd1d2 authored by Shane McDonald's avatar Shane McDonald Committed by Ralf Baechle
Browse files

MIPS: MSP71xx: Remove the RAMROOT functions



The RAMROOT function was a successful but non-portable attempt to append
the root filesystem to the end of the kernel image.  The preferred and
portable solution is to use an initramfs instead.

Signed-off-by: default avatarShane McDonald <mcdonald.shane@gmail.com>
Signed-off-by: default avatarRalf Baechle <ralf@linux-mips.org>
parent 1a4ba061
Loading
Loading
Loading
Loading
+0 −12
Original line number Diff line number Diff line
@@ -36,18 +36,6 @@ config PMC_MSP7120_FPGA

endchoice

menu "Options for PMC-Sierra MSP chipsets"
	depends on PMC_MSP

config PMC_MSP_EMBEDDED_ROOTFS
	bool "Root filesystem embedded in kernel image"
	select MTD
	select MTD_BLOCK
	select MTD_PMC_MSP_RAMROOT
	select MTD_RAM

endmenu

config HYPERTRANSPORT
	bool "Hypertransport Support for PMC-Sierra Yosemite"
	depends on PMC_YOSEMITE
+1 −59
Original line number Diff line number Diff line
@@ -40,12 +40,6 @@
#include <linux/string.h>
#include <linux/interrupt.h>
#include <linux/mm.h>
#ifdef CONFIG_CRAMFS
#include <linux/cramfs_fs.h>
#endif
#ifdef CONFIG_SQUASHFS
#include <linux/squashfs_fs.h>
#endif

#include <asm/addrspace.h>
#include <asm/bootinfo.h>
@@ -435,10 +429,6 @@ struct prom_pmemblock *__init prom_getmdesc(void)
	char		*str;
	unsigned int	memsize;
	unsigned int	heaptop;
#ifdef CONFIG_MTD_PMC_MSP_RAMROOT
	void		*ramroot_start;
	unsigned long	ramroot_size;
#endif
	int i;

	str = prom_getenv(memsz_env);
@@ -506,19 +496,7 @@ struct prom_pmemblock *__init prom_getmdesc(void)
	i++;			/* 3 */
	mdesc[i].type = BOOT_MEM_RESERVED;
	mdesc[i].base = CPHYSADDR((u32)_text);
#ifdef CONFIG_MTD_PMC_MSP_RAMROOT
	if (get_ramroot(&ramroot_start, &ramroot_size)) {
		/*
		 * Rootfs in RAM -- follows kernel
		 * Combine rootfs image with kernel block so a
		 * page (4k) isn't wasted between memory blocks
		 */
		mdesc[i].size = CPHYSADDR(PAGE_ALIGN(
			(u32)ramroot_start + ramroot_size)) - mdesc[i].base;
	} else
#endif
		mdesc[i].size = CPHYSADDR(PAGE_ALIGN(
			(u32)_end)) - mdesc[i].base;
	mdesc[i].size = CPHYSADDR(PAGE_ALIGN((u32)_end)) - mdesc[i].base;

	/* Remainder of RAM -- under memsize */
	i++;			/* 5 */
@@ -528,39 +506,3 @@ struct prom_pmemblock *__init prom_getmdesc(void)

	return &mdesc[0];
}

/* rootfs functions */
#ifdef CONFIG_MTD_PMC_MSP_RAMROOT
bool get_ramroot(void **start, unsigned long *size)
{
	extern char _end[];

	/* Check for start following the end of the kernel */
	void *check_start = (void *)_end;

	/* Check for supported rootfs types */
#ifdef CONFIG_CRAMFS
	if (*(__u32 *)check_start == CRAMFS_MAGIC) {
		/* Get CRAMFS size */
		*start = check_start;
		*size = PAGE_ALIGN(((struct cramfs_super *)
				   check_start)->size);

		return true;
	}
#endif
#ifdef CONFIG_SQUASHFS
	if (*((unsigned int *)check_start) == SQUASHFS_MAGIC) {
		/* Get SQUASHFS size */
		*start = check_start;
		*size = PAGE_ALIGN(((struct squashfs_super_block *)
				   check_start)->bytes_used);

		return true;
	}
#endif

	return false;
}
EXPORT_SYMBOL(get_ramroot);
#endif