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

Commit 87affd0b authored by Linus Torvalds's avatar Linus Torvalds
Browse files

Merge branch 'x86-mrst-for-linus' of...

Merge branch 'x86-mrst-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip

* 'x86-mrst-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:
  x86: sfi: Make local functions static
  x86, earlyprintk: Add hsu early console for Intel Medfield platform
  x86, earlyprintk: Add earlyprintk for Intel Moorestown platform
  x86: Add two helper macros for fixed address mapping
  x86, mrst: A function in a header file needs to be marked "inline"
parents c3b86a29 940b3c7b
Loading
Loading
Loading
Loading
+4 −0
Original line number Diff line number Diff line
@@ -43,6 +43,10 @@ config EARLY_PRINTK
	  with klogd/syslogd or the X server. You should normally N here,
	  unless you want to debug such a crash.

config EARLY_PRINTK_MRST
	bool "Early printk for MRST platform support"
	depends on EARLY_PRINTK && X86_MRST

config EARLY_PRINTK_DBGP
	bool "Early printk via EHCI debug port"
	depends on EARLY_PRINTK && PCI
+15 −0
Original line number Diff line number Diff line
@@ -214,5 +214,20 @@ static inline unsigned long virt_to_fix(const unsigned long vaddr)
	BUG_ON(vaddr >= FIXADDR_TOP || vaddr < FIXADDR_START);
	return __virt_to_fix(vaddr);
}

/* Return an pointer with offset calculated */
static inline unsigned long __set_fixmap_offset(enum fixed_addresses idx,
				phys_addr_t phys, pgprot_t flags)
{
	__set_fixmap(idx, phys, flags);
	return fix_to_virt(idx) + (phys & (PAGE_SIZE - 1));
}

#define set_fixmap_offset(idx, phys)			\
	__set_fixmap_offset(idx, phys, PAGE_KERNEL)

#define set_fixmap_offset_nocache(idx, phys)			\
	__set_fixmap_offset(idx, phys, PAGE_KERNEL_NOCACHE)

#endif /* !__ASSEMBLY__ */
#endif /* _ASM_X86_FIXMAP_H */
+9 −1
Original line number Diff line number Diff line
@@ -10,6 +10,9 @@
 */
#ifndef _ASM_X86_MRST_H
#define _ASM_X86_MRST_H

#include <linux/sfi.h>

extern int pci_mrst_init(void);
int __init sfi_parse_mrtc(struct sfi_table_header *table);

@@ -26,7 +29,7 @@ enum mrst_cpu_type {
};

extern enum mrst_cpu_type __mrst_cpu_chip;
static enum mrst_cpu_type mrst_identify_cpu(void)
static inline enum mrst_cpu_type mrst_identify_cpu(void)
{
	return __mrst_cpu_chip;
}
@@ -42,4 +45,9 @@ extern enum mrst_timer_options mrst_timer_options;
#define SFI_MTMR_MAX_NUM 8
#define SFI_MRTC_MAX	8

extern struct console early_mrst_console;
extern void mrst_early_console_init(void);

extern struct console early_hsu_console;
extern void hsu_early_console_init(void);
#endif /* _ASM_X86_MRST_H */
+1 −0
Original line number Diff line number Diff line
@@ -86,6 +86,7 @@ obj-$(CONFIG_DOUBLEFAULT) += doublefault_32.o
obj-$(CONFIG_KGDB)		+= kgdb.o
obj-$(CONFIG_VM86)		+= vm86_32.o
obj-$(CONFIG_EARLY_PRINTK)	+= early_printk.o
obj-$(CONFIG_EARLY_PRINTK_MRST)	+= early_printk_mrst.o

obj-$(CONFIG_HPET_TIMER) 	+= hpet.o
obj-$(CONFIG_APB_TIMER)		+= apb_timer.o
+13 −0
Original line number Diff line number Diff line
@@ -14,6 +14,7 @@
#include <xen/hvc-console.h>
#include <asm/pci-direct.h>
#include <asm/fixmap.h>
#include <asm/mrst.h>
#include <asm/pgtable.h>
#include <linux/usb/ehci_def.h>

@@ -238,6 +239,18 @@ static int __init setup_early_printk(char *buf)
#ifdef CONFIG_HVC_XEN
		if (!strncmp(buf, "xen", 3))
			early_console_register(&xenboot_console, keep);
#endif
#ifdef CONFIG_X86_MRST_EARLY_PRINTK
		if (!strncmp(buf, "mrst", 4)) {
			mrst_early_console_init();
			early_console_register(&early_mrst_console, keep);
		}

		if (!strncmp(buf, "hsu", 3)) {
			hsu_early_console_init();
			early_console_register(&early_hsu_console, keep);
		}

#endif
		buf++;
	}
Loading