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

Commit a22c50c3 authored by Linus Torvalds's avatar Linus Torvalds
Browse files

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

* master.kernel.org:/home/rmk/linux-2.6-arm:
  [ARM] 5212/1: pxa: fix build error when CPU_PXA310 is not defined
  [ARM] 5208/1: fsg-setup.c fixes
  [ARM] fix impd1.c build warning
  [ARM] e400 config use MFP
  [ARM] e740 config use MFP
  [ARM] Fix eseries IRQ limit
  [ARM] clocklib: Update users of aliases to new API
  [ARM] clocklib: Allow dynamic alias creation
  [ARM] eseries: whitespace fixes and cleanup
parents 61311e1b 55d8460c
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -405,7 +405,7 @@ static int impd1_probe(struct lm_device *dev)

		ret = amba_device_register(d, &dev->resource);
		if (ret) {
			dev_err(&d->dev, "unable to register device: %d\n");
			dev_err(&d->dev, "unable to register device: %d\n", ret);
			kfree(d);
		}
	}
+2 −2
Original line number Diff line number Diff line
@@ -64,7 +64,7 @@ static struct platform_device fsg_i2c_gpio = {

static struct i2c_board_info __initdata fsg_i2c_board_info [] = {
	{
		I2C_BOARD_INFO("rtc-isl1208", 0x6f),
		I2C_BOARD_INFO("isl1208", 0x6f),
	},
};

@@ -179,7 +179,6 @@ static void __init fsg_init(void)
{
	DECLARE_MAC_BUF(mac_buf);
	uint8_t __iomem *f;
	int i;

	ixp4xx_sys_init();

@@ -228,6 +227,7 @@ static void __init fsg_init(void)
	f = ioremap(IXP4XX_EXP_BUS_BASE(0), 0x400000);
	if (f) {
#ifdef __ARMEB__
		int i;
		for (i = 0; i < 6; i++) {
			fsg_plat_eth[0].hwaddr[i] = readb(f + 0x3C0422 + i);
			fsg_plat_eth[1].hwaddr[i] = readb(f + 0x3C043B + i);
+25 −0
Original line number Diff line number Diff line
@@ -125,3 +125,28 @@ void clks_register(struct clk *clks, size_t num)
		list_add(&clks[i].node, &clocks);
	mutex_unlock(&clocks_mutex);
}

int clk_add_alias(char *alias, struct device *alias_dev, char *id,
	struct device *dev)
{
	struct clk *r = clk_lookup(dev, id);
	struct clk *new;

	if (!r)
		return -ENODEV;

	new = kzalloc(sizeof(struct clk), GFP_KERNEL);

	if (!new)
		return -ENOMEM;

	new->name = alias;
	new->dev = alias_dev;
	new->other = r;

	mutex_lock(&clocks_mutex);
	list_add(&new->node, &clocks);
	mutex_unlock(&clocks_mutex);

	return 0;
}
+5 −0
Original line number Diff line number Diff line
#include <linux/list.h>

struct clk;

struct clkops {
@@ -86,3 +88,6 @@ extern void clk_pxa3xx_cken_disable(struct clk *);
#endif

void clks_register(struct clk *clks, size_t num);
int clk_add_alias(char *alias, struct device *alias_dev, char *id,
	struct device *dev);
+121 −49
Original line number Diff line number Diff line
@@ -10,15 +10,75 @@
 *
 */

#include <linux/kernel.h>
#include <linux/init.h>

#include <asm/setup.h>
#include <asm/mach/arch.h>
#include <mach/hardware.h>
#include <asm/mach-types.h>

#include <mach/mfp-pxa25x.h>
#include <mach/hardware.h>

#include "generic.h"

static unsigned long e740_pin_config[] __initdata = {
	/* Chip selects */
	GPIO15_nCS_1,   /* CS1 - Flash */
	GPIO79_nCS_3,   /* CS3 - IMAGEON */
	GPIO80_nCS_4,   /* CS4 - TMIO */

	/* Clocks */
	GPIO12_32KHz,

	/* BTUART */
	GPIO42_BTUART_RXD,
	GPIO43_BTUART_TXD,
	GPIO44_BTUART_CTS,
	GPIO45_GPIO, /* Used by TMIO for #SUSPEND */

	/* PC Card */
	GPIO8_GPIO,   /* CD0 */
	GPIO44_GPIO,  /* CD1 */
	GPIO11_GPIO,  /* IRQ0 */
	GPIO6_GPIO,   /* IRQ1 */
	GPIO27_GPIO,  /* RST0 */
	GPIO24_GPIO,  /* RST1 */
	GPIO20_GPIO,  /* PWR0 */
	GPIO23_GPIO,  /* PWR1 */
	GPIO48_nPOE,
	GPIO49_nPWE,
	GPIO50_nPIOR,
	GPIO51_nPIOW,
	GPIO52_nPCE_1,
	GPIO53_nPCE_2,
	GPIO54_nPSKTSEL,
	GPIO55_nPREG,
	GPIO56_nPWAIT,
	GPIO57_nIOIS16,

	/* wakeup */
	GPIO0_GPIO | WAKEUP_ON_EDGE_RISE,
};

static unsigned long e400_pin_config[] __initdata = {
	/* Chip selects */
	GPIO15_nCS_1,   /* CS1 - Flash */
	GPIO80_nCS_4,   /* CS4 - TMIO */

	/* Clocks */
	GPIO12_32KHz,

	/* BTUART */
	GPIO42_BTUART_RXD,
	GPIO43_BTUART_TXD,
	GPIO44_BTUART_CTS,
	GPIO45_GPIO, /* Used by TMIO for #SUSPEND */

	/* wakeup */
	GPIO0_GPIO | WAKEUP_ON_EDGE_RISE,
};

/* Only e800 has 128MB RAM */
static void __init eseries_fixup(struct machine_desc *desc,
	struct tag *tags, char **cmdline, struct meminfo *mi)
@@ -32,6 +92,16 @@ static void __init eseries_fixup(struct machine_desc *desc,
		mi->bank[0].size = (64*1024*1024);
}

static void __init e740_init(void)
{
	pxa2xx_mfp_config(ARRAY_AND_SIZE(e740_pin_config));
}

static void __init e400_init(void)
{
	pxa2xx_mfp_config(ARRAY_AND_SIZE(e400_pin_config));
}

/* e-series machine definitions */

#ifdef CONFIG_MACH_E330
@@ -69,6 +139,7 @@ MACHINE_START(E740, "Toshiba e740")
	.map_io		= pxa_map_io,
	.init_irq	= pxa25x_init_irq,
	.fixup		= eseries_fixup,
	.init_machine	= e740_init,
	.timer		= &pxa_timer,
MACHINE_END
#endif
@@ -95,6 +166,7 @@ MACHINE_START(E400, "Toshiba e400")
	.map_io		= pxa_map_io,
	.init_irq	= pxa25x_init_irq,
	.fixup		= eseries_fixup,
	.init_machine	= e400_init,
	.timer		= &pxa_timer,
MACHINE_END
#endif
Loading