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

Commit 82b76906 authored by Linus Torvalds's avatar Linus Torvalds
Browse files
Pull arch/tile fixes from Chris Metcalf:
 "One change fixes a platform-independent bug about environment var
  handling in the boot command line.  The other is a trivial
  tile-specific bug fix to avoid a link-time warning."

* 'stable' of git://git.kernel.org/pub/scm/linux/kernel/git/cmetcalf/linux-tile:
  arch/tile: fix a couple of functions that should be __init
  init: fix bug where environment vars can't be passed via boot args
parents ebcf596d 05ef1b79
Loading
Loading
Loading
Loading
+2 −2
Original line number Original line Diff line number Diff line
@@ -47,8 +47,8 @@ struct pci_controller {
 */
 */
#define PCI_DMA_BUS_IS_PHYS     1
#define PCI_DMA_BUS_IS_PHYS     1


int __devinit tile_pci_init(void);
int __init tile_pci_init(void);
int __devinit pcibios_init(void);
int __init pcibios_init(void);


static inline void pci_iounmap(struct pci_dev *dev, void __iomem *addr) {}
static inline void pci_iounmap(struct pci_dev *dev, void __iomem *addr) {}


+2 −2
Original line number Original line Diff line number Diff line
@@ -141,7 +141,7 @@ static int __devinit tile_init_irqs(int controller_id,
 *
 *
 * Returns the number of controllers discovered.
 * Returns the number of controllers discovered.
 */
 */
int __devinit tile_pci_init(void)
int __init tile_pci_init(void)
{
{
	int i;
	int i;


@@ -287,7 +287,7 @@ static void __devinit fixup_read_and_payload_sizes(void)
 * The controllers have been set up by the time we get here, by a call to
 * The controllers have been set up by the time we get here, by a call to
 * tile_pci_init.
 * tile_pci_init.
 */
 */
int __devinit pcibios_init(void)
int __init pcibios_init(void)
{
{
	int i;
	int i;


+13 −12
Original line number Original line Diff line number Diff line
@@ -225,13 +225,9 @@ static int __init loglevel(char *str)


early_param("loglevel", loglevel);
early_param("loglevel", loglevel);


/*
 * Unknown boot options get handed to init, unless they look like
 * unused parameters (modprobe will find them in /proc/cmdline).
 */
static int __init unknown_bootoption(char *param, char *val)
{
/* Change NUL term back to "=", to make "param" the whole string. */
/* Change NUL term back to "=", to make "param" the whole string. */
static int __init repair_env_string(char *param, char *val)
{
	if (val) {
	if (val) {
		/* param=val or param="val"? */
		/* param=val or param="val"? */
		if (val == param+strlen(param)+1)
		if (val == param+strlen(param)+1)
@@ -243,6 +239,16 @@ static int __init unknown_bootoption(char *param, char *val)
		} else
		} else
			BUG();
			BUG();
	}
	}
	return 0;
}

/*
 * Unknown boot options get handed to init, unless they look like
 * unused parameters (modprobe will find them in /proc/cmdline).
 */
static int __init unknown_bootoption(char *param, char *val)
{
	repair_env_string(param, val);


	/* Handle obsolete-style parameters */
	/* Handle obsolete-style parameters */
	if (obsolete_checksetup(param))
	if (obsolete_checksetup(param))
@@ -732,11 +738,6 @@ static char *initcall_level_names[] __initdata = {
	"late parameters",
	"late parameters",
};
};


static int __init ignore_unknown_bootoption(char *param, char *val)
{
	return 0;
}

static void __init do_initcall_level(int level)
static void __init do_initcall_level(int level)
{
{
	extern const struct kernel_param __start___param[], __stop___param[];
	extern const struct kernel_param __start___param[], __stop___param[];
@@ -747,7 +748,7 @@ static void __init do_initcall_level(int level)
		   static_command_line, __start___param,
		   static_command_line, __start___param,
		   __stop___param - __start___param,
		   __stop___param - __start___param,
		   level, level,
		   level, level,
		   ignore_unknown_bootoption);
		   repair_env_string);


	for (fn = initcall_levels[level]; fn < initcall_levels[level+1]; fn++)
	for (fn = initcall_levels[level]; fn < initcall_levels[level+1]; fn++)
		do_one_initcall(*fn);
		do_one_initcall(*fn);