Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

Merge tag 'fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc

Pull ARM SoC fixes from Olof Johansson:
"A series of fixes (and in some cases, some cleanups):

Via Tony Lindgren:
- A collection of OMAP regression fixes, in particular because
firmware no longer sets up all pin states before starting the
kernel.
- cpufreq fixes for OMAP (Rafael is on vacation and this was
pre-agreed).
- A longer series of misc regression fixes and cleanups, warning
removals, etc for OMAP

From Arnd Bergmann:
- A series of warning fixes for various platforms (defconfig builds)

Misc:
- A couple of tegra fixes, one for i.MX, some vt8500 fixes, etc."

* tag 'fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (73 commits)
ARM: pxa: armcore: fix PCI PIO warnings
ARM: integrator: use __iomem pointers for MMIO, part 2
ARM: assabet: fix bogus warning in get_assabet_scr (again)
ARM: shmobile: mark shmobile_init_late as __init
ARM: integrator_cp: fix build failure
ARM: OMAP4/AM335x: hwmod: fix disable_module regression in hardreset handling
ARM: OMAP3: fix workaround for EMU clockdomain
arm/omap: Replace board_ref_clock with enum values
ARM: OMAP2+: remove duplicated include from board-omap3stalker.c
arch/arm/plat-omap/omap-pm-noop.c: Remove unecessary semicolon
arch/arm/mach-omap2: Remove unecessary semicolon
arch/arm/mach-omap1/devices.c: Remove unecessary semicolon
ARM/dts: omap5-evm: pinmux configuration for audio
ARM/dts: Add pinctrl driver entries for omap5
ARM/dts: omap4-panda: pinmux configuration for audio
ARM/dts: omap4-sdp: pinmux configuration for audio
ARM/dts: omap5-evm: Disable unused McBSP3
ARM/dts: omap4-sdp: Disable unused McBSP3
ARM/dts: omap4-panda: Disable unused audio IPs
ARM: OMAP: board-omap4panda: Pin mux configuration for audio needs
...

+436 -223
+1 -1
Documentation/devicetree/bindings/interrupt-controller/brcm,bcm2835-armctrl-ic.txt
··· 7 7 8 8 Required properties: 9 9 10 - - compatible : should be "brcm,bcm2835-armctrl-ic.txt" 10 + - compatible : should be "brcm,bcm2835-armctrl-ic" 11 11 - reg : Specifies base physical address and size of the registers. 12 12 - interrupt-controller : Identifies the node as an interrupt controller 13 13 - #interrupt-cells : Specifies the number of cells needed to encode an
+1 -1
Documentation/devicetree/bindings/timer/brcm,bcm2835-system-timer.txt
··· 7 7 8 8 Required properties: 9 9 10 - - compatible : should be "brcm,bcm2835-system-timer.txt" 10 + - compatible : should be "brcm,bcm2835-system-timer" 11 11 - reg : Specifies base physical address and size of the registers. 12 12 - interrupts : A list of 4 interrupt sinks; one per timer channel. 13 13 - clock-frequency : The frequency of the clock that drives the counter, in Hz.
+1 -2
arch/arm/Kconfig
··· 494 494 depends on MMU 495 495 select CPU_XSCALE 496 496 select NEED_MACH_GPIO_H 497 - select NEED_MACH_IO_H 498 497 select NEED_RET_TO_USER 499 498 select PLAT_IOP 500 499 select PCI ··· 507 508 depends on MMU 508 509 select CPU_XSCALE 509 510 select NEED_MACH_GPIO_H 510 - select NEED_MACH_IO_H 511 511 select NEED_RET_TO_USER 512 512 select PLAT_IOP 513 513 select PCI ··· 1770 1772 config FORCE_MAX_ZONEORDER 1771 1773 int "Maximum zone order" if ARCH_SHMOBILE 1772 1774 range 11 64 if ARCH_SHMOBILE 1775 + default "12" if SOC_AM33XX 1773 1776 default "9" if SA1111 1774 1777 default "11" 1775 1778 help
+6 -9
arch/arm/boot/dts/Makefile
··· 25 25 exynos4210-trats.dtb \ 26 26 exynos5250-smdk5250.dtb 27 27 dtb-$(CONFIG_ARCH_HIGHBANK) += highbank.dtb 28 - dtb-$(CONFIG_ARCH_IMX5) += imx51-babbage.dtb \ 29 - imx53-ard.dtb \ 30 - imx53-evk.dtb \ 31 - imx53-qsb.dtb \ 32 - imx53-smd.dtb 33 - dtb-$(CONFIG_SOC_IMX6Q) += imx6q-arm2.dtb \ 34 - imx6q-sabrelite.dtb \ 35 - imx6q-sabresd.dtb 36 28 dtb-$(CONFIG_ARCH_LPC32XX) += ea3250.dtb phy3250.dtb 37 29 dtb-$(CONFIG_ARCH_KIRKWOOD) += kirkwood-dns320.dtb \ 38 30 kirkwood-dns325.dtb \ ··· 68 76 omap4-pandaES.dtb \ 69 77 omap4-var_som.dtb \ 70 78 omap4-sdp.dtb \ 71 - omap5-evm.dtb 79 + omap5-evm.dtb \ 80 + am335x-evm.dtb \ 81 + am335x-bone.dtb 72 82 dtb-$(CONFIG_ARCH_PRIMA2) += prima2-evb.dtb 73 83 dtb-$(CONFIG_ARCH_U8500) += snowball.dtb 74 84 dtb-$(CONFIG_ARCH_SHMOBILE) += emev2-kzm9d.dtb \ ··· 98 104 vexpress-v2p-ca15-tc1.dtb \ 99 105 vexpress-v2p-ca15_a7.dtb \ 100 106 xenvm-4.2.dtb 107 + dtb-$(CONFIG_ARCH_VT8500) += vt8500-bv07.dtb \ 108 + wm8505-ref.dtb \ 109 + wm8650-mid.dtb 101 110 102 111 endif
+47
arch/arm/boot/dts/omap4-panda.dts
··· 59 59 }; 60 60 }; 61 61 62 + &omap4_pmx_core { 63 + pinctrl-names = "default"; 64 + pinctrl-0 = < 65 + &twl6040_pins 66 + &mcpdm_pins 67 + &mcbsp1_pins 68 + >; 69 + 70 + twl6040_pins: pinmux_twl6040_pins { 71 + pinctrl-single,pins = < 72 + 0xe0 0x3 /* hdq_sio.gpio_127 OUTPUT | MODE3 */ 73 + 0x160 0x100 /* sys_nirq2.sys_nirq2 INPUT | MODE0 */ 74 + >; 75 + }; 76 + 77 + mcpdm_pins: pinmux_mcpdm_pins { 78 + pinctrl-single,pins = < 79 + 0xc6 0x108 /* abe_pdm_ul_data.abe_pdm_ul_data INPUT PULLDOWN | MODE0 */ 80 + 0xc8 0x108 /* abe_pdm_dl_data.abe_pdm_dl_data INPUT PULLDOWN | MODE0 */ 81 + 0xca 0x118 /* abe_pdm_frame.abe_pdm_frame INPUT PULLUP | MODE0 */ 82 + 0xcc 0x108 /* abe_pdm_lb_clk.abe_pdm_lb_clk INPUT PULLDOWN | MODE0 */ 83 + 0xce 0x108 /* abe_clks.abe_clks INPUT PULLDOWN | MODE0 */ 84 + >; 85 + }; 86 + 87 + mcbsp1_pins: pinmux_mcbsp1_pins { 88 + pinctrl-single,pins = < 89 + 0xbe 0x100 /* abe_mcbsp1_clkx.abe_mcbsp1_clkx INPUT | MODE0 */ 90 + 0xc0 0x108 /* abe_mcbsp1_dr.abe_mcbsp1_dr INPUT PULLDOWN | MODE0 */ 91 + 0xc2 0x8 /* abe_mcbsp1_dx.abe_mcbsp1_dx OUTPUT PULLDOWN | MODE0 */ 92 + 0xc4 0x100 /* abe_mcbsp1_fsx.abe_mcbsp1_fsx INPUT | MODE0 */ 93 + >; 94 + }; 95 + }; 96 + 62 97 &i2c1 { 63 98 clock-frequency = <400000>; 64 99 ··· 171 136 &emif2 { 172 137 cs1-used; 173 138 device-handle = <&elpida_ECB240ABACN>; 139 + }; 140 + 141 + &mcbsp2 { 142 + status = "disabled"; 143 + }; 144 + 145 + &mcbsp3 { 146 + status = "disabled"; 147 + }; 148 + 149 + &dmic { 150 + status = "disabled"; 174 151 };
+57
arch/arm/boot/dts/omap4-sdp.dts
··· 117 117 }; 118 118 119 119 &omap4_pmx_core { 120 + pinctrl-names = "default"; 121 + pinctrl-0 = < 122 + &twl6040_pins 123 + &mcpdm_pins 124 + &dmic_pins 125 + &mcbsp1_pins 126 + &mcbsp2_pins 127 + >; 128 + 120 129 uart2_pins: pinmux_uart2_pins { 121 130 pinctrl-single,pins = < 122 131 0xd8 0x118 /* uart2_cts.uart2_cts INPUT_PULLUP | MODE0 */ ··· 148 139 pinctrl-single,pins = < 149 140 0x11c 0x100 /* uart4_rx.uart4_rx INPUT | MODE0 */ 150 141 0x11e 0 /* uart4_tx.uart4_tx OUTPUT | MODE0 */ 142 + >; 143 + }; 144 + 145 + twl6040_pins: pinmux_twl6040_pins { 146 + pinctrl-single,pins = < 147 + 0xe0 0x3 /* hdq_sio.gpio_127 OUTPUT | MODE3 */ 148 + 0x160 0x100 /* sys_nirq2.sys_nirq2 INPUT | MODE0 */ 149 + >; 150 + }; 151 + 152 + mcpdm_pins: pinmux_mcpdm_pins { 153 + pinctrl-single,pins = < 154 + 0xc6 0x108 /* abe_pdm_ul_data.abe_pdm_ul_data INPUT PULLDOWN | MODE0 */ 155 + 0xc8 0x108 /* abe_pdm_dl_data.abe_pdm_dl_data INPUT PULLDOWN | MODE0 */ 156 + 0xca 0x118 /* abe_pdm_frame.abe_pdm_frame INPUT PULLUP | MODE0 */ 157 + 0xcc 0x108 /* abe_pdm_lb_clk.abe_pdm_lb_clk INPUT PULLDOWN | MODE0 */ 158 + 0xce 0x108 /* abe_clks.abe_clks INPUT PULLDOWN | MODE0 */ 159 + >; 160 + }; 161 + 162 + dmic_pins: pinmux_dmic_pins { 163 + pinctrl-single,pins = < 164 + 0xd0 0 /* abe_dmic_clk1.abe_dmic_clk1 OUTPUT | MODE0 */ 165 + 0xd2 0x100 /* abe_dmic_din1.abe_dmic_din1 INPUT | MODE0 */ 166 + 0xd4 0x100 /* abe_dmic_din2.abe_dmic_din2 INPUT | MODE0 */ 167 + 0xd6 0x100 /* abe_dmic_din3.abe_dmic_din3 INPUT | MODE0 */ 168 + >; 169 + }; 170 + 171 + mcbsp1_pins: pinmux_mcbsp1_pins { 172 + pinctrl-single,pins = < 173 + 0xbe 0x100 /* abe_mcbsp1_clkx.abe_mcbsp1_clkx INPUT | MODE0 */ 174 + 0xc0 0x108 /* abe_mcbsp1_dr.abe_mcbsp1_dr INPUT PULLDOWN | MODE0 */ 175 + 0xc2 0x8 /* abe_mcbsp1_dx.abe_mcbsp1_dx OUTPUT PULLDOWN | MODE0 */ 176 + 0xc4 0x100 /* abe_mcbsp1_fsx.abe_mcbsp1_fsx INPUT | MODE0 */ 177 + >; 178 + }; 179 + 180 + mcbsp2_pins: pinmux_mcbsp2_pins { 181 + pinctrl-single,pins = < 182 + 0xb6 0x100 /* abe_mcbsp2_clkx.abe_mcbsp2_clkx INPUT | MODE0 */ 183 + 0xb8 0x108 /* abe_mcbsp2_dr.abe_mcbsp2_dr INPUT PULLDOWN | MODE0 */ 184 + 0xba 0x8 /* abe_mcbsp2_dx.abe_mcbsp2_dx OUTPUT PULLDOWN | MODE0 */ 185 + 0xbc 0x100 /* abe_mcbsp2_fsx.abe_mcbsp2_fsx INPUT | MODE0 */ 151 186 >; 152 187 }; 153 188 }; ··· 401 348 &uart4 { 402 349 pinctrl-names = "default"; 403 350 pinctrl-0 = <&uart4_pins>; 351 + }; 352 + 353 + &mcbsp3 { 354 + status = "disabled"; 404 355 };
+58
arch/arm/boot/dts/omap5-evm.dts
··· 27 27 28 28 }; 29 29 30 + &omap5_pmx_core { 31 + pinctrl-names = "default"; 32 + pinctrl-0 = < 33 + &twl6040_pins 34 + &mcpdm_pins 35 + &dmic_pins 36 + &mcbsp1_pins 37 + &mcbsp2_pins 38 + >; 39 + 40 + twl6040_pins: pinmux_twl6040_pins { 41 + pinctrl-single,pins = < 42 + 0x18a 0x6 /* perslimbus2_clock.gpio5_145 OUTPUT | MODE6 */ 43 + >; 44 + }; 45 + 46 + mcpdm_pins: pinmux_mcpdm_pins { 47 + pinctrl-single,pins = < 48 + 0x142 0x108 /* abe_clks.abe_clks INPUT PULLDOWN | MODE0 */ 49 + 0x15c 0x108 /* abemcpdm_ul_data.abemcpdm_ul_data INPUT PULLDOWN | MODE0 */ 50 + 0x15e 0x108 /* abemcpdm_dl_data.abemcpdm_dl_data INPUT PULLDOWN | MODE0 */ 51 + 0x160 0x118 /* abemcpdm_frame.abemcpdm_frame INPUT PULLUP | MODE0 */ 52 + 0x162 0x108 /* abemcpdm_lb_clk.abemcpdm_lb_clk INPUT PULLDOWN | MODE0 */ 53 + >; 54 + }; 55 + 56 + dmic_pins: pinmux_dmic_pins { 57 + pinctrl-single,pins = < 58 + 0x144 0x100 /* abedmic_din1.abedmic_din1 INPUT | MODE0 */ 59 + 0x146 0x100 /* abedmic_din2.abedmic_din2 INPUT | MODE0 */ 60 + 0x148 0x100 /* abedmic_din3.abedmic_din3 INPUT | MODE0 */ 61 + 0x14a 0 /* abedmic_clk1.abedmic_clk1 OUTPUT | MODE0 */ 62 + >; 63 + }; 64 + 65 + mcbsp1_pins: pinmux_mcbsp1_pins { 66 + pinctrl-single,pins = < 67 + 0x14c 0x101 /* abedmic_clk2.abemcbsp1_fsx INPUT | MODE1 */ 68 + 0x14e 0x9 /* abedmic_clk3.abemcbsp1_dx OUTPUT PULLDOWN | MODE1 */ 69 + 0x150 0x101 /* abeslimbus1_clock.abemcbsp1_clkx INPUT | MODE0 */ 70 + 0x152 0x109 /* abeslimbus1_data.abemcbsp1_dr INPUT PULLDOWN | MODE1 */ 71 + >; 72 + }; 73 + 74 + mcbsp2_pins: pinmux_mcbsp2_pins { 75 + pinctrl-single,pins = < 76 + 0x154 0x108 /* abemcbsp2_dr.abemcbsp2_dr INPUT PULLDOWN | MODE0 */ 77 + 0x156 0x8 /* abemcbsp2_dx.abemcbsp2_dx OUTPUT PULLDOWN | MODE0 */ 78 + 0x158 0x100 /* abemcbsp2_fsx.abemcbsp2_fsx INPUT | MODE0 */ 79 + 0x15a 0x100 /* abemcbsp2_clkx.abemcbsp2_clkx INPUT | MODE0 */ 80 + >; 81 + }; 82 + }; 83 + 30 84 &mmc1 { 31 85 vmmc-supply = <&vmmcsd_fixed>; 32 86 bus-width = <4>; ··· 135 81 0x0206006b /* END */ 136 82 0x020700d9>; /* SEARCH */ 137 83 linux,input-no-autorepeat; 84 + }; 85 + 86 + &mcbsp3 { 87 + status = "disabled"; 138 88 };
+17
arch/arm/boot/dts/omap5.dtsi
··· 77 77 ranges; 78 78 ti,hwmods = "l3_main_1", "l3_main_2", "l3_main_3"; 79 79 80 + omap5_pmx_core: pinmux@4a002840 { 81 + compatible = "ti,omap4-padconf", "pinctrl-single"; 82 + reg = <0x4a002840 0x01b6>; 83 + #address-cells = <1>; 84 + #size-cells = <0>; 85 + pinctrl-single,register-width = <16>; 86 + pinctrl-single,function-mask = <0x7fff>; 87 + }; 88 + omap5_pmx_wkup: pinmux@4ae0c840 { 89 + compatible = "ti,omap4-padconf", "pinctrl-single"; 90 + reg = <0x4ae0c840 0x0038>; 91 + #address-cells = <1>; 92 + #size-cells = <0>; 93 + pinctrl-single,register-width = <16>; 94 + pinctrl-single,function-mask = <0x7fff>; 95 + }; 96 + 80 97 gic: interrupt-controller@48211000 { 81 98 compatible = "arm,cortex-a15-gic"; 82 99 interrupt-controller;
+1 -1
arch/arm/boot/dts/tegra20-seaboard.dts
··· 539 539 nvidia,invert-interrupt; 540 540 }; 541 541 542 - memory-controller@0x7000f400 { 542 + memory-controller@7000f400 { 543 543 emc-table@190000 { 544 544 reg = <190000>; 545 545 compatible = "nvidia,tegra20-emc-table";
+2 -2
arch/arm/boot/dts/tegra20.dtsi
··· 170 170 reg = <0x7000e400 0x400>; 171 171 }; 172 172 173 - memory-controller@0x7000f000 { 173 + memory-controller@7000f000 { 174 174 compatible = "nvidia,tegra20-mc"; 175 175 reg = <0x7000f000 0x024 176 176 0x7000f03c 0x3c4>; ··· 183 183 0x58000000 0x02000000>; /* GART aperture */ 184 184 }; 185 185 186 - memory-controller@0x7000f400 { 186 + memory-controller@7000f400 { 187 187 compatible = "nvidia,tegra20-emc"; 188 188 reg = <0x7000f400 0x200>; 189 189 #address-cells = <1>;
+9 -3
arch/arm/common/it8152.c
··· 284 284 285 285 int __init it8152_pci_setup(int nr, struct pci_sys_data *sys) 286 286 { 287 - it8152_io.start = IT8152_IO_BASE + 0x12000; 288 - it8152_io.end = IT8152_IO_BASE + 0x12000 + 0x100000; 287 + /* 288 + * FIXME: use pci_ioremap_io to remap the IO space here and 289 + * move over to the generic io.h implementation. 290 + * This requires solving the same problem for PXA PCMCIA 291 + * support. 292 + */ 293 + it8152_io.start = (unsigned long)IT8152_IO_BASE + 0x12000; 294 + it8152_io.end = (unsigned long)IT8152_IO_BASE + 0x12000 + 0x100000; 289 295 290 296 sys->mem_offset = 0x10000000; 291 - sys->io_offset = IT8152_IO_BASE; 297 + sys->io_offset = (unsigned long)IT8152_IO_BASE; 292 298 293 299 if (request_resource(&ioport_resource, &it8152_io)) { 294 300 printk(KERN_ERR "PCI: unable to allocate IO region\n");
+3 -2
arch/arm/mach-at91/pm.c
··· 153 153 } 154 154 } 155 155 156 - #ifdef CONFIG_AT91_PROGRAMMABLE_CLOCKS 156 + if (!IS_ENABLED(CONFIG_AT91_PROGRAMMABLE_CLOCKS)) 157 + return 1; 158 + 157 159 /* PCK0..PCK3 must be disabled, or configured to use clk32k */ 158 160 for (i = 0; i < 4; i++) { 159 161 u32 css; ··· 169 167 return 0; 170 168 } 171 169 } 172 - #endif 173 170 174 171 return 1; 175 172 }
+1 -1
arch/arm/mach-at91/setup.c
··· 87 87 iotable_init(desc, 1); 88 88 } 89 89 90 - static struct map_desc at91_io_desc __initdata = { 90 + static struct map_desc at91_io_desc __initdata __maybe_unused = { 91 91 .virtual = (unsigned long)AT91_VA_BASE_SYS, 92 92 .pfn = __phys_to_pfn(AT91_BASE_SYS), 93 93 .length = SZ_16K,
+1 -1
arch/arm/mach-davinci/da850.c
··· 939 939 940 940 unsigned int da850_max_speed = 300000; 941 941 942 - int __init da850_register_cpufreq(char *async_clk) 942 + int da850_register_cpufreq(char *async_clk) 943 943 { 944 944 int i; 945 945
-2
arch/arm/mach-footbridge/include/mach/irqs.h
··· 89 89 #define IRQ_NETWINDER_VGA _ISA_IRQ(11) 90 90 #define IRQ_NETWINDER_SOUND _ISA_IRQ(12) 91 91 92 - #undef RTC_IRQ 93 - #define RTC_IRQ IRQ_ISA_RTC_ALARM 94 92 #define I8042_KBD_IRQ IRQ_ISA_KEYBOARD 95 93 #define I8042_AUX_IRQ (machine_is_netwinder() ? IRQ_NETWINDER_PS2MOUSE : IRQ_ISA_PS2MOUSE) 96 94 #define IRQ_FLOPPYDISK IRQ_ISA_FLOPPY
+1 -1
arch/arm/mach-integrator/include/mach/cm.h
··· 3 3 */ 4 4 void cm_control(u32, u32); 5 5 6 - #define CM_CTRL IO_ADDRESS(INTEGRATOR_HDR_CTRL) 6 + #define CM_CTRL __io_address(INTEGRATOR_HDR_CTRL) 7 7 8 8 #define CM_CTRL_LED (1 << 0) 9 9 #define CM_CTRL_nMBDET (1 << 1)
+3 -3
arch/arm/mach-integrator/include/mach/platform.h
··· 324 324 */ 325 325 #define PHYS_PCI_V3_BASE 0x62000000 326 326 327 - #define PCI_MEMORY_VADDR 0xe8000000 328 - #define PCI_CONFIG_VADDR 0xec000000 329 - #define PCI_V3_VADDR 0xed000000 327 + #define PCI_MEMORY_VADDR IOMEM(0xe8000000) 328 + #define PCI_CONFIG_VADDR IOMEM(0xec000000) 329 + #define PCI_V3_VADDR IOMEM(0xed000000) 330 330 331 331 /* ------------------------------------------------------------------------ 332 332 * Integrator Interrupt Controllers
+1 -1
arch/arm/mach-integrator/integrator_ap.c
··· 157 157 static void __init ap_map_io(void) 158 158 { 159 159 iotable_init(ap_io_desc, ARRAY_SIZE(ap_io_desc)); 160 - vga_base = PCI_MEMORY_VADDR; 160 + vga_base = (unsigned long)PCI_MEMORY_VADDR; 161 161 pci_map_io_early(__phys_to_pfn(PHYS_PCI_IO_BASE)); 162 162 } 163 163
+2 -2
arch/arm/mach-integrator/integrator_cp.c
··· 261 261 #endif 262 262 } 263 263 264 + #ifdef CONFIG_OF 265 + 264 266 static void __init intcp_timer_init_of(void) 265 267 { 266 268 struct device_node *node; ··· 298 296 static struct sys_timer cp_of_timer = { 299 297 .init = intcp_timer_init_of, 300 298 }; 301 - 302 - #ifdef CONFIG_OF 303 299 304 300 static const struct of_device_id fpga_irq_of_match[] __initconst = { 305 301 { .compatible = "arm,versatile-fpga-irq", .data = fpga_irq_of_init, },
+1 -1
arch/arm/mach-iop13xx/iq81340sc.c
··· 30 30 extern int init_atu; 31 31 32 32 static int __init 33 - iq81340sc_atux_map_irq(struct pci_dev *dev, u8 idsel, u8 pin) 33 + iq81340sc_atux_map_irq(const struct pci_dev *dev, u8 idsel, u8 pin) 34 34 { 35 35 WARN_ON(idsel < 1 || idsel > 2); 36 36
+1 -1
arch/arm/mach-iop13xx/pci.c
··· 504 504 505 505 /* Scan an IOP13XX PCI bus. nr selects which ATU we use. 506 506 */ 507 - struct pci_bus *iop13xx_scan_bus(int nr, struct pci_sys_data *sys) 507 + struct pci_bus * __devinit iop13xx_scan_bus(int nr, struct pci_sys_data *sys) 508 508 { 509 509 int which_atu; 510 510 struct pci_bus *bus = NULL;
+2 -1
arch/arm/mach-ks8695/include/mach/memory.h
··· 34 34 #define __arch_dma_to_virt(dev, x) ({ (void *) (is_lbus_device(dev) ? \ 35 35 __phys_to_virt(x) : __bus_to_virt(x)); }) 36 36 #define __arch_virt_to_dma(dev, x) ({ is_lbus_device(dev) ? \ 37 - (dma_addr_t)__virt_to_phys(x) : (dma_addr_t)__virt_to_bus(x); }) 37 + (dma_addr_t)__virt_to_phys((unsigned long)x) \ 38 + : (dma_addr_t)__virt_to_bus(x); }) 38 39 #define __arch_pfn_to_dma(dev, pfn) \ 39 40 ({ dma_addr_t __dma = __pfn_to_phys(pfn); \ 40 41 if (!is_lbus_device(dev)) \
+1 -1
arch/arm/mach-mv78xx0/addr-map.c
··· 54 54 /* 55 55 * Description of the windows needed by the platform code 56 56 */ 57 - static struct __initdata orion_addr_map_cfg addr_map_cfg = { 57 + static struct orion_addr_map_cfg addr_map_cfg __initdata = { 58 58 .num_wins = 14, 59 59 .remappable_wins = 8, 60 60 .win_cfg_base = win_cfg_base,
+1 -1
arch/arm/mach-mv78xx0/common.c
··· 336 336 orion_time_set_base(TIMER_VIRT_BASE); 337 337 } 338 338 339 - static void mv78xx0_timer_init(void) 339 + static void __init_refok mv78xx0_timer_init(void) 340 340 { 341 341 orion_time_init(BRIDGE_VIRT_BASE, BRIDGE_INT_TIMER1_CLR, 342 342 IRQ_MV78XX0_TIMER_1, get_tclk());
+1 -1
arch/arm/mach-omap1/devices.c
··· 231 231 232 232 omap_mmc_add("mmci-omap", i, base, size, irq, 233 233 rx_req, tx_req, mmc_data[i]); 234 - }; 234 + } 235 235 } 236 236 237 237 #endif
+26
arch/arm/mach-omap2/board-4430sdp.c
··· 830 830 /* NIRQ2 for twl6040 */ 831 831 OMAP4_MUX(SYS_NIRQ2, OMAP_MUX_MODE0 | 832 832 OMAP_PIN_INPUT_PULLUP | OMAP_PIN_OFF_WAKEUPENABLE), 833 + /* GPIO_127 for twl6040 */ 834 + OMAP4_MUX(HDQ_SIO, OMAP_MUX_MODE3 | OMAP_PIN_OUTPUT), 835 + /* McPDM */ 836 + OMAP4_MUX(ABE_PDM_UL_DATA, OMAP_MUX_MODE0 | OMAP_PIN_INPUT_PULLDOWN), 837 + OMAP4_MUX(ABE_PDM_DL_DATA, OMAP_MUX_MODE0 | OMAP_PIN_INPUT_PULLDOWN), 838 + OMAP4_MUX(ABE_PDM_FRAME, OMAP_MUX_MODE0 | OMAP_PIN_INPUT_PULLUP), 839 + OMAP4_MUX(ABE_PDM_LB_CLK, OMAP_MUX_MODE0 | OMAP_PIN_INPUT_PULLDOWN), 840 + OMAP4_MUX(ABE_CLKS, OMAP_MUX_MODE0 | OMAP_PIN_INPUT_PULLDOWN), 841 + /* DMIC */ 842 + OMAP4_MUX(ABE_DMIC_CLK1, OMAP_MUX_MODE0 | OMAP_PIN_OUTPUT), 843 + OMAP4_MUX(ABE_DMIC_DIN1, OMAP_MUX_MODE0 | OMAP_PIN_INPUT), 844 + OMAP4_MUX(ABE_DMIC_DIN2, OMAP_MUX_MODE0 | OMAP_PIN_INPUT), 845 + OMAP4_MUX(ABE_DMIC_DIN3, OMAP_MUX_MODE0 | OMAP_PIN_INPUT), 846 + /* McBSP1 */ 847 + OMAP4_MUX(ABE_MCBSP1_CLKX, OMAP_MUX_MODE0 | OMAP_PIN_INPUT), 848 + OMAP4_MUX(ABE_MCBSP1_DR, OMAP_MUX_MODE0 | OMAP_PIN_INPUT_PULLDOWN), 849 + OMAP4_MUX(ABE_MCBSP1_DX, OMAP_MUX_MODE0 | OMAP_PIN_OUTPUT | 850 + OMAP_PULL_ENA), 851 + OMAP4_MUX(ABE_MCBSP1_FSX, OMAP_MUX_MODE0 | OMAP_PIN_INPUT), 852 + /* McBSP2 */ 853 + OMAP4_MUX(ABE_MCBSP2_CLKX, OMAP_MUX_MODE0 | OMAP_PIN_INPUT), 854 + OMAP4_MUX(ABE_MCBSP2_DR, OMAP_MUX_MODE0 | OMAP_PIN_INPUT_PULLDOWN), 855 + OMAP4_MUX(ABE_MCBSP2_DX, OMAP_MUX_MODE0 | OMAP_PIN_OUTPUT | 856 + OMAP_PULL_ENA), 857 + OMAP4_MUX(ABE_MCBSP2_FSX, OMAP_MUX_MODE0 | OMAP_PIN_INPUT), 858 + 833 859 { .reg_offset = OMAP_MUX_TERMINATOR }, 834 860 }; 835 861
+1 -1
arch/arm/mach-omap2/board-flash.c
··· 218 218 if (onenandcs > GPMC_CS_NUM) 219 219 onenandcs = cs; 220 220 break; 221 - }; 221 + } 222 222 cs++; 223 223 } 224 224
+1 -1
arch/arm/mach-omap2/board-omap3beagle.c
··· 461 461 mpu_dev = omap_device_get_by_hwmod_name("mpu"); 462 462 iva_dev = omap_device_get_by_hwmod_name("iva"); 463 463 464 - if (!mpu_dev || !iva_dev) { 464 + if (IS_ERR(mpu_dev) || IS_ERR(iva_dev)) { 465 465 pr_err("%s: Aiee.. no mpu/dsp devices? %p %p\n", 466 466 __func__, mpu_dev, iva_dev); 467 467 return;
+1 -2
arch/arm/mach-omap2/board-omap3evm.c
··· 88 88 89 89 static u8 omap3_evm_version; 90 90 91 - u8 get_omap3_evm_rev(void) 91 + static u8 get_omap3_evm_rev(void) 92 92 { 93 93 return omap3_evm_version; 94 94 } 95 - EXPORT_SYMBOL(get_omap3_evm_rev); 96 95 97 96 static void __init omap3_evm_get_revision(void) 98 97 {
-5
arch/arm/mach-omap2/board-omap3stalker.c
··· 48 48 #include <video/omap-panel-tfp410.h> 49 49 50 50 #include <linux/platform_data/spi-omap2-mcspi.h> 51 - #include <linux/input/matrix_keypad.h> 52 - #include <linux/spi/spi.h> 53 - #include <linux/interrupt.h> 54 - #include <linux/smsc911x.h> 55 - #include <linux/i2c/at24.h> 56 51 57 52 #include "sdram-micron-mt46h32m32lf-6.h" 58 53 #include "mux.h"
+16 -2
arch/arm/mach-omap2/board-omap4panda.c
··· 247 247 }; 248 248 249 249 static struct wl12xx_platform_data omap_panda_wlan_data __initdata = { 250 - /* PANDA ref clock is 38.4 MHz */ 251 - .board_ref_clock = 2, 250 + .board_ref_clock = WL12XX_REFCLOCK_38, /* 38.4 MHz */ 252 251 }; 253 252 254 253 static struct twl6040_codec_data twl6040_codec = { ··· 387 388 /* NIRQ2 for twl6040 */ 388 389 OMAP4_MUX(SYS_NIRQ2, OMAP_MUX_MODE0 | 389 390 OMAP_PIN_INPUT_PULLUP | OMAP_PIN_OFF_WAKEUPENABLE), 391 + /* GPIO_127 for twl6040 */ 392 + OMAP4_MUX(HDQ_SIO, OMAP_MUX_MODE3 | OMAP_PIN_OUTPUT), 393 + /* McPDM */ 394 + OMAP4_MUX(ABE_PDM_UL_DATA, OMAP_MUX_MODE0 | OMAP_PIN_INPUT_PULLDOWN), 395 + OMAP4_MUX(ABE_PDM_DL_DATA, OMAP_MUX_MODE0 | OMAP_PIN_INPUT_PULLDOWN), 396 + OMAP4_MUX(ABE_PDM_FRAME, OMAP_MUX_MODE0 | OMAP_PIN_INPUT_PULLUP), 397 + OMAP4_MUX(ABE_PDM_LB_CLK, OMAP_MUX_MODE0 | OMAP_PIN_INPUT_PULLDOWN), 398 + OMAP4_MUX(ABE_CLKS, OMAP_MUX_MODE0 | OMAP_PIN_INPUT_PULLDOWN), 399 + /* McBSP1 */ 400 + OMAP4_MUX(ABE_MCBSP1_CLKX, OMAP_MUX_MODE0 | OMAP_PIN_INPUT), 401 + OMAP4_MUX(ABE_MCBSP1_DR, OMAP_MUX_MODE0 | OMAP_PIN_INPUT_PULLDOWN), 402 + OMAP4_MUX(ABE_MCBSP1_DX, OMAP_MUX_MODE0 | OMAP_PIN_OUTPUT | 403 + OMAP_PULL_ENA), 404 + OMAP4_MUX(ABE_MCBSP1_FSX, OMAP_MUX_MODE0 | OMAP_PIN_INPUT), 405 + 390 406 { .reg_offset = OMAP_MUX_TERMINATOR }, 391 407 }; 392 408
+1 -1
arch/arm/mach-omap2/board-rx51-peripherals.c
··· 748 748 .subdev_board_info = &rx51_si4713_board_info, 749 749 }; 750 750 751 - static struct platform_device rx51_si4713_dev = { 751 + static struct platform_device rx51_si4713_dev __initdata_or_module = { 752 752 .name = "radio-si4713", 753 753 .id = -1, 754 754 .dev = {
+1 -2
arch/arm/mach-omap2/board-zoom-peripherals.c
··· 195 195 }; 196 196 197 197 static struct wl12xx_platform_data omap_zoom_wlan_data __initdata = { 198 - /* ZOOM ref clock is 26 MHz */ 199 - .board_ref_clock = 1, 198 + .board_ref_clock = WL12XX_REFCLOCK_26, /* 26 MHz */ 200 199 }; 201 200 202 201 static struct omap2_hsmmc_info mmc[] = {
+1 -1
arch/arm/mach-omap2/clkt_clksel.c
··· 382 382 __clk_get_name(parent) : 383 383 "NULL")); 384 384 clk_reparent(clk, clks->parent); 385 - }; 385 + } 386 386 found = 1; 387 387 } 388 388 }
+2
arch/arm/mach-omap2/clock33xx_data.c
··· 1035 1035 CLK(NULL, "pruss_ocp_gclk", &pruss_ocp_gclk, CK_AM33XX), 1036 1036 CLK("davinci-mcasp.0", NULL, &mcasp0_fck, CK_AM33XX), 1037 1037 CLK("davinci-mcasp.1", NULL, &mcasp1_fck, CK_AM33XX), 1038 + CLK(NULL, "mcasp0_fck", &mcasp0_fck, CK_AM33XX), 1039 + CLK(NULL, "mcasp1_fck", &mcasp1_fck, CK_AM33XX), 1038 1040 CLK("NULL", "mmc2_fck", &mmc2_fck, CK_AM33XX), 1039 1041 CLK(NULL, "mmu_fck", &mmu_fck, CK_AM33XX), 1040 1042 CLK(NULL, "smartreflex0_fck", &smartreflex0_fck, CK_AM33XX),
+22 -22
arch/arm/mach-omap2/clockdomain2xxx_3xxx.c
··· 183 183 if (!clkdm->clktrctrl_mask) 184 184 return 0; 185 185 186 - /* 187 - * The CLKDM_MISSING_IDLE_REPORTING flag documentation has 188 - * more details on the unpleasant problem this is working 189 - * around 190 - */ 191 - if (clkdm->flags & CLKDM_MISSING_IDLE_REPORTING && 192 - !(clkdm->flags & CLKDM_CAN_FORCE_SLEEP)) { 193 - _enable_hwsup(clkdm); 194 - return 0; 195 - } 196 - 197 186 hwsup = omap2_cm_is_clkdm_in_hwsup(clkdm->pwrdm.ptr->prcm_offs, 198 187 clkdm->clktrctrl_mask); 199 188 ··· 205 216 206 217 if (!clkdm->clktrctrl_mask) 207 218 return 0; 208 - 209 - /* 210 - * The CLKDM_MISSING_IDLE_REPORTING flag documentation has 211 - * more details on the unpleasant problem this is working 212 - * around 213 - */ 214 - if ((clkdm->flags & CLKDM_MISSING_IDLE_REPORTING) && 215 - (clkdm->flags & CLKDM_CAN_FORCE_WAKEUP)) { 216 - omap3_clkdm_wakeup(clkdm); 217 - return 0; 218 - } 219 219 220 220 hwsup = omap2_cm_is_clkdm_in_hwsup(clkdm->pwrdm.ptr->prcm_offs, 221 221 clkdm->clktrctrl_mask); ··· 247 269 if (!clkdm->clktrctrl_mask) 248 270 return 0; 249 271 272 + /* 273 + * The CLKDM_MISSING_IDLE_REPORTING flag documentation has 274 + * more details on the unpleasant problem this is working 275 + * around 276 + */ 277 + if ((clkdm->flags & CLKDM_MISSING_IDLE_REPORTING) && 278 + (clkdm->flags & CLKDM_CAN_FORCE_WAKEUP)) { 279 + omap3_clkdm_wakeup(clkdm); 280 + return 0; 281 + } 282 + 250 283 hwsup = omap2_cm_is_clkdm_in_hwsup(clkdm->pwrdm.ptr->prcm_offs, 251 284 clkdm->clktrctrl_mask); 252 285 ··· 280 291 281 292 if (!clkdm->clktrctrl_mask) 282 293 return 0; 294 + 295 + /* 296 + * The CLKDM_MISSING_IDLE_REPORTING flag documentation has 297 + * more details on the unpleasant problem this is working 298 + * around 299 + */ 300 + if (clkdm->flags & CLKDM_MISSING_IDLE_REPORTING && 301 + !(clkdm->flags & CLKDM_CAN_FORCE_SLEEP)) { 302 + _enable_hwsup(clkdm); 303 + return 0; 304 + } 283 305 284 306 hwsup = omap2_cm_is_clkdm_in_hwsup(clkdm->pwrdm.ptr->prcm_offs, 285 307 clkdm->clktrctrl_mask);
+1 -1
arch/arm/mach-omap2/display.c
··· 221 221 222 222 ohs[0] = oh; 223 223 od = omap_device_alloc(pdev, ohs, 1, NULL, 0); 224 - if (!od) { 224 + if (IS_ERR(od)) { 225 225 pr_err("Could not alloc omap_device for %s\n", pdev_name); 226 226 r = -ENOMEM; 227 227 goto err;
+2 -2
arch/arm/mach-omap2/gpmc.c
··· 838 838 return request_irq(gpmc_irq, gpmc_handle_irq, 0, "gpmc", NULL); 839 839 } 840 840 841 - static __exit int gpmc_free_irq(void) 841 + static __devexit int gpmc_free_irq(void) 842 842 { 843 843 int i; 844 844 ··· 944 944 return 0; 945 945 } 946 946 947 - static __exit int gpmc_remove(struct platform_device *pdev) 947 + static __devexit int gpmc_remove(struct platform_device *pdev) 948 948 { 949 949 gpmc_free_irq(); 950 950 gpmc_mem_exit();
+1 -1
arch/arm/mach-omap2/hsmmc.c
··· 523 523 dev_set_name(&pdev->dev, "%s.%d", pdev->name, pdev->id); 524 524 525 525 od = omap_device_alloc(pdev, ohs, 1, NULL, 0); 526 - if (!od) { 526 + if (IS_ERR(od)) { 527 527 pr_err("Could not allocate od for %s\n", name); 528 528 goto put_pdev; 529 529 }
+1 -1
arch/arm/mach-omap2/mux.c
··· 486 486 default: 487 487 /* Nothing to be done */ 488 488 break; 489 - }; 489 + } 490 490 491 491 if (val >= 0) { 492 492 omap_mux_write(pad->partition, val,
+2 -2
arch/arm/mach-omap2/omap-secure.c
··· 61 61 { 62 62 u32 size = OMAP_SECURE_RAM_STORAGE; 63 63 64 - size = ALIGN(size, SZ_1M); 65 - omap_secure_memblock_base = arm_memblock_steal(size, SZ_1M); 64 + size = ALIGN(size, SECTION_SIZE); 65 + omap_secure_memblock_base = arm_memblock_steal(size, SECTION_SIZE); 66 66 67 67 return 0; 68 68 }
+27 -4
arch/arm/mach-omap2/omap_hwmod.c
··· 1698 1698 } 1699 1699 1700 1700 /** 1701 + * _are_any_hardreset_lines_asserted - return true if any part of @oh is 1702 + * hard-reset 1703 + * @oh: struct omap_hwmod * 1704 + * 1705 + * If any hardreset lines associated with @oh are asserted, then 1706 + * return true. Otherwise, if no hardreset lines associated with @oh 1707 + * are asserted, or if @oh has no hardreset lines, then return false. 1708 + * This function is used to avoid executing some parts of the IP block 1709 + * enable/disable sequence if any hardreset line is set. 1710 + */ 1711 + static bool _are_any_hardreset_lines_asserted(struct omap_hwmod *oh) 1712 + { 1713 + int rst_cnt = 0; 1714 + int i; 1715 + 1716 + for (i = 0; i < oh->rst_lines_cnt && rst_cnt == 0; i++) 1717 + if (_read_hardreset(oh, oh->rst_lines[i].name) > 0) 1718 + rst_cnt++; 1719 + 1720 + return (rst_cnt) ? true : false; 1721 + } 1722 + 1723 + /** 1701 1724 * _omap4_disable_module - enable CLKCTRL modulemode on OMAP4 1702 1725 * @oh: struct omap_hwmod * 1703 1726 * ··· 1738 1715 * Since integration code might still be doing something, only 1739 1716 * disable if all lines are under hardreset. 1740 1717 */ 1741 - if (!_are_all_hardreset_lines_asserted(oh)) 1718 + if (_are_any_hardreset_lines_asserted(oh)) 1742 1719 return 0; 1743 1720 1744 1721 pr_debug("omap_hwmod: %s: %s\n", oh->name, __func__); ··· 1772 1749 1773 1750 pr_debug("omap_hwmod: %s: %s\n", oh->name, __func__); 1774 1751 1752 + if (_are_any_hardreset_lines_asserted(oh)) 1753 + return 0; 1754 + 1775 1755 am33xx_cm_module_disable(oh->clkdm->cm_inst, oh->clkdm->clkdm_offs, 1776 1756 oh->prcm.omap4.clkctrl_offs); 1777 - 1778 - if (_are_all_hardreset_lines_asserted(oh)) 1779 - return 0; 1780 1757 1781 1758 v = _am33xx_wait_target_disable(oh); 1782 1759 if (v)
+1 -1
arch/arm/mach-omap2/omap_hwmod_2xxx_ipblock_data.c
··· 219 219 220 220 /* MPU */ 221 221 static struct omap_hwmod_irq_info omap2xxx_mpu_irqs[] = { 222 - { .name = "pmu", .irq = 3 }, 222 + { .name = "pmu", .irq = 3 + OMAP_INTC_START }, 223 223 { .irq = -1 } 224 224 }; 225 225
+5 -4
arch/arm/mach-omap2/omap_hwmod_3xxx_data.c
··· 94 94 95 95 /* MPU */ 96 96 static struct omap_hwmod_irq_info omap3xxx_mpu_irqs[] = { 97 - { .name = "pmu", .irq = 3 }, 97 + { .name = "pmu", .irq = 3 + OMAP_INTC_START }, 98 98 { .irq = -1 } 99 99 }; 100 100 ··· 3683 3683 &omap3xxx_l4_core__usb_tll_hs, 3684 3684 &omap3xxx_l4_core__es3plus_mmc1, 3685 3685 &omap3xxx_l4_core__es3plus_mmc2, 3686 + &omap3xxx_l4_core__hdq1w, 3686 3687 &am35xx_mdio__l3, 3687 3688 &am35xx_l4_core__mdio, 3688 3689 &am35xx_emac__l3, ··· 3738 3737 } else { 3739 3738 WARN(1, "OMAP3 hwmod family init: unknown chip type\n"); 3740 3739 return -EINVAL; 3741 - }; 3740 + } 3742 3741 3743 3742 r = omap_hwmod_register_links(h); 3744 3743 if (r < 0) ··· 3755 3754 rev == OMAP3430_REV_ES3_0 || rev == OMAP3430_REV_ES3_1 || 3756 3755 rev == OMAP3430_REV_ES3_1_2) { 3757 3756 h = omap3430es2plus_hwmod_ocp_ifs; 3758 - }; 3757 + } 3759 3758 3760 3759 if (h) { 3761 3760 r = omap_hwmod_register_links(h); ··· 3770 3769 } else if (rev == OMAP3430_REV_ES3_0 || rev == OMAP3430_REV_ES3_1 || 3771 3770 rev == OMAP3430_REV_ES3_1_2) { 3772 3771 h = omap3430_es3plus_hwmod_ocp_ifs; 3773 - }; 3772 + } 3774 3773 3775 3774 if (h) 3776 3775 r = omap_hwmod_register_links(h);
+17 -6
arch/arm/mach-omap2/opp.c
··· 18 18 */ 19 19 #include <linux/module.h> 20 20 #include <linux/opp.h> 21 + #include <linux/cpu.h> 21 22 22 23 #include <plat/omap_device.h> 23 24 ··· 63 62 __func__, i); 64 63 return -EINVAL; 65 64 } 66 - oh = omap_hwmod_lookup(opp_def->hwmod_name); 67 - if (!oh || !oh->od) { 68 - pr_debug("%s: no hwmod or odev for %s, [%d] cannot add OPPs.\n", 69 - __func__, opp_def->hwmod_name, i); 70 - continue; 65 + 66 + if (!strncmp(opp_def->hwmod_name, "mpu", 3)) { 67 + /* 68 + * All current OMAPs share voltage rail and 69 + * clock source, so CPU0 is used to represent 70 + * the MPU-SS. 71 + */ 72 + dev = get_cpu_device(0); 73 + } else { 74 + oh = omap_hwmod_lookup(opp_def->hwmod_name); 75 + if (!oh || !oh->od) { 76 + pr_debug("%s: no hwmod or odev for %s, [%d] cannot add OPPs.\n", 77 + __func__, opp_def->hwmod_name, i); 78 + continue; 79 + } 80 + dev = &oh->od->pdev->dev; 71 81 } 72 - dev = &oh->od->pdev->dev; 73 82 74 83 r = opp_add(dev, opp_def->freq, opp_def->u_volt); 75 84 if (r) {
+1 -1
arch/arm/mach-omap2/pm-debug.c
··· 168 168 default: 169 169 return single_open(file, pm_dbg_show_timers, 170 170 &inode->i_private); 171 - }; 171 + } 172 172 } 173 173 174 174 static const struct file_operations debug_fops = {
+11 -2
arch/arm/mach-omap2/pm.c
··· 16 16 #include <linux/opp.h> 17 17 #include <linux/export.h> 18 18 #include <linux/suspend.h> 19 + #include <linux/cpu.h> 19 20 20 21 #include <asm/system_misc.h> 21 22 ··· 170 169 goto exit; 171 170 } 172 171 173 - dev = omap_device_get_by_hwmod_name(oh_name); 172 + if (!strncmp(oh_name, "mpu", 3)) 173 + /* 174 + * All current OMAPs share voltage rail and clock 175 + * source, so CPU0 is used to represent the MPU-SS. 176 + */ 177 + dev = get_cpu_device(0); 178 + else 179 + dev = omap_device_get_by_hwmod_name(oh_name); 180 + 174 181 if (IS_ERR(dev)) { 175 182 pr_err("%s: Unable to get dev pointer for hwmod %s\n", 176 183 __func__, oh_name); ··· 186 177 } 187 178 188 179 voltdm = voltdm_lookup(vdd_name); 189 - if (IS_ERR(voltdm)) { 180 + if (!voltdm) { 190 181 pr_err("%s: unable to get vdd pointer for vdd_%s\n", 191 182 __func__, vdd_name); 192 183 goto exit;
+1 -1
arch/arm/mach-omap2/sr_device.c
··· 122 122 sr_data->senp_mod = 0x1; 123 123 124 124 sr_data->voltdm = voltdm_lookup(sr_dev_attr->sensor_voltdm_name); 125 - if (IS_ERR(sr_data->voltdm)) { 125 + if (!sr_data->voltdm) { 126 126 pr_err("%s: Unable to get voltage domain pointer for VDD %s\n", 127 127 __func__, sr_dev_attr->sensor_voltdm_name); 128 128 goto exit;
+1 -1
arch/arm/mach-omap2/timer.c
··· 378 378 return; 379 379 } 380 380 sys_clk = clk_get(NULL, "sys_clkin_ck"); 381 - if (!sys_clk) { 381 + if (IS_ERR(sys_clk)) { 382 382 pr_err("%s: failed to get system clock handle\n", __func__); 383 383 iounmap(base); 384 384 return;
+1 -1
arch/arm/mach-omap2/twl-common.c
··· 158 158 }; 159 159 160 160 static struct regulator_consumer_supply omap3_vdd1_supply[] = { 161 - REGULATOR_SUPPLY("vcc", "mpu.0"), 161 + REGULATOR_SUPPLY("vcc", "cpu0"), 162 162 }; 163 163 164 164 static struct regulator_consumer_supply omap3_vdd2_supply[] = {
+1
arch/arm/mach-pxa/cm-x2xx.c
··· 22 22 #include <asm/mach/map.h> 23 23 24 24 #include <mach/pxa25x.h> 25 + #undef GPIO24_SSP1_SFRM 25 26 #include <mach/pxa27x.h> 26 27 #include <mach/audio.h> 27 28 #include <linux/platform_data/video-pxafb.h>
+2
arch/arm/mach-pxa/palmte2.c
··· 105 105 .gpio_power = GPIO_NR_PALMTE2_SD_POWER, 106 106 }; 107 107 108 + #if defined(CONFIG_KEYBOARD_GPIO) || defined(CONFIG_KEYBOARD_GPIO_MODULE) 108 109 /****************************************************************************** 109 110 * GPIO keys 110 111 ******************************************************************************/ ··· 133 132 .platform_data = &palmte2_pxa_keys_data, 134 133 }, 135 134 }; 135 + #endif 136 136 137 137 /****************************************************************************** 138 138 * Backlight
-48
arch/arm/mach-pxa/sharpsl_pm.c
··· 55 55 #ifdef CONFIG_PM 56 56 static int sharpsl_off_charge_battery(void); 57 57 static int sharpsl_check_battery_voltage(void); 58 - static int sharpsl_fatal_check(void); 59 58 #endif 60 59 static int sharpsl_check_battery_temp(void); 61 60 static int sharpsl_ac_check(void); ··· 682 683 683 684 dev_dbg(sharpsl_pm.dev, "SharpSL resuming...\n"); 684 685 685 - return 0; 686 - } 687 - 688 - /* 689 - * Check for fatal battery errors 690 - * Fatal returns -1 691 - */ 692 - static int sharpsl_fatal_check(void) 693 - { 694 - int buff[5], temp, i, acin; 695 - 696 - dev_dbg(sharpsl_pm.dev, "sharpsl_fatal_check entered\n"); 697 - 698 - /* Check AC-Adapter */ 699 - acin = sharpsl_pm.machinfo->read_devdata(SHARPSL_STATUS_ACIN); 700 - 701 - if (acin && (sharpsl_pm.charge_mode == CHRG_ON)) { 702 - sharpsl_pm.machinfo->charge(0); 703 - udelay(100); 704 - sharpsl_pm.machinfo->discharge(1); /* enable discharge */ 705 - mdelay(SHARPSL_WAIT_DISCHARGE_ON); 706 - } 707 - 708 - if (sharpsl_pm.machinfo->discharge1) 709 - sharpsl_pm.machinfo->discharge1(1); 710 - 711 - /* Check battery : check inserting battery ? */ 712 - for (i = 0; i < 5; i++) { 713 - buff[i] = sharpsl_pm.machinfo->read_devdata(SHARPSL_BATT_VOLT); 714 - mdelay(SHARPSL_CHECK_BATTERY_WAIT_TIME_VOLT); 715 - } 716 - 717 - if (sharpsl_pm.machinfo->discharge1) 718 - sharpsl_pm.machinfo->discharge1(0); 719 - 720 - if (acin && (sharpsl_pm.charge_mode == CHRG_ON)) { 721 - udelay(100); 722 - sharpsl_pm.machinfo->charge(1); 723 - sharpsl_pm.machinfo->discharge(0); 724 - } 725 - 726 - temp = get_select_val(buff); 727 - dev_dbg(sharpsl_pm.dev, "sharpsl_fatal_check: acin: %d, discharge voltage: %d, no discharge: %ld\n", acin, temp, sharpsl_pm.machinfo->read_devdata(SHARPSL_BATT_VOLT)); 728 - 729 - if ((acin && (temp < sharpsl_pm.machinfo->fatal_acin_volt)) || 730 - (!acin && (temp < sharpsl_pm.machinfo->fatal_noacin_volt))) 731 - return -1; 732 686 return 0; 733 687 } 734 688
+1 -2
arch/arm/mach-pxa/viper.c
··· 768 768 769 769 static int __init viper_tpm_setup(char *str) 770 770 { 771 - strict_strtoul(str, 10, &viper_tpm); 772 - return 1; 771 + return strict_strtoul(str, 10, &viper_tpm) >= 0; 773 772 } 774 773 775 774 __setup("tpm=", viper_tpm_setup);
+3 -1
arch/arm/mach-rpc/ecard.c
··· 960 960 *ecp = ec; 961 961 slot_to_expcard[slot] = ec; 962 962 963 - device_register(&ec->dev); 963 + rc = device_register(&ec->dev); 964 + if (rc) 965 + goto nodev; 964 966 965 967 return 0; 966 968
+3 -3
arch/arm/mach-s3c24xx/irq-s3c2416.c
··· 232 232 233 233 /* IRQ initialisation code */ 234 234 235 - static int __init s3c2416_add_sub(unsigned int base, 235 + static int s3c2416_add_sub(unsigned int base, 236 236 void (*demux)(unsigned int, 237 237 struct irq_desc *), 238 238 struct irq_chip *chip, ··· 251 251 return 0; 252 252 } 253 253 254 - static void __init s3c2416_irq_add_second(void) 254 + static void s3c2416_irq_add_second(void) 255 255 { 256 256 unsigned long pend; 257 257 unsigned long last; ··· 287 287 } 288 288 } 289 289 290 - static int __init s3c2416_irq_add(struct device *dev, 290 + static int s3c2416_irq_add(struct device *dev, 291 291 struct subsys_interface *sif) 292 292 { 293 293 printk(KERN_INFO "S3C2416: IRQ Support\n");
+2 -2
arch/arm/mach-s3c24xx/irq-s3c2443.c
··· 222 222 223 223 /* IRQ initialisation code */ 224 224 225 - static int __init s3c2443_add_sub(unsigned int base, 225 + static int s3c2443_add_sub(unsigned int base, 226 226 void (*demux)(unsigned int, 227 227 struct irq_desc *), 228 228 struct irq_chip *chip, ··· 241 241 return 0; 242 242 } 243 243 244 - static int __init s3c2443_irq_add(struct device *dev, 244 + static int s3c2443_irq_add(struct device *dev, 245 245 struct subsys_interface *sif) 246 246 { 247 247 printk("S3C2443: IRQ Support\n");
+1 -1
arch/arm/mach-s3c24xx/simtec-usb.c
··· 104 104 }; 105 105 106 106 107 - int usb_simtec_init(void) 107 + int __init usb_simtec_init(void) 108 108 { 109 109 int ret; 110 110
+1 -1
arch/arm/mach-sa1100/assabet.c
··· 388 388 */ 389 389 static void __init get_assabet_scr(void) 390 390 { 391 - unsigned long scr, i; 391 + unsigned long uninitialized_var(scr), i; 392 392 393 393 GPDR |= 0x3fc; /* Configure GPIO 9:2 as outputs */ 394 394 GPSR = 0x3fc; /* Write 0xFF to GPIO 9:2 */
+1 -1
arch/arm/mach-shark/pci.c
··· 41 41 static int __init shark_pci_init(void) 42 42 { 43 43 if (!machine_is_shark()) 44 - return; 44 + return -ENODEV; 45 45 46 46 pcibios_min_io = 0x6000; 47 47 pcibios_min_mem = 0x50000000;
+1 -1
arch/arm/mach-shmobile/include/mach/common.h
··· 100 100 101 101 extern void shmobile_smp_init_cpus(unsigned int ncores); 102 102 103 - static inline void shmobile_init_late(void) 103 + static inline void __init shmobile_init_late(void) 104 104 { 105 105 shmobile_suspend_init(); 106 106 shmobile_cpuidle_init();
+2 -4
arch/arm/mach-tegra/Kconfig
··· 16 16 select ARM_ERRATA_742230 17 17 select ARM_ERRATA_751472 18 18 select ARM_ERRATA_754327 19 - select ARM_ERRATA_764369 19 + select ARM_ERRATA_764369 if SMP 20 20 select PL310_ERRATA_727915 if CACHE_L2X0 21 21 select PL310_ERRATA_769419 if CACHE_L2X0 22 22 select CPU_FREQ_TABLE if CPU_FREQ ··· 37 37 select ARM_ERRATA_743622 38 38 select ARM_ERRATA_751472 39 39 select ARM_ERRATA_754322 40 - select ARM_ERRATA_764369 40 + select ARM_ERRATA_764369 if SMP 41 41 select PL310_ERRATA_769419 if CACHE_L2X0 42 42 select CPU_FREQ_TABLE if CPU_FREQ 43 43 help ··· 56 56 Adds AHB configuration functionality for NVIDIA Tegra SoCs, 57 57 which controls AHB bus master arbitration and some 58 58 perfomance parameters(priority, prefech size). 59 - 60 - comment "Tegra board type" 61 59 62 60 choice 63 61 prompt "Default low-level debug console UART"
+2 -2
arch/arm/mach-ux500/Kconfig
··· 5 5 default y 6 6 select ARM_GIC 7 7 select HAS_MTU 8 - select PL310_ERRATA_753970 8 + select PL310_ERRATA_753970 if CACHE_PL310 9 9 select ARM_ERRATA_754322 10 - select ARM_ERRATA_764369 10 + select ARM_ERRATA_764369 if SMP 11 11 select CACHE_L2X0 12 12 select PINCTRL 13 13 select PINCTRL_NOMADIK
+4 -4
arch/arm/mach-vt8500/include/mach/uncompress.h
··· 15 15 * 16 16 */ 17 17 18 - #define UART0_PHYS 0xd8200000 19 - #include <asm/io.h> 18 + #define UART0_PHYS 0xd8200000 19 + #define UART0_ADDR(x) *(volatile unsigned char *)(UART0_PHYS + x) 20 20 21 21 static void putc(const char c) 22 22 { 23 - while (readb(UART0_PHYS + 0x1c) & 0x2) 23 + while (UART0_ADDR(0x1c) & 0x2) 24 24 /* Tx busy, wait and poll */; 25 25 26 - writeb(c, UART0_PHYS); 26 + UART0_ADDR(0) = c; 27 27 } 28 28 29 29 static void flush(void)
+4 -1
arch/arm/mach-vt8500/vt8500.c
··· 77 77 78 78 void __init vt8500_init(void) 79 79 { 80 - struct device_node *np, *fb; 80 + struct device_node *np; 81 + #if defined(CONFIG_FB_VT8500) || defined(CONFIG_FB_WM8505) 82 + struct device_node *fb; 81 83 void __iomem *gpio_base; 84 + #endif 82 85 83 86 #ifdef CONFIG_FB_VT8500 84 87 fb = of_find_compatible_node(NULL, NULL, "via,vt8500-fb");
+2
arch/arm/plat-omap/Kconfig
··· 43 43 44 44 config OMAP_DEBUG_LEDS 45 45 def_bool y if NEW_LEDS 46 + select LEDS_CLASS 46 47 depends on OMAP_DEBUG_DEVICES 47 48 48 49 config POWER_AVS_OMAP 49 50 bool "AVS(Adaptive Voltage Scaling) support for OMAP IP versions 1&2" 50 51 depends on POWER_AVS && (ARCH_OMAP3 || ARCH_OMAP4) && PM 52 + select POWER_SUPPLY 51 53 help 52 54 Say Y to enable AVS(Adaptive Voltage Scaling) 53 55 support on OMAP containing the version 1 or
+14 -7
arch/arm/plat-omap/counter_32k.c
··· 52 52 * nsecs and adds to a monotonically increasing timespec. 53 53 */ 54 54 static struct timespec persistent_ts; 55 - static cycles_t cycles, last_cycles; 55 + static cycles_t cycles; 56 56 static unsigned int persistent_mult, persistent_shift; 57 + static DEFINE_SPINLOCK(read_persistent_clock_lock); 58 + 57 59 static void omap_read_persistent_clock(struct timespec *ts) 58 60 { 59 61 unsigned long long nsecs; 60 - cycles_t delta; 61 - struct timespec *tsp = &persistent_ts; 62 + cycles_t last_cycles; 63 + unsigned long flags; 64 + 65 + spin_lock_irqsave(&read_persistent_clock_lock, flags); 62 66 63 67 last_cycles = cycles; 64 68 cycles = sync32k_cnt_reg ? __raw_readl(sync32k_cnt_reg) : 0; 65 - delta = cycles - last_cycles; 66 69 67 - nsecs = clocksource_cyc2ns(delta, persistent_mult, persistent_shift); 70 + nsecs = clocksource_cyc2ns(cycles - last_cycles, 71 + persistent_mult, persistent_shift); 68 72 69 - timespec_add_ns(tsp, nsecs); 70 - *ts = *tsp; 73 + timespec_add_ns(&persistent_ts, nsecs); 74 + 75 + *ts = persistent_ts; 76 + 77 + spin_unlock_irqrestore(&read_persistent_clock_lock, flags); 71 78 } 72 79 73 80 /**
+4 -4
arch/arm/plat-omap/omap-pm-noop.c
··· 38 38 if (!dev || t < -1) { 39 39 WARN(1, "OMAP PM: %s: invalid parameter(s)", __func__); 40 40 return -EINVAL; 41 - }; 41 + } 42 42 43 43 if (t == -1) 44 44 pr_debug("OMAP PM: remove max MPU wakeup latency constraint: dev %s\n", ··· 67 67 agent_id != OCP_TARGET_AGENT)) { 68 68 WARN(1, "OMAP PM: %s: invalid parameter(s)", __func__); 69 69 return -EINVAL; 70 - }; 70 + } 71 71 72 72 if (r == 0) 73 73 pr_debug("OMAP PM: remove min bus tput constraint: dev %s for agent_id %d\n", ··· 93 93 if (!req_dev || !dev || t < -1) { 94 94 WARN(1, "OMAP PM: %s: invalid parameter(s)", __func__); 95 95 return -EINVAL; 96 - }; 96 + } 97 97 98 98 if (t == -1) 99 99 pr_debug("OMAP PM: remove max device latency constraint: dev %s\n", ··· 123 123 if (!dev || t < -1) { 124 124 WARN(1, "OMAP PM: %s: invalid parameter(s)", __func__); 125 125 return -EINVAL; 126 - }; 126 + } 127 127 128 128 if (t == -1) 129 129 pr_debug("OMAP PM: remove max DMA latency constraint: dev %s\n",
+1 -1
arch/arm/plat-omap/omap_device.c
··· 725 725 dev_set_name(&pdev->dev, "%s", pdev->name); 726 726 727 727 od = omap_device_alloc(pdev, ohs, oh_cnt, pm_lats, pm_lats_cnt); 728 - if (!od) 728 + if (IS_ERR(od)) 729 729 goto odbs_exit1; 730 730 731 731 ret = platform_device_add_data(pdev, pdata, pdata_len);
+4 -4
drivers/char/ds1620.c
··· 74 74 75 75 static inline void netwinder_lock(unsigned long *flags) 76 76 { 77 - spin_lock_irqsave(&nw_gpio_lock, *flags); 77 + raw_spin_lock_irqsave(&nw_gpio_lock, *flags); 78 78 } 79 79 80 80 static inline void netwinder_unlock(unsigned long *flags) 81 81 { 82 - spin_unlock_irqrestore(&nw_gpio_lock, *flags); 82 + raw_spin_unlock_irqrestore(&nw_gpio_lock, *flags); 83 83 } 84 84 85 85 static inline void netwinder_set_fan(int i) 86 86 { 87 87 unsigned long flags; 88 88 89 - spin_lock_irqsave(&nw_gpio_lock, flags); 89 + raw_spin_lock_irqsave(&nw_gpio_lock, flags); 90 90 nw_gpio_modify_op(GPIO_FAN, i ? GPIO_FAN : 0); 91 - spin_unlock_irqrestore(&nw_gpio_lock, flags); 91 + raw_spin_unlock_irqrestore(&nw_gpio_lock, flags); 92 92 } 93 93 94 94 static inline int netwinder_get_fan(void)
+2 -2
drivers/char/nwflash.c
··· 583 583 * we want to write a bit pattern XXX1 to Xilinx to enable 584 584 * the write gate, which will be open for about the next 2ms. 585 585 */ 586 - spin_lock_irqsave(&nw_gpio_lock, flags); 586 + raw_spin_lock_irqsave(&nw_gpio_lock, flags); 587 587 nw_cpld_modify(CPLD_FLASH_WR_ENABLE, CPLD_FLASH_WR_ENABLE); 588 - spin_unlock_irqrestore(&nw_gpio_lock, flags); 588 + raw_spin_unlock_irqrestore(&nw_gpio_lock, flags); 589 589 590 590 /* 591 591 * let the ISA bus to catch on...
+12 -24
drivers/cpufreq/omap-cpufreq.c
··· 30 30 #include <asm/smp_plat.h> 31 31 #include <asm/cpu.h> 32 32 33 - #include <plat/clock.h> 34 - #include <plat/omap-pm.h> 35 - #include <plat/common.h> 36 - #include <plat/omap_device.h> 37 - 38 - #include <mach/hardware.h> 39 - 40 33 /* OPP tolerance in percentage */ 41 34 #define OPP_TOLERANCE 4 42 35 43 36 static struct cpufreq_frequency_table *freq_table; 44 37 static atomic_t freq_table_users = ATOMIC_INIT(0); 45 38 static struct clk *mpu_clk; 46 - static char *mpu_clk_name; 47 39 static struct device *mpu_dev; 48 40 static struct regulator *mpu_reg; 49 41 ··· 100 108 } 101 109 102 110 freq = freqs.new * 1000; 111 + ret = clk_round_rate(mpu_clk, freq); 112 + if (IS_ERR_VALUE(ret)) { 113 + dev_warn(mpu_dev, 114 + "CPUfreq: Cannot find matching frequency for %lu\n", 115 + freq); 116 + return ret; 117 + } 118 + freq = ret; 103 119 104 120 if (mpu_reg) { 105 121 opp = opp_find_freq_ceil(mpu_dev, &freq); ··· 172 172 { 173 173 int result = 0; 174 174 175 - mpu_clk = clk_get(NULL, mpu_clk_name); 175 + mpu_clk = clk_get(NULL, "cpufreq_ck"); 176 176 if (IS_ERR(mpu_clk)) 177 177 return PTR_ERR(mpu_clk); 178 178 ··· 253 253 254 254 static int __init omap_cpufreq_init(void) 255 255 { 256 - if (cpu_is_omap24xx()) 257 - mpu_clk_name = "virt_prcm_set"; 258 - else if (cpu_is_omap34xx()) 259 - mpu_clk_name = "dpll1_ck"; 260 - else if (cpu_is_omap44xx()) 261 - mpu_clk_name = "dpll_mpu_ck"; 262 - 263 - if (!mpu_clk_name) { 264 - pr_err("%s: unsupported Silicon?\n", __func__); 265 - return -EINVAL; 266 - } 267 - 268 - mpu_dev = omap_device_get_by_hwmod_name("mpu"); 269 - if (IS_ERR(mpu_dev)) { 256 + mpu_dev = get_cpu_device(0); 257 + if (!mpu_dev) { 270 258 pr_warning("%s: unable to get the mpu device\n", __func__); 271 - return PTR_ERR(mpu_dev); 259 + return -EINVAL; 272 260 } 273 261 274 262 mpu_reg = regulator_get(mpu_dev, "vcc");
-1
drivers/mmc/host/sdhci-tegra.c
··· 27 27 28 28 #include <asm/gpio.h> 29 29 30 - #include <mach/gpio-tegra.h> 31 30 #include <linux/platform_data/mmc-sdhci-tegra.h> 32 31 33 32 #include "sdhci-pltfm.h"
+4 -4
drivers/power/avs/smartreflex.c
··· 930 930 if (!sr_info->base) { 931 931 dev_err(&pdev->dev, "%s: ioremap fail\n", __func__); 932 932 ret = -ENOMEM; 933 - goto err_release_region; 933 + goto err_free_name; 934 934 } 935 935 936 936 if (irq) ··· 969 969 dev_err(&pdev->dev, "%s: Unable to create debugfs directory\n", 970 970 __func__); 971 971 ret = PTR_ERR(sr_info->dbg_dir); 972 - goto err_free_name; 972 + goto err_debugfs; 973 973 } 974 974 975 975 (void) debugfs_create_file("autocomp", S_IRUGO | S_IWUSR, ··· 1013 1013 1014 1014 err_debugfs: 1015 1015 debugfs_remove_recursive(sr_info->dbg_dir); 1016 - err_free_name: 1017 - kfree(sr_info->name); 1018 1016 err_iounmap: 1019 1017 list_del(&sr_info->node); 1020 1018 iounmap(sr_info->base); 1019 + err_free_name: 1020 + kfree(sr_info->name); 1021 1021 err_release_region: 1022 1022 release_mem_region(mem->start, resource_size(mem)); 1023 1023 err_free_devinfo:
+2 -2
sound/oss/waveartist.c
··· 1482 1482 { 1483 1483 unsigned long flags; 1484 1484 1485 - spin_lock_irqsave(&nw_gpio_lock, flags); 1485 + raw_spin_lock_irqsave(&nw_gpio_lock, flags); 1486 1486 nw_cpld_modify(CPLD_UNMUTE, devc->spkr_mute_state ? 0 : CPLD_UNMUTE); 1487 - spin_unlock_irqrestore(&nw_gpio_lock, flags); 1487 + raw_spin_unlock_irqrestore(&nw_gpio_lock, flags); 1488 1488 } 1489 1489 1490 1490 static void