Commit a22c50c3 authored by Linus Torvalds's avatar Linus Torvalds

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
...@@ -405,7 +405,7 @@ static int impd1_probe(struct lm_device *dev) ...@@ -405,7 +405,7 @@ static int impd1_probe(struct lm_device *dev)
ret = amba_device_register(d, &dev->resource); ret = amba_device_register(d, &dev->resource);
if (ret) { 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); kfree(d);
} }
} }
......
...@@ -64,7 +64,7 @@ static struct platform_device fsg_i2c_gpio = { ...@@ -64,7 +64,7 @@ static struct platform_device fsg_i2c_gpio = {
static struct i2c_board_info __initdata fsg_i2c_board_info [] = { 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) ...@@ -179,7 +179,6 @@ static void __init fsg_init(void)
{ {
DECLARE_MAC_BUF(mac_buf); DECLARE_MAC_BUF(mac_buf);
uint8_t __iomem *f; uint8_t __iomem *f;
int i;
ixp4xx_sys_init(); ixp4xx_sys_init();
...@@ -228,6 +227,7 @@ static void __init fsg_init(void) ...@@ -228,6 +227,7 @@ static void __init fsg_init(void)
f = ioremap(IXP4XX_EXP_BUS_BASE(0), 0x400000); f = ioremap(IXP4XX_EXP_BUS_BASE(0), 0x400000);
if (f) { if (f) {
#ifdef __ARMEB__ #ifdef __ARMEB__
int i;
for (i = 0; i < 6; i++) { for (i = 0; i < 6; i++) {
fsg_plat_eth[0].hwaddr[i] = readb(f + 0x3C0422 + i); fsg_plat_eth[0].hwaddr[i] = readb(f + 0x3C0422 + i);
fsg_plat_eth[1].hwaddr[i] = readb(f + 0x3C043B + i); fsg_plat_eth[1].hwaddr[i] = readb(f + 0x3C043B + i);
......
...@@ -125,3 +125,28 @@ void clks_register(struct clk *clks, size_t num) ...@@ -125,3 +125,28 @@ void clks_register(struct clk *clks, size_t num)
list_add(&clks[i].node, &clocks); list_add(&clks[i].node, &clocks);
mutex_unlock(&clocks_mutex); 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;
}
#include <linux/list.h>
struct clk; struct clk;
struct clkops { struct clkops {
...@@ -86,3 +88,6 @@ extern void clk_pxa3xx_cken_disable(struct clk *); ...@@ -86,3 +88,6 @@ extern void clk_pxa3xx_cken_disable(struct clk *);
#endif #endif
void clks_register(struct clk *clks, size_t num); void clks_register(struct clk *clks, size_t num);
int clk_add_alias(char *alias, struct device *alias_dev, char *id,
struct device *dev);
...@@ -10,18 +10,78 @@ ...@@ -10,18 +10,78 @@
* *
*/ */
#include <linux/kernel.h>
#include <linux/init.h> #include <linux/init.h>
#include <asm/setup.h> #include <asm/setup.h>
#include <asm/mach/arch.h> #include <asm/mach/arch.h>
#include <mach/hardware.h>
#include <asm/mach-types.h> #include <asm/mach-types.h>
#include <mach/mfp-pxa25x.h>
#include <mach/hardware.h>
#include "generic.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 */ /* Only e800 has 128MB RAM */
static void __init eseries_fixup(struct machine_desc *desc, static void __init eseries_fixup(struct machine_desc *desc,
struct tag *tags, char **cmdline, struct meminfo *mi) struct tag *tags, char **cmdline, struct meminfo *mi)
{ {
mi->nr_banks=1; mi->nr_banks=1;
mi->bank[0].start = 0xa0000000; mi->bank[0].start = 0xa0000000;
...@@ -32,83 +92,95 @@ static void __init eseries_fixup(struct machine_desc *desc, ...@@ -32,83 +92,95 @@ static void __init eseries_fixup(struct machine_desc *desc,
mi->bank[0].size = (64*1024*1024); 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 */ /* e-series machine definitions */
#ifdef CONFIG_MACH_E330 #ifdef CONFIG_MACH_E330
MACHINE_START(E330, "Toshiba e330") MACHINE_START(E330, "Toshiba e330")
/* Maintainer: Ian Molton (spyro@f2s.com) */ /* Maintainer: Ian Molton (spyro@f2s.com) */
.phys_io = 0x40000000, .phys_io = 0x40000000,
.io_pg_offst = (io_p2v(0x40000000) >> 18) & 0xfffc, .io_pg_offst = (io_p2v(0x40000000) >> 18) & 0xfffc,
.boot_params = 0xa0000100, .boot_params = 0xa0000100,
.map_io = pxa_map_io, .map_io = pxa_map_io,
.init_irq = pxa25x_init_irq, .init_irq = pxa25x_init_irq,
.fixup = eseries_fixup, .fixup = eseries_fixup,
.timer = &pxa_timer, .timer = &pxa_timer,
MACHINE_END MACHINE_END
#endif #endif
#ifdef CONFIG_MACH_E350 #ifdef CONFIG_MACH_E350
MACHINE_START(E350, "Toshiba e350") MACHINE_START(E350, "Toshiba e350")
/* Maintainer: Ian Molton (spyro@f2s.com) */ /* Maintainer: Ian Molton (spyro@f2s.com) */
.phys_io = 0x40000000, .phys_io = 0x40000000,
.io_pg_offst = (io_p2v(0x40000000) >> 18) & 0xfffc, .io_pg_offst = (io_p2v(0x40000000) >> 18) & 0xfffc,
.boot_params = 0xa0000100, .boot_params = 0xa0000100,
.map_io = pxa_map_io, .map_io = pxa_map_io,
.init_irq = pxa25x_init_irq, .init_irq = pxa25x_init_irq,
.fixup = eseries_fixup, .fixup = eseries_fixup,
.timer = &pxa_timer, .timer = &pxa_timer,
MACHINE_END MACHINE_END
#endif #endif
#ifdef CONFIG_MACH_E740 #ifdef CONFIG_MACH_E740
MACHINE_START(E740, "Toshiba e740") MACHINE_START(E740, "Toshiba e740")
/* Maintainer: Ian Molton (spyro@f2s.com) */ /* Maintainer: Ian Molton (spyro@f2s.com) */
.phys_io = 0x40000000, .phys_io = 0x40000000,
.io_pg_offst = (io_p2v(0x40000000) >> 18) & 0xfffc, .io_pg_offst = (io_p2v(0x40000000) >> 18) & 0xfffc,
.boot_params = 0xa0000100, .boot_params = 0xa0000100,
.map_io = pxa_map_io, .map_io = pxa_map_io,
.init_irq = pxa25x_init_irq, .init_irq = pxa25x_init_irq,
.fixup = eseries_fixup, .fixup = eseries_fixup,
.timer = &pxa_timer, .init_machine = e740_init,
.timer = &pxa_timer,
MACHINE_END MACHINE_END
#endif #endif
#ifdef CONFIG_MACH_E750 #ifdef CONFIG_MACH_E750
MACHINE_START(E750, "Toshiba e750") MACHINE_START(E750, "Toshiba e750")
/* Maintainer: Ian Molton (spyro@f2s.com) */ /* Maintainer: Ian Molton (spyro@f2s.com) */
.phys_io = 0x40000000, .phys_io = 0x40000000,
.io_pg_offst = (io_p2v(0x40000000) >> 18) & 0xfffc, .io_pg_offst = (io_p2v(0x40000000) >> 18) & 0xfffc,
.boot_params = 0xa0000100, .boot_params = 0xa0000100,
.map_io = pxa_map_io, .map_io = pxa_map_io,
.init_irq = pxa25x_init_irq, .init_irq = pxa25x_init_irq,
.fixup = eseries_fixup, .fixup = eseries_fixup,
.timer = &pxa_timer, .timer = &pxa_timer,
MACHINE_END MACHINE_END
#endif #endif
#ifdef CONFIG_MACH_E400 #ifdef CONFIG_MACH_E400
MACHINE_START(E400, "Toshiba e400") MACHINE_START(E400, "Toshiba e400")
/* Maintainer: Ian Molton (spyro@f2s.com) */ /* Maintainer: Ian Molton (spyro@f2s.com) */
.phys_io = 0x40000000, .phys_io = 0x40000000,
.io_pg_offst = (io_p2v(0x40000000) >> 18) & 0xfffc, .io_pg_offst = (io_p2v(0x40000000) >> 18) & 0xfffc,
.boot_params = 0xa0000100, .boot_params = 0xa0000100,
.map_io = pxa_map_io, .map_io = pxa_map_io,
.init_irq = pxa25x_init_irq, .init_irq = pxa25x_init_irq,
.fixup = eseries_fixup, .fixup = eseries_fixup,
.timer = &pxa_timer, .init_machine = e400_init,
.timer = &pxa_timer,
MACHINE_END MACHINE_END
#endif #endif
#ifdef CONFIG_MACH_E800 #ifdef CONFIG_MACH_E800
MACHINE_START(E800, "Toshiba e800") MACHINE_START(E800, "Toshiba e800")
/* Maintainer: Ian Molton (spyro@f2s.com) */ /* Maintainer: Ian Molton (spyro@f2s.com) */
.phys_io = 0x40000000, .phys_io = 0x40000000,
.io_pg_offst = (io_p2v(0x40000000) >> 18) & 0xfffc, .io_pg_offst = (io_p2v(0x40000000) >> 18) & 0xfffc,
.boot_params = 0xa0000100, .boot_params = 0xa0000100,
.map_io = pxa_map_io, .map_io = pxa_map_io,
.init_irq = pxa25x_init_irq, .init_irq = pxa25x_init_irq,
.fixup = eseries_fixup, .fixup = eseries_fixup,
.timer = &pxa_timer, .timer = &pxa_timer,
MACHINE_END MACHINE_END
#endif #endif
...@@ -183,6 +183,7 @@ ...@@ -183,6 +183,7 @@
defined(CONFIG_MACH_TOSA) || \ defined(CONFIG_MACH_TOSA) || \
defined(CONFIG_MACH_MAINSTONE) || \ defined(CONFIG_MACH_MAINSTONE) || \
defined(CONFIG_MACH_PCM027) || \ defined(CONFIG_MACH_PCM027) || \
defined(CONFIG_ARCH_PXA_ESERIES) || \
defined(CONFIG_MACH_MAGICIAN) defined(CONFIG_MACH_MAGICIAN)
#define NR_IRQS (IRQ_BOARD_END) #define NR_IRQS (IRQ_BOARD_END)
#elif defined(CONFIG_MACH_ZYLONITE) #elif defined(CONFIG_MACH_ZYLONITE)
......
...@@ -52,6 +52,7 @@ ...@@ -52,6 +52,7 @@
#include <mach/mmc.h> #include <mach/mmc.h>
#include "generic.h" #include "generic.h"
#include "clock.h"
#include "devices.h" #include "devices.h"
static unsigned long lubbock_pin_config[] __initdata = { static unsigned long lubbock_pin_config[] __initdata = {
...@@ -485,6 +486,7 @@ static void __init lubbock_init(void) ...@@ -485,6 +486,7 @@ static void __init lubbock_init(void)
pxa2xx_mfp_config(ARRAY_AND_SIZE(lubbock_pin_config)); pxa2xx_mfp_config(ARRAY_AND_SIZE(lubbock_pin_config));
clk_add_alias("SA1111_CLK", NULL, "GPIO11_CLK", NULL);
pxa_set_udc_info(&udc_info); pxa_set_udc_info(&udc_info);
set_pxa_fb_info(&sharp_lm8v31); set_pxa_fb_info(&sharp_lm8v31);
pxa_set_mci_info(&lubbock_mci_platform_data); pxa_set_mci_info(&lubbock_mci_platform_data);
......
...@@ -166,8 +166,7 @@ static struct clk pxa25x_hwuart_clk = ...@@ -166,8 +166,7 @@ static struct clk pxa25x_hwuart_clk =
; ;
/* /*
* PXA 2xx clock declarations. Order is important (see aliases below) * PXA 2xx clock declarations.
* Please be careful not to disrupt the ordering.
*/ */
static struct clk pxa25x_clks[] = { static struct clk pxa25x_clks[] = {
INIT_CK("LCDCLK", LCD, &clk_pxa25x_lcd_ops, &pxa_device_fb.dev), INIT_CK("LCDCLK", LCD, &clk_pxa25x_lcd_ops, &pxa_device_fb.dev),
...@@ -194,11 +193,6 @@ static struct clk pxa25x_clks[] = { ...@@ -194,11 +193,6 @@ static struct clk pxa25x_clks[] = {
INIT_CKEN("FICPCLK", FICP, 47923000, 0, NULL), INIT_CKEN("FICPCLK", FICP, 47923000, 0, NULL),
}; };
static struct clk pxa2xx_clk_aliases[] = {
INIT_CKOTHER("GPIO7_CLK", &pxa25x_clks[4], NULL),
INIT_CKOTHER("SA1111_CLK", &pxa25x_clks[5], NULL),
};
#ifdef CONFIG_PM #ifdef CONFIG_PM
#define SAVE(x) sleep_save[SLEEP_SAVE_##x] = x #define SAVE(x) sleep_save[SLEEP_SAVE_##x] = x
...@@ -375,8 +369,6 @@ static int __init pxa25x_init(void) ...@@ -375,8 +369,6 @@ static int __init pxa25x_init(void)
if (cpu_is_pxa255()) if (cpu_is_pxa255())
ret = platform_device_register(&pxa_device_hwuart); ret = platform_device_register(&pxa_device_hwuart);
clks_register(pxa2xx_clk_aliases, ARRAY_SIZE(pxa2xx_clk_aliases));
return ret; return ret;
} }
......
...@@ -90,7 +90,9 @@ static struct clk common_clks[] = { ...@@ -90,7 +90,9 @@ static struct clk common_clks[] = {
}; };
static struct clk pxa310_clks[] = { static struct clk pxa310_clks[] = {
#ifdef CONFIG_CPU_PXA310
PXA3xx_CKEN("MMCCLK", MMC3, 19500000, 0, &pxa3xx_device_mci3.dev), PXA3xx_CKEN("MMCCLK", MMC3, 19500000, 0, &pxa3xx_device_mci3.dev),
#endif
}; };
static int __init pxa300_init(void) static int __init pxa300_init(void)
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment