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

Commit a9da4f7e authored by Russell King's avatar Russell King Committed by Russell King
Browse files

Merge branches 'pxa-ian' and 'pxa-xm270' into pxa

Conflicts:

	MAINTAINERS
Loading
Loading
Loading
Loading
+17 −11
Original line number Diff line number Diff line
@@ -475,17 +475,17 @@ M: kernel@wantstofly.org
L:	linux-arm-kernel@lists.arm.linux.org.uk (subscribers-only)
S:	Maintained

ARM/COMPULAB CM-X270/EM-X270 MACHINE SUPPORT
P:	Mike Rapoport
M:	mike@compulab.co.il
L:	linux-arm-kernel@lists.arm.linux.org.uk (subscribers-only)
S:	Maintained

ARM/CORGI MACHINE SUPPORT
P:	Richard Purdie
M:	rpurdie@rpsys.net
S:	Maintained

ARM/GLOMATION GESBC9312SX MACHINE SUPPORT
P:	Lennert Buytenhek
M:	kernel@wantstofly.org
L:	linux-arm-kernel@lists.arm.linux.org.uk (subscribers-only)
S:	Maintained

ARM/EZX SMARTPHONES (A780, A910, A1200, E680, ROKR E2 and ROKR E6)
P:	Daniel Ribeiro
M:	drwyrm@gmail.com
@@ -497,6 +497,12 @@ L: openezx-devel@lists.openezx.org (subscribers-only)
W:	http://www.openezx.org/
S:	Maintained

ARM/GLOMATION GESBC9312SX MACHINE SUPPORT
P:	Lennert Buytenhek
M:	kernel@wantstofly.org
L:	linux-arm-kernel@lists.arm.linux.org.uk (subscribers-only)
S:	Maintained

ARM/GUMSTIX MACHINE SUPPORT
P:	Steve Sakoman
M:	sakoman@gmail.com
+1 −1
Original line number Diff line number Diff line
@@ -627,7 +627,7 @@ __sa1111_probe(struct device *me, struct resource *mem, int irq)
	if (!sachip)
		return -ENOMEM;

	sachip->clk = clk_get(me, "GPIO27_CLK");
	sachip->clk = clk_get(me, "SA1111_CLK");
	if (!sachip->clk) {
		ret = PTR_ERR(sachip->clk);
		goto err_free;
+0 −30
Original line number Diff line number Diff line
@@ -101,21 +101,6 @@ unsigned long clk_get_rate(struct clk *clk)
EXPORT_SYMBOL(clk_get_rate);


static void clk_gpio27_enable(struct clk *clk)
{
	pxa_gpio_mode(GPIO11_3_6MHz_MD);
}

static void clk_gpio27_disable(struct clk *clk)
{
}

static const struct clkops clk_gpio27_ops = {
	.enable		= clk_gpio27_enable,
	.disable	= clk_gpio27_disable,
};


void clk_cken_enable(struct clk *clk)
{
	CKEN |= 1 << clk->cken;
@@ -131,14 +116,6 @@ const struct clkops clk_cken_ops = {
	.disable	= clk_cken_disable,
};

static struct clk common_clks[] = {
	{
		.name		= "GPIO27_CLK",
		.ops		= &clk_gpio27_ops,
		.rate		= 3686400,
	},
};

void clks_register(struct clk *clks, size_t num)
{
	int i;
@@ -148,10 +125,3 @@ void clks_register(struct clk *clks, size_t num)
		list_add(&clks[i].node, &clocks);
	mutex_unlock(&clocks_mutex);
}

static int __init clk_init(void)
{
	clks_register(common_clks, ARRAY_SIZE(common_clks));
	return 0;
}
arch_initcall(clk_init);
+9 −0
Original line number Diff line number Diff line
@@ -47,6 +47,15 @@ struct clk {
		.other	= _other,			\
	}

#define INIT_CLK(_name, _ops, _rate, _delay, _dev)      \
	{                                               \
		.name   = _name,                        \
		.dev    = _dev,                         \
		.ops    = _ops,                         \
		.rate   = _rate,                        \
		.delay	= _delay,			\
	}

extern const struct clkops clk_cken_ops;

void clk_cken_enable(struct clk *clk);
+14 −13
Original line number Diff line number Diff line
@@ -5,7 +5,7 @@
 *
 * Bits taken from various places.
 *
 * Copyright (C) 2007 Compulab, Ltd.
 * Copyright (C) 2007, 2008 Compulab, Ltd.
 * Mike Rapoport <mike@compulab.co.il>
 *
 * This program is free software; you can redistribute it and/or modify
@@ -19,16 +19,16 @@
#include <linux/device.h>
#include <linux/platform_device.h>
#include <linux/irq.h>
#include <linux/gpio.h>

#include <asm/mach/pci.h>
#include <asm/arch/cm-x270.h>
#include <asm/arch/pxa-regs.h>
#include <asm/arch/pxa2xx-gpio.h>
#include <asm/mach-types.h>

#include <asm/hardware/it8152.h>

unsigned long it8152_base_address = CMX270_IT8152_VIRT;
unsigned long it8152_base_address;
static int cmx270_it8152_irq_gpio;

/*
 * Only first 64MB of memory can be accessed via PCI.
@@ -42,7 +42,7 @@ void __init cmx270_pci_adjust_zones(int node, unsigned long *zone_size,
	unsigned int sz = SZ_64M >> PAGE_SHIFT;

	if (machine_is_armcore()) {
		pr_info("Adjusting zones for CM-x270\n");
		pr_info("Adjusting zones for CM-X270\n");

		/*
		 * Only adjust if > 64M on current system
@@ -60,19 +60,20 @@ void __init cmx270_pci_adjust_zones(int node, unsigned long *zone_size,
static void cmx270_it8152_irq_demux(unsigned int irq, struct irq_desc *desc)
{
	/* clear our parent irq */
	GEDR(GPIO_IT8152_IRQ) = GPIO_bit(GPIO_IT8152_IRQ);
	GEDR(cmx270_it8152_irq_gpio) = GPIO_bit(cmx270_it8152_irq_gpio);

	it8152_irq_demux(irq, desc);
}

void __cmx270_pci_init_irq(void)
void __cmx270_pci_init_irq(int irq_gpio)
{
	it8152_init_irq();
	pxa_gpio_mode(IRQ_TO_GPIO(GPIO_IT8152_IRQ));
	set_irq_type(IRQ_GPIO(GPIO_IT8152_IRQ), IRQT_RISING);

	set_irq_chained_handler(IRQ_GPIO(GPIO_IT8152_IRQ),
				cmx270_it8152_irq_demux);
	cmx270_it8152_irq_gpio = irq_gpio;

	set_irq_type(gpio_to_irq(irq_gpio), IRQT_RISING);

	set_irq_chained_handler(gpio_to_irq(irq_gpio), cmx270_it8152_irq_demux);
}

#ifdef CONFIG_PM
@@ -115,8 +116,8 @@ static int __init cmx270_pci_map_irq(struct pci_dev *dev, u8 slot, u8 pin)

	/*
	  Here comes the ugly part. The routing is baseboard specific,
	  but defining a platform for each possible base of CM-x270 is
	  unrealistic. Here we keep mapping for ATXBase and SB-x270.
	  but defining a platform for each possible base of CM-X270 is
	  unrealistic. Here we keep mapping for ATXBase and SB-X270.
	*/
	/* ATXBASE PCI slot */
	if (slot == 7)
Loading