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

Commit 9e04099c authored by Linus Torvalds's avatar Linus Torvalds
Browse files

Merge master.kernel.org:/home/rmk/linux-2.6-arm

parents 757e0108 41489493
Loading
Loading
Loading
Loading
+8 −7
Original line number Diff line number Diff line
@@ -89,13 +89,6 @@ SECTIONS
		*(.got)			/* Global offset table		*/
	}

	. = ALIGN(16);
	__ex_table : {			/* Exception table		*/
		__start___ex_table = .;
			*(__ex_table)
		__stop___ex_table = .;
	}

	RODATA

	_etext = .;			/* End of text and rodata section */
@@ -137,6 +130,14 @@ SECTIONS
		. = ALIGN(32);
		*(.data.cacheline_aligned)

		/*
		 * The exception fixup table (might need resorting at runtime)
		 */
		. = ALIGN(32);
		__start___ex_table = .;
		*(__ex_table)
		__stop___ex_table = .;

		/*
		 * and the usual data section
		 */
+15 −5
Original line number Diff line number Diff line
@@ -7,11 +7,17 @@
 */
#include <linux/kernel.h>
#include <linux/init.h>
#include <linux/device.h>

#include <asm/types.h>
#include <asm/irq.h>
#include <asm/mach-types.h>
#include <asm/hardware.h>
#include <asm/page.h>

#include <asm/mach/arch.h>
#include <asm/mach/map.h>
#include <asm/mach/irq.h>

/*
 * IRQ base register
@@ -48,6 +54,12 @@ static void l7200_unmask_irq(unsigned int irq)
	IRQ_ENABLE = 1 << irq;
}

static struct irqchip l7200_irq_chip = {
	.ack		= l7200_mask_irq,
	.mask		= l7200_mask_irq,
	.unmask		= l7200_unmask_irq
};
 
static void __init l7200_init_irq(void)
{
	int irq;
@@ -56,11 +68,9 @@ static void __init l7200_init_irq(void)
	FIQ_ENABLECLEAR = 0xffffffff;	/* clear all fast interrupt enables */

	for (irq = 0; irq < NR_IRQS; irq++) {
		irq_desc[irq].valid	= 1;
		irq_desc[irq].probe_ok	= 1;
		irq_desc[irq].mask_ack	= l7200_mask_irq;
		irq_desc[irq].mask	= l7200_mask_irq;
		irq_desc[irq].unmask	= l7200_unmask_irq;
		set_irq_chip(irq, &l7200_irq_chip);
		set_irq_flags(irq, IRQF_VALID);
		set_irq_handler(irq, do_level_IRQ);
	}

	init_FIQ();
+19 −1
Original line number Diff line number Diff line
@@ -467,6 +467,7 @@ void corgi_put_hsync(void)
{
	if (get_hsync_time)
		symbol_put(w100fb_get_hsynclen);
	get_hsync_time = NULL;
}

void corgi_wait_hsync(void)
@@ -476,20 +477,37 @@ void corgi_wait_hsync(void)
#endif

#ifdef CONFIG_PXA_SHARP_Cxx00
static struct device *spitz_pxafb_dev;

static int is_pxafb_device(struct device * dev, void * data)
{
	struct platform_device *pdev = container_of(dev, struct platform_device, dev);

	return (strncmp(pdev->name, "pxa2xx-fb", 9) == 0);
}

unsigned long spitz_get_hsync_len(void)
{
	if (!spitz_pxafb_dev) {
		spitz_pxafb_dev = bus_find_device(&platform_bus_type, NULL, NULL, is_pxafb_device);
		if (!spitz_pxafb_dev)
			return 0;
	}
	if (!get_hsync_time)
		get_hsync_time = symbol_get(pxafb_get_hsync_time);
	if (!get_hsync_time)
		return 0;

	return pxafb_get_hsync_time(&pxafb_device.dev);
	return pxafb_get_hsync_time(spitz_pxafb_dev);
}

void spitz_put_hsync(void)
{
	put_device(spitz_pxafb_dev);
	if (get_hsync_time)
		symbol_put(pxafb_get_hsync_time);
	spitz_pxafb_dev = NULL;
	get_hsync_time = NULL;
}

void spitz_wait_hsync(void)
+5 −0
Original line number Diff line number Diff line
@@ -208,6 +208,11 @@ static struct platform_device pxafb_device = {
	.resource	= pxafb_resources,
};

void __init set_pxa_fb_parent(struct device *parent_dev)
{
	pxafb_device.dev.parent = parent_dev;
}

static struct platform_device ffuart_device = {
	.name		= "pxa2xx-uart",
	.id		= 0,
+1 −3
Original line number Diff line number Diff line
@@ -36,7 +36,6 @@
#include <asm/arch/irq.h>
#include <asm/arch/mmc.h>
#include <asm/arch/udc.h>
#include <asm/arch/ohci.h>
#include <asm/arch/pxafb.h>
#include <asm/arch/akita.h>
#include <asm/arch/spitz.h>
@@ -304,7 +303,6 @@ static struct platform_device *devices[] __initdata = {
	&spitzkbd_device,
	&spitzts_device,
	&spitzbl_device,
	&spitzbattery_device,
};

static void __init common_init(void)
@@ -328,7 +326,7 @@ static void __init common_init(void)

	platform_add_devices(devices, ARRAY_SIZE(devices));
	pxa_set_mci_info(&spitz_mci_platform_data);
	pxafb_device.dev.parent = &spitzssp_device.dev;
	set_pxa_fb_parent(&spitzssp_device.dev);
	set_pxa_fb_info(&spitz_pxafb_info);
}

Loading