Merge branch 'for-rmk' of git://git.pengutronix.de/git/imx/linux-2.6 into fixes

+24 -5
+8 -3
arch/arm/mach-mx3/mach-vpr200.c
··· 257 .workaround = FLS_USB2_WORKAROUND_ENGCM09152, 258 }; 259 260 /* USB HOST config */ 261 static const struct mxc_usbh_platform_data usb_host_pdata __initconst = { 262 - .portsc = MXC_EHCI_MODE_SERIAL, 263 - .flags = MXC_EHCI_INTERFACE_SINGLE_UNI | 264 - MXC_EHCI_INTERNAL_PHY, 265 }; 266 267 static struct platform_device *devices[] __initdata = {
··· 257 .workaround = FLS_USB2_WORKAROUND_ENGCM09152, 258 }; 259 260 + static int vpr200_usbh_init(struct platform_device *pdev) 261 + { 262 + return mx35_initialize_usb_hw(pdev->id, 263 + MXC_EHCI_INTERFACE_SINGLE_UNI | MXC_EHCI_INTERNAL_PHY); 264 + } 265 + 266 /* USB HOST config */ 267 static const struct mxc_usbh_platform_data usb_host_pdata __initconst = { 268 + .init = vpr200_usbh_init, 269 + .portsc = MXC_EHCI_MODE_SERIAL, 270 }; 271 272 static struct platform_device *devices[] __initdata = {
+1 -1
arch/arm/mach-mx5/board-mx53_loco.c
··· 193 .wakeup = wake, \ 194 } 195 196 - static const struct gpio_keys_button loco_buttons[] __initconst = { 197 GPIO_BUTTON(MX53_LOCO_POWER, KEY_POWER, 1, "power", 0), 198 GPIO_BUTTON(MX53_LOCO_UI1, KEY_VOLUMEUP, 1, "volume-up", 0), 199 GPIO_BUTTON(MX53_LOCO_UI2, KEY_VOLUMEDOWN, 1, "volume-down", 0),
··· 193 .wakeup = wake, \ 194 } 195 196 + static struct gpio_keys_button loco_buttons[] = { 197 GPIO_BUTTON(MX53_LOCO_POWER, KEY_POWER, 1, "power", 0), 198 GPIO_BUTTON(MX53_LOCO_UI1, KEY_VOLUMEUP, 1, "volume-up", 0), 199 GPIO_BUTTON(MX53_LOCO_UI2, KEY_VOLUMEDOWN, 1, "volume-down", 0),
+6 -1
arch/arm/mach-mxs/clock-mx28.c
··· 295 unsigned long diff, parent_rate, calc_rate; \ 296 int i; \ 297 \ 298 - parent_rate = clk_get_rate(clk->parent); \ 299 div_max = BM_CLKCTRL_##dr##_DIV >> BP_CLKCTRL_##dr##_DIV; \ 300 bm_busy = BM_CLKCTRL_##dr##_BUSY; \ 301 \ 302 if (clk->parent == &ref_xtal_clk) { \ 303 div = DIV_ROUND_UP(parent_rate, rate); \ 304 if (clk == &cpu_clk) { \ 305 div_max = BM_CLKCTRL_CPU_DIV_XTAL >> \ ··· 309 if (div == 0 || div > div_max) \ 310 return -EINVAL; \ 311 } else { \ 312 rate >>= PARENT_RATE_SHIFT; \ 313 parent_rate >>= PARENT_RATE_SHIFT; \ 314 diff = parent_rate; \
··· 295 unsigned long diff, parent_rate, calc_rate; \ 296 int i; \ 297 \ 298 div_max = BM_CLKCTRL_##dr##_DIV >> BP_CLKCTRL_##dr##_DIV; \ 299 bm_busy = BM_CLKCTRL_##dr##_BUSY; \ 300 \ 301 if (clk->parent == &ref_xtal_clk) { \ 302 + parent_rate = clk_get_rate(clk->parent); \ 303 div = DIV_ROUND_UP(parent_rate, rate); \ 304 if (clk == &cpu_clk) { \ 305 div_max = BM_CLKCTRL_CPU_DIV_XTAL >> \ ··· 309 if (div == 0 || div > div_max) \ 310 return -EINVAL; \ 311 } else { \ 312 + /* \ 313 + * hack alert: this block modifies clk->parent, too, \ 314 + * so the base to use it the grand parent. \ 315 + */ \ 316 + parent_rate = clk_get_rate(clk->parent->parent); \ 317 rate >>= PARENT_RATE_SHIFT; \ 318 parent_rate >>= PARENT_RATE_SHIFT; \ 319 diff = parent_rate; \
+7
arch/arm/plat-mxc/gpio.c
··· 295 return 0; 296 } 297 298 int __init mxc_gpio_init(struct mxc_gpio_port *port, int cnt) 299 { 300 int i, j; ··· 317 __raw_writel(~0, port[i].base + GPIO_ISR); 318 for (j = port[i].virtual_irq_start; 319 j < port[i].virtual_irq_start + 32; j++) { 320 irq_set_chip_and_handler(j, &gpio_irq_chip, 321 handle_level_irq); 322 set_irq_flags(j, IRQF_VALID);
··· 295 return 0; 296 } 297 298 + /* 299 + * This lock class tells lockdep that GPIO irqs are in a different 300 + * category than their parents, so it won't report false recursion. 301 + */ 302 + static struct lock_class_key gpio_lock_class; 303 + 304 int __init mxc_gpio_init(struct mxc_gpio_port *port, int cnt) 305 { 306 int i, j; ··· 311 __raw_writel(~0, port[i].base + GPIO_ISR); 312 for (j = port[i].virtual_irq_start; 313 j < port[i].virtual_irq_start + 32; j++) { 314 + irq_set_lockdep_class(j, &gpio_lock_class); 315 irq_set_chip_and_handler(j, &gpio_irq_chip, 316 handle_level_irq); 317 set_irq_flags(j, IRQF_VALID);
+2
arch/arm/plat-mxc/ssi-fiq.S
··· 124 1: 125 @ return from FIQ 126 subs pc, lr, #4 127 imx_ssi_fiq_base: 128 .word 0x0 129 imx_ssi_fiq_rx_buffer:
··· 124 1: 125 @ return from FIQ 126 subs pc, lr, #4 127 + 128 + .align 129 imx_ssi_fiq_base: 130 .word 0x0 131 imx_ssi_fiq_rx_buffer: