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

+160 -61
+1 -1
arch/arm/mach-integrator/impd1.c
··· 405 405 406 406 ret = amba_device_register(d, &dev->resource); 407 407 if (ret) { 408 - dev_err(&d->dev, "unable to register device: %d\n"); 408 + dev_err(&d->dev, "unable to register device: %d\n", ret); 409 409 kfree(d); 410 410 } 411 411 }
+2 -2
arch/arm/mach-ixp4xx/fsg-setup.c
··· 64 64 65 65 static struct i2c_board_info __initdata fsg_i2c_board_info [] = { 66 66 { 67 - I2C_BOARD_INFO("rtc-isl1208", 0x6f), 67 + I2C_BOARD_INFO("isl1208", 0x6f), 68 68 }, 69 69 }; 70 70 ··· 179 179 { 180 180 DECLARE_MAC_BUF(mac_buf); 181 181 uint8_t __iomem *f; 182 - int i; 183 182 184 183 ixp4xx_sys_init(); 185 184 ··· 227 228 f = ioremap(IXP4XX_EXP_BUS_BASE(0), 0x400000); 228 229 if (f) { 229 230 #ifdef __ARMEB__ 231 + int i; 230 232 for (i = 0; i < 6; i++) { 231 233 fsg_plat_eth[0].hwaddr[i] = readb(f + 0x3C0422 + i); 232 234 fsg_plat_eth[1].hwaddr[i] = readb(f + 0x3C043B + i);
+25
arch/arm/mach-pxa/clock.c
··· 125 125 list_add(&clks[i].node, &clocks); 126 126 mutex_unlock(&clocks_mutex); 127 127 } 128 + 129 + int clk_add_alias(char *alias, struct device *alias_dev, char *id, 130 + struct device *dev) 131 + { 132 + struct clk *r = clk_lookup(dev, id); 133 + struct clk *new; 134 + 135 + if (!r) 136 + return -ENODEV; 137 + 138 + new = kzalloc(sizeof(struct clk), GFP_KERNEL); 139 + 140 + if (!new) 141 + return -ENOMEM; 142 + 143 + new->name = alias; 144 + new->dev = alias_dev; 145 + new->other = r; 146 + 147 + mutex_lock(&clocks_mutex); 148 + list_add(&new->node, &clocks); 149 + mutex_unlock(&clocks_mutex); 150 + 151 + return 0; 152 + }
+5
arch/arm/mach-pxa/clock.h
··· 1 + #include <linux/list.h> 2 + 1 3 struct clk; 2 4 3 5 struct clkops { ··· 88 86 #endif 89 87 90 88 void clks_register(struct clk *clks, size_t num); 89 + int clk_add_alias(char *alias, struct device *alias_dev, char *id, 90 + struct device *dev); 91 +
+121 -49
arch/arm/mach-pxa/eseries.c
··· 10 10 * 11 11 */ 12 12 13 + #include <linux/kernel.h> 13 14 #include <linux/init.h> 14 15 15 16 #include <asm/setup.h> 16 17 #include <asm/mach/arch.h> 17 - #include <mach/hardware.h> 18 18 #include <asm/mach-types.h> 19 + 20 + #include <mach/mfp-pxa25x.h> 21 + #include <mach/hardware.h> 19 22 20 23 #include "generic.h" 21 24 25 + static unsigned long e740_pin_config[] __initdata = { 26 + /* Chip selects */ 27 + GPIO15_nCS_1, /* CS1 - Flash */ 28 + GPIO79_nCS_3, /* CS3 - IMAGEON */ 29 + GPIO80_nCS_4, /* CS4 - TMIO */ 30 + 31 + /* Clocks */ 32 + GPIO12_32KHz, 33 + 34 + /* BTUART */ 35 + GPIO42_BTUART_RXD, 36 + GPIO43_BTUART_TXD, 37 + GPIO44_BTUART_CTS, 38 + GPIO45_GPIO, /* Used by TMIO for #SUSPEND */ 39 + 40 + /* PC Card */ 41 + GPIO8_GPIO, /* CD0 */ 42 + GPIO44_GPIO, /* CD1 */ 43 + GPIO11_GPIO, /* IRQ0 */ 44 + GPIO6_GPIO, /* IRQ1 */ 45 + GPIO27_GPIO, /* RST0 */ 46 + GPIO24_GPIO, /* RST1 */ 47 + GPIO20_GPIO, /* PWR0 */ 48 + GPIO23_GPIO, /* PWR1 */ 49 + GPIO48_nPOE, 50 + GPIO49_nPWE, 51 + GPIO50_nPIOR, 52 + GPIO51_nPIOW, 53 + GPIO52_nPCE_1, 54 + GPIO53_nPCE_2, 55 + GPIO54_nPSKTSEL, 56 + GPIO55_nPREG, 57 + GPIO56_nPWAIT, 58 + GPIO57_nIOIS16, 59 + 60 + /* wakeup */ 61 + GPIO0_GPIO | WAKEUP_ON_EDGE_RISE, 62 + }; 63 + 64 + static unsigned long e400_pin_config[] __initdata = { 65 + /* Chip selects */ 66 + GPIO15_nCS_1, /* CS1 - Flash */ 67 + GPIO80_nCS_4, /* CS4 - TMIO */ 68 + 69 + /* Clocks */ 70 + GPIO12_32KHz, 71 + 72 + /* BTUART */ 73 + GPIO42_BTUART_RXD, 74 + GPIO43_BTUART_TXD, 75 + GPIO44_BTUART_CTS, 76 + GPIO45_GPIO, /* Used by TMIO for #SUSPEND */ 77 + 78 + /* wakeup */ 79 + GPIO0_GPIO | WAKEUP_ON_EDGE_RISE, 80 + }; 81 + 22 82 /* Only e800 has 128MB RAM */ 23 83 static void __init eseries_fixup(struct machine_desc *desc, 24 - struct tag *tags, char **cmdline, struct meminfo *mi) 84 + struct tag *tags, char **cmdline, struct meminfo *mi) 25 85 { 26 86 mi->nr_banks=1; 27 87 mi->bank[0].start = 0xa0000000; ··· 92 32 mi->bank[0].size = (64*1024*1024); 93 33 } 94 34 35 + static void __init e740_init(void) 36 + { 37 + pxa2xx_mfp_config(ARRAY_AND_SIZE(e740_pin_config)); 38 + } 39 + 40 + static void __init e400_init(void) 41 + { 42 + pxa2xx_mfp_config(ARRAY_AND_SIZE(e400_pin_config)); 43 + } 44 + 95 45 /* e-series machine definitions */ 96 46 97 47 #ifdef CONFIG_MACH_E330 98 48 MACHINE_START(E330, "Toshiba e330") 99 - /* Maintainer: Ian Molton (spyro@f2s.com) */ 100 - .phys_io = 0x40000000, 101 - .io_pg_offst = (io_p2v(0x40000000) >> 18) & 0xfffc, 102 - .boot_params = 0xa0000100, 103 - .map_io = pxa_map_io, 104 - .init_irq = pxa25x_init_irq, 105 - .fixup = eseries_fixup, 106 - .timer = &pxa_timer, 49 + /* Maintainer: Ian Molton (spyro@f2s.com) */ 50 + .phys_io = 0x40000000, 51 + .io_pg_offst = (io_p2v(0x40000000) >> 18) & 0xfffc, 52 + .boot_params = 0xa0000100, 53 + .map_io = pxa_map_io, 54 + .init_irq = pxa25x_init_irq, 55 + .fixup = eseries_fixup, 56 + .timer = &pxa_timer, 107 57 MACHINE_END 108 58 #endif 109 59 110 60 #ifdef CONFIG_MACH_E350 111 61 MACHINE_START(E350, "Toshiba e350") 112 62 /* Maintainer: Ian Molton (spyro@f2s.com) */ 113 - .phys_io = 0x40000000, 114 - .io_pg_offst = (io_p2v(0x40000000) >> 18) & 0xfffc, 115 - .boot_params = 0xa0000100, 116 - .map_io = pxa_map_io, 117 - .init_irq = pxa25x_init_irq, 118 - .fixup = eseries_fixup, 119 - .timer = &pxa_timer, 63 + .phys_io = 0x40000000, 64 + .io_pg_offst = (io_p2v(0x40000000) >> 18) & 0xfffc, 65 + .boot_params = 0xa0000100, 66 + .map_io = pxa_map_io, 67 + .init_irq = pxa25x_init_irq, 68 + .fixup = eseries_fixup, 69 + .timer = &pxa_timer, 120 70 MACHINE_END 121 71 #endif 122 72 123 73 #ifdef CONFIG_MACH_E740 124 74 MACHINE_START(E740, "Toshiba e740") 125 - /* Maintainer: Ian Molton (spyro@f2s.com) */ 126 - .phys_io = 0x40000000, 127 - .io_pg_offst = (io_p2v(0x40000000) >> 18) & 0xfffc, 128 - .boot_params = 0xa0000100, 129 - .map_io = pxa_map_io, 130 - .init_irq = pxa25x_init_irq, 131 - .fixup = eseries_fixup, 132 - .timer = &pxa_timer, 75 + /* Maintainer: Ian Molton (spyro@f2s.com) */ 76 + .phys_io = 0x40000000, 77 + .io_pg_offst = (io_p2v(0x40000000) >> 18) & 0xfffc, 78 + .boot_params = 0xa0000100, 79 + .map_io = pxa_map_io, 80 + .init_irq = pxa25x_init_irq, 81 + .fixup = eseries_fixup, 82 + .init_machine = e740_init, 83 + .timer = &pxa_timer, 133 84 MACHINE_END 134 85 #endif 135 86 136 87 #ifdef CONFIG_MACH_E750 137 88 MACHINE_START(E750, "Toshiba e750") 138 - /* Maintainer: Ian Molton (spyro@f2s.com) */ 139 - .phys_io = 0x40000000, 140 - .io_pg_offst = (io_p2v(0x40000000) >> 18) & 0xfffc, 141 - .boot_params = 0xa0000100, 142 - .map_io = pxa_map_io, 143 - .init_irq = pxa25x_init_irq, 144 - .fixup = eseries_fixup, 145 - .timer = &pxa_timer, 89 + /* Maintainer: Ian Molton (spyro@f2s.com) */ 90 + .phys_io = 0x40000000, 91 + .io_pg_offst = (io_p2v(0x40000000) >> 18) & 0xfffc, 92 + .boot_params = 0xa0000100, 93 + .map_io = pxa_map_io, 94 + .init_irq = pxa25x_init_irq, 95 + .fixup = eseries_fixup, 96 + .timer = &pxa_timer, 146 97 MACHINE_END 147 98 #endif 148 99 149 100 #ifdef CONFIG_MACH_E400 150 101 MACHINE_START(E400, "Toshiba e400") 151 - /* Maintainer: Ian Molton (spyro@f2s.com) */ 152 - .phys_io = 0x40000000, 153 - .io_pg_offst = (io_p2v(0x40000000) >> 18) & 0xfffc, 154 - .boot_params = 0xa0000100, 155 - .map_io = pxa_map_io, 156 - .init_irq = pxa25x_init_irq, 157 - .fixup = eseries_fixup, 158 - .timer = &pxa_timer, 102 + /* Maintainer: Ian Molton (spyro@f2s.com) */ 103 + .phys_io = 0x40000000, 104 + .io_pg_offst = (io_p2v(0x40000000) >> 18) & 0xfffc, 105 + .boot_params = 0xa0000100, 106 + .map_io = pxa_map_io, 107 + .init_irq = pxa25x_init_irq, 108 + .fixup = eseries_fixup, 109 + .init_machine = e400_init, 110 + .timer = &pxa_timer, 159 111 MACHINE_END 160 112 #endif 161 113 162 114 #ifdef CONFIG_MACH_E800 163 115 MACHINE_START(E800, "Toshiba e800") 164 - /* Maintainer: Ian Molton (spyro@f2s.com) */ 165 - .phys_io = 0x40000000, 166 - .io_pg_offst = (io_p2v(0x40000000) >> 18) & 0xfffc, 167 - .boot_params = 0xa0000100, 168 - .map_io = pxa_map_io, 169 - .init_irq = pxa25x_init_irq, 170 - .fixup = eseries_fixup, 171 - .timer = &pxa_timer, 116 + /* Maintainer: Ian Molton (spyro@f2s.com) */ 117 + .phys_io = 0x40000000, 118 + .io_pg_offst = (io_p2v(0x40000000) >> 18) & 0xfffc, 119 + .boot_params = 0xa0000100, 120 + .map_io = pxa_map_io, 121 + .init_irq = pxa25x_init_irq, 122 + .fixup = eseries_fixup, 123 + .timer = &pxa_timer, 172 124 MACHINE_END 173 125 #endif 174 126
+1
arch/arm/mach-pxa/include/mach/irqs.h
··· 183 183 defined(CONFIG_MACH_TOSA) || \ 184 184 defined(CONFIG_MACH_MAINSTONE) || \ 185 185 defined(CONFIG_MACH_PCM027) || \ 186 + defined(CONFIG_ARCH_PXA_ESERIES) || \ 186 187 defined(CONFIG_MACH_MAGICIAN) 187 188 #define NR_IRQS (IRQ_BOARD_END) 188 189 #elif defined(CONFIG_MACH_ZYLONITE)
+2
arch/arm/mach-pxa/lubbock.c
··· 52 52 #include <mach/mmc.h> 53 53 54 54 #include "generic.h" 55 + #include "clock.h" 55 56 #include "devices.h" 56 57 57 58 static unsigned long lubbock_pin_config[] __initdata = { ··· 486 485 487 486 pxa2xx_mfp_config(ARRAY_AND_SIZE(lubbock_pin_config)); 488 487 488 + clk_add_alias("SA1111_CLK", NULL, "GPIO11_CLK", NULL); 489 489 pxa_set_udc_info(&udc_info); 490 490 set_pxa_fb_info(&sharp_lm8v31); 491 491 pxa_set_mci_info(&lubbock_mci_platform_data);
+1 -9
arch/arm/mach-pxa/pxa25x.c
··· 166 166 ; 167 167 168 168 /* 169 - * PXA 2xx clock declarations. Order is important (see aliases below) 170 - * Please be careful not to disrupt the ordering. 169 + * PXA 2xx clock declarations. 171 170 */ 172 171 static struct clk pxa25x_clks[] = { 173 172 INIT_CK("LCDCLK", LCD, &clk_pxa25x_lcd_ops, &pxa_device_fb.dev), ··· 191 192 INIT_CKEN("I2SCLK", I2S, 14745600, 0, NULL), 192 193 */ 193 194 INIT_CKEN("FICPCLK", FICP, 47923000, 0, NULL), 194 - }; 195 - 196 - static struct clk pxa2xx_clk_aliases[] = { 197 - INIT_CKOTHER("GPIO7_CLK", &pxa25x_clks[4], NULL), 198 - INIT_CKOTHER("SA1111_CLK", &pxa25x_clks[5], NULL), 199 195 }; 200 196 201 197 #ifdef CONFIG_PM ··· 368 374 /* Only add HWUART for PXA255/26x; PXA210/250/27x do not have it. */ 369 375 if (cpu_is_pxa255()) 370 376 ret = platform_device_register(&pxa_device_hwuart); 371 - 372 - clks_register(pxa2xx_clk_aliases, ARRAY_SIZE(pxa2xx_clk_aliases)); 373 377 374 378 return ret; 375 379 }
+2
arch/arm/mach-pxa/pxa300.c
··· 90 90 }; 91 91 92 92 static struct clk pxa310_clks[] = { 93 + #ifdef CONFIG_CPU_PXA310 93 94 PXA3xx_CKEN("MMCCLK", MMC3, 19500000, 0, &pxa3xx_device_mci3.dev), 95 + #endif 94 96 }; 95 97 96 98 static int __init pxa300_init(void)