diff options
| author | Tony Lindgren <tony@atomide.com> | 2011-06-14 08:53:42 -0400 |
|---|---|---|
| committer | Tony Lindgren <tony@atomide.com> | 2011-06-14 08:53:42 -0400 |
| commit | b8ce9fb8e18af7466e0b915bb5979322cdace322 (patch) | |
| tree | eec6f9b58ce154fd863f0f78b374a697a5a7139b /arch/arm | |
| parent | c8e0bf95fc01d6e2ca585fe08010800b6c56e823 (diff) | |
| parent | e9e35c5a2b2c803b5e2f25906d8ffe110670ceb6 (diff) | |
Merge branch 'fixes-v3.0-rc3' into devel-fixes
Diffstat (limited to 'arch/arm')
51 files changed, 130 insertions, 149 deletions
diff --git a/arch/arm/mach-ep93xx/core.c b/arch/arm/mach-ep93xx/core.c index 82079545adc4..1d4b65fd673e 100644 --- a/arch/arm/mach-ep93xx/core.c +++ b/arch/arm/mach-ep93xx/core.c | |||
| @@ -402,11 +402,15 @@ static struct resource ep93xx_eth_resource[] = { | |||
| 402 | } | 402 | } |
| 403 | }; | 403 | }; |
| 404 | 404 | ||
| 405 | static u64 ep93xx_eth_dma_mask = DMA_BIT_MASK(32); | ||
| 406 | |||
| 405 | static struct platform_device ep93xx_eth_device = { | 407 | static struct platform_device ep93xx_eth_device = { |
| 406 | .name = "ep93xx-eth", | 408 | .name = "ep93xx-eth", |
| 407 | .id = -1, | 409 | .id = -1, |
| 408 | .dev = { | 410 | .dev = { |
| 409 | .platform_data = &ep93xx_eth_data, | 411 | .platform_data = &ep93xx_eth_data, |
| 412 | .coherent_dma_mask = DMA_BIT_MASK(32), | ||
| 413 | .dma_mask = &ep93xx_eth_dma_mask, | ||
| 410 | }, | 414 | }, |
| 411 | .num_resources = ARRAY_SIZE(ep93xx_eth_resource), | 415 | .num_resources = ARRAY_SIZE(ep93xx_eth_resource), |
| 412 | .resource = ep93xx_eth_resource, | 416 | .resource = ep93xx_eth_resource, |
diff --git a/arch/arm/mach-exynos4/Kconfig b/arch/arm/mach-exynos4/Kconfig index b92c1e557145..1435fc31c4b2 100644 --- a/arch/arm/mach-exynos4/Kconfig +++ b/arch/arm/mach-exynos4/Kconfig | |||
| @@ -91,6 +91,11 @@ config EXYNOS4_SETUP_FIMC | |||
| 91 | help | 91 | help |
| 92 | Common setup code for the camera interfaces. | 92 | Common setup code for the camera interfaces. |
| 93 | 93 | ||
| 94 | config EXYNOS4_SETUP_USB_PHY | ||
| 95 | bool | ||
| 96 | help | ||
| 97 | Common setup code for USB PHY controller | ||
| 98 | |||
| 94 | # machine support | 99 | # machine support |
| 95 | 100 | ||
| 96 | menu "EXYNOS4 Machines" | 101 | menu "EXYNOS4 Machines" |
| @@ -176,6 +181,7 @@ config MACH_NURI | |||
| 176 | select EXYNOS4_SETUP_I2C3 | 181 | select EXYNOS4_SETUP_I2C3 |
| 177 | select EXYNOS4_SETUP_I2C5 | 182 | select EXYNOS4_SETUP_I2C5 |
| 178 | select EXYNOS4_SETUP_SDHCI | 183 | select EXYNOS4_SETUP_SDHCI |
| 184 | select EXYNOS4_SETUP_USB_PHY | ||
| 179 | select SAMSUNG_DEV_PWM | 185 | select SAMSUNG_DEV_PWM |
| 180 | help | 186 | help |
| 181 | Machine support for Samsung Mobile NURI Board. | 187 | Machine support for Samsung Mobile NURI Board. |
diff --git a/arch/arm/mach-exynos4/Makefile b/arch/arm/mach-exynos4/Makefile index a9bb94fabaa7..60fe5ecf3599 100644 --- a/arch/arm/mach-exynos4/Makefile +++ b/arch/arm/mach-exynos4/Makefile | |||
| @@ -56,4 +56,4 @@ obj-$(CONFIG_EXYNOS4_SETUP_KEYPAD) += setup-keypad.o | |||
| 56 | obj-$(CONFIG_EXYNOS4_SETUP_SDHCI) += setup-sdhci.o | 56 | obj-$(CONFIG_EXYNOS4_SETUP_SDHCI) += setup-sdhci.o |
| 57 | obj-$(CONFIG_EXYNOS4_SETUP_SDHCI_GPIO) += setup-sdhci-gpio.o | 57 | obj-$(CONFIG_EXYNOS4_SETUP_SDHCI_GPIO) += setup-sdhci-gpio.o |
| 58 | 58 | ||
| 59 | obj-$(CONFIG_USB_SUPPORT) += usb-phy.o | 59 | obj-$(CONFIG_EXYNOS4_SETUP_USB_PHY) += setup-usb-phy.o |
diff --git a/arch/arm/mach-exynos4/cpu.c b/arch/arm/mach-exynos4/cpu.c index 08813a6f66b1..9babe4473e88 100644 --- a/arch/arm/mach-exynos4/cpu.c +++ b/arch/arm/mach-exynos4/cpu.c | |||
| @@ -98,7 +98,7 @@ static struct map_desc exynos4_iodesc[] __initdata = { | |||
| 98 | .length = SZ_4K, | 98 | .length = SZ_4K, |
| 99 | .type = MT_DEVICE, | 99 | .type = MT_DEVICE, |
| 100 | }, { | 100 | }, { |
| 101 | .virtual = (unsigned long)S5P_VA_USB_HSPHY, | 101 | .virtual = (unsigned long)S3C_VA_USB_HSPHY, |
| 102 | .pfn = __phys_to_pfn(EXYNOS4_PA_HSPHY), | 102 | .pfn = __phys_to_pfn(EXYNOS4_PA_HSPHY), |
| 103 | .length = SZ_4K, | 103 | .length = SZ_4K, |
| 104 | .type = MT_DEVICE, | 104 | .type = MT_DEVICE, |
diff --git a/arch/arm/mach-exynos4/include/mach/regs-usb-phy.h b/arch/arm/mach-exynos4/include/mach/regs-usb-phy.h index 703118d5173c..c337cf3a71bf 100644 --- a/arch/arm/mach-exynos4/include/mach/regs-usb-phy.h +++ b/arch/arm/mach-exynos4/include/mach/regs-usb-phy.h | |||
| @@ -11,7 +11,7 @@ | |||
| 11 | #ifndef __PLAT_S5P_REGS_USB_PHY_H | 11 | #ifndef __PLAT_S5P_REGS_USB_PHY_H |
| 12 | #define __PLAT_S5P_REGS_USB_PHY_H | 12 | #define __PLAT_S5P_REGS_USB_PHY_H |
| 13 | 13 | ||
| 14 | #define EXYNOS4_HSOTG_PHYREG(x) ((x) + S5P_VA_USB_HSPHY) | 14 | #define EXYNOS4_HSOTG_PHYREG(x) ((x) + S3C_VA_USB_HSPHY) |
| 15 | 15 | ||
| 16 | #define EXYNOS4_PHYPWR EXYNOS4_HSOTG_PHYREG(0x00) | 16 | #define EXYNOS4_PHYPWR EXYNOS4_HSOTG_PHYREG(0x00) |
| 17 | #define PHY1_HSIC_NORMAL_MASK (0xf << 9) | 17 | #define PHY1_HSIC_NORMAL_MASK (0xf << 9) |
diff --git a/arch/arm/mach-exynos4/usb-phy.c b/arch/arm/mach-exynos4/setup-usb-phy.c index 0883c1b824b9..0883c1b824b9 100644 --- a/arch/arm/mach-exynos4/usb-phy.c +++ b/arch/arm/mach-exynos4/setup-usb-phy.c | |||
diff --git a/arch/arm/mach-exynos4/time.c b/arch/arm/mach-exynos4/time.c index 86b9fa0d3639..ebb8f38d5405 100644 --- a/arch/arm/mach-exynos4/time.c +++ b/arch/arm/mach-exynos4/time.c | |||
| @@ -206,6 +206,7 @@ static cycle_t exynos4_pwm4_read(struct clocksource *cs) | |||
| 206 | return (cycle_t) ~__raw_readl(S3C_TIMERREG(0x40)); | 206 | return (cycle_t) ~__raw_readl(S3C_TIMERREG(0x40)); |
| 207 | } | 207 | } |
| 208 | 208 | ||
| 209 | #ifdef CONFIG_PM | ||
| 209 | static void exynos4_pwm4_resume(struct clocksource *cs) | 210 | static void exynos4_pwm4_resume(struct clocksource *cs) |
| 210 | { | 211 | { |
| 211 | unsigned long pclk; | 212 | unsigned long pclk; |
| @@ -218,6 +219,7 @@ static void exynos4_pwm4_resume(struct clocksource *cs) | |||
| 218 | exynos4_pwm_init(4, ~0); | 219 | exynos4_pwm_init(4, ~0); |
| 219 | exynos4_pwm_start(4, 1); | 220 | exynos4_pwm_start(4, 1); |
| 220 | } | 221 | } |
| 222 | #endif | ||
| 221 | 223 | ||
| 222 | struct clocksource pwm_clocksource = { | 224 | struct clocksource pwm_clocksource = { |
| 223 | .name = "pwm_timer4", | 225 | .name = "pwm_timer4", |
diff --git a/arch/arm/mach-omap1/Makefile b/arch/arm/mach-omap1/Makefile index af98117043d2..5b114d1558c8 100644 --- a/arch/arm/mach-omap1/Makefile +++ b/arch/arm/mach-omap1/Makefile | |||
| @@ -4,14 +4,14 @@ | |||
| 4 | 4 | ||
| 5 | # Common support | 5 | # Common support |
| 6 | obj-y := io.o id.o sram.o time.o irq.o mux.o flash.o serial.o devices.o dma.o | 6 | obj-y := io.o id.o sram.o time.o irq.o mux.o flash.o serial.o devices.o dma.o |
| 7 | obj-y += clock.o clock_data.o opp_data.o reset.o | 7 | obj-y += clock.o clock_data.o opp_data.o reset.o pm_bus.o |
| 8 | 8 | ||
| 9 | obj-$(CONFIG_OMAP_MCBSP) += mcbsp.o | 9 | obj-$(CONFIG_OMAP_MCBSP) += mcbsp.o |
| 10 | 10 | ||
| 11 | obj-$(CONFIG_OMAP_32K_TIMER) += timer32k.o | 11 | obj-$(CONFIG_OMAP_32K_TIMER) += timer32k.o |
| 12 | 12 | ||
| 13 | # Power Management | 13 | # Power Management |
| 14 | obj-$(CONFIG_PM) += pm.o sleep.o pm_bus.o | 14 | obj-$(CONFIG_PM) += pm.o sleep.o |
| 15 | 15 | ||
| 16 | # DSP | 16 | # DSP |
| 17 | obj-$(CONFIG_OMAP_MBOX_FWK) += mailbox_mach.o | 17 | obj-$(CONFIG_OMAP_MBOX_FWK) += mailbox_mach.o |
diff --git a/arch/arm/mach-omap1/dma.c b/arch/arm/mach-omap1/dma.c index d8559344c6e2..f5a52204b89f 100644 --- a/arch/arm/mach-omap1/dma.c +++ b/arch/arm/mach-omap1/dma.c | |||
| @@ -284,14 +284,15 @@ static int __init omap1_system_dma_init(void) | |||
| 284 | dma_base = ioremap(res[0].start, resource_size(&res[0])); | 284 | dma_base = ioremap(res[0].start, resource_size(&res[0])); |
| 285 | if (!dma_base) { | 285 | if (!dma_base) { |
| 286 | pr_err("%s: Unable to ioremap\n", __func__); | 286 | pr_err("%s: Unable to ioremap\n", __func__); |
| 287 | return -ENODEV; | 287 | ret = -ENODEV; |
| 288 | goto exit_device_put; | ||
| 288 | } | 289 | } |
| 289 | 290 | ||
| 290 | ret = platform_device_add_resources(pdev, res, ARRAY_SIZE(res)); | 291 | ret = platform_device_add_resources(pdev, res, ARRAY_SIZE(res)); |
| 291 | if (ret) { | 292 | if (ret) { |
| 292 | dev_err(&pdev->dev, "%s: Unable to add resources for %s%d\n", | 293 | dev_err(&pdev->dev, "%s: Unable to add resources for %s%d\n", |
| 293 | __func__, pdev->name, pdev->id); | 294 | __func__, pdev->name, pdev->id); |
| 294 | goto exit_device_del; | 295 | goto exit_device_put; |
| 295 | } | 296 | } |
| 296 | 297 | ||
| 297 | p = kzalloc(sizeof(struct omap_system_dma_plat_info), GFP_KERNEL); | 298 | p = kzalloc(sizeof(struct omap_system_dma_plat_info), GFP_KERNEL); |
| @@ -299,7 +300,7 @@ static int __init omap1_system_dma_init(void) | |||
| 299 | dev_err(&pdev->dev, "%s: Unable to allocate 'p' for %s\n", | 300 | dev_err(&pdev->dev, "%s: Unable to allocate 'p' for %s\n", |
| 300 | __func__, pdev->name); | 301 | __func__, pdev->name); |
| 301 | ret = -ENOMEM; | 302 | ret = -ENOMEM; |
| 302 | goto exit_device_put; | 303 | goto exit_device_del; |
| 303 | } | 304 | } |
| 304 | 305 | ||
| 305 | d = kzalloc(sizeof(struct omap_dma_dev_attr), GFP_KERNEL); | 306 | d = kzalloc(sizeof(struct omap_dma_dev_attr), GFP_KERNEL); |
| @@ -380,10 +381,10 @@ exit_release_d: | |||
| 380 | kfree(d); | 381 | kfree(d); |
| 381 | exit_release_p: | 382 | exit_release_p: |
| 382 | kfree(p); | 383 | kfree(p); |
| 383 | exit_device_put: | ||
| 384 | platform_device_put(pdev); | ||
| 385 | exit_device_del: | 384 | exit_device_del: |
| 386 | platform_device_del(pdev); | 385 | platform_device_del(pdev); |
| 386 | exit_device_put: | ||
| 387 | platform_device_put(pdev); | ||
| 387 | 388 | ||
| 388 | return ret; | 389 | return ret; |
| 389 | } | 390 | } |
diff --git a/arch/arm/mach-omap1/pm_bus.c b/arch/arm/mach-omap1/pm_bus.c index fe31d933f0ed..334fb8871bc3 100644 --- a/arch/arm/mach-omap1/pm_bus.c +++ b/arch/arm/mach-omap1/pm_bus.c | |||
| @@ -56,9 +56,13 @@ static struct dev_power_domain default_power_domain = { | |||
| 56 | USE_PLATFORM_PM_SLEEP_OPS | 56 | USE_PLATFORM_PM_SLEEP_OPS |
| 57 | }, | 57 | }, |
| 58 | }; | 58 | }; |
| 59 | #define OMAP1_PWR_DOMAIN (&default_power_domain) | ||
| 60 | #else | ||
| 61 | #define OMAP1_PWR_DOMAIN NULL | ||
| 62 | #endif /* CONFIG_PM_RUNTIME */ | ||
| 59 | 63 | ||
| 60 | static struct pm_clk_notifier_block platform_bus_notifier = { | 64 | static struct pm_clk_notifier_block platform_bus_notifier = { |
| 61 | .pwr_domain = &default_power_domain, | 65 | .pwr_domain = OMAP1_PWR_DOMAIN, |
| 62 | .con_ids = { "ick", "fck", NULL, }, | 66 | .con_ids = { "ick", "fck", NULL, }, |
| 63 | }; | 67 | }; |
| 64 | 68 | ||
| @@ -72,4 +76,4 @@ static int __init omap1_pm_runtime_init(void) | |||
| 72 | return 0; | 76 | return 0; |
| 73 | } | 77 | } |
| 74 | core_initcall(omap1_pm_runtime_init); | 78 | core_initcall(omap1_pm_runtime_init); |
| 75 | #endif /* CONFIG_PM_RUNTIME */ | 79 | |
diff --git a/arch/arm/mach-omap2/board-2430sdp.c b/arch/arm/mach-omap2/board-2430sdp.c index d54969be0a54..5de6eac0a725 100644 --- a/arch/arm/mach-omap2/board-2430sdp.c +++ b/arch/arm/mach-omap2/board-2430sdp.c | |||
| @@ -26,13 +26,13 @@ | |||
| 26 | #include <linux/err.h> | 26 | #include <linux/err.h> |
| 27 | #include <linux/clk.h> | 27 | #include <linux/clk.h> |
| 28 | #include <linux/io.h> | 28 | #include <linux/io.h> |
| 29 | #include <linux/gpio.h> | ||
| 29 | 30 | ||
| 30 | #include <mach/hardware.h> | 31 | #include <mach/hardware.h> |
| 31 | #include <asm/mach-types.h> | 32 | #include <asm/mach-types.h> |
| 32 | #include <asm/mach/arch.h> | 33 | #include <asm/mach/arch.h> |
| 33 | #include <asm/mach/map.h> | 34 | #include <asm/mach/map.h> |
| 34 | 35 | ||
| 35 | #include <mach/gpio.h> | ||
| 36 | #include <plat/board.h> | 36 | #include <plat/board.h> |
| 37 | #include <plat/common.h> | 37 | #include <plat/common.h> |
| 38 | #include <plat/gpmc.h> | 38 | #include <plat/gpmc.h> |
diff --git a/arch/arm/mach-omap2/board-3430sdp.c b/arch/arm/mach-omap2/board-3430sdp.c index ae2963a98041..5dac974be625 100644 --- a/arch/arm/mach-omap2/board-3430sdp.c +++ b/arch/arm/mach-omap2/board-3430sdp.c | |||
| @@ -622,19 +622,19 @@ static struct omap_device_pad serial3_pads[] __initdata = { | |||
| 622 | OMAP_MUX_MODE0), | 622 | OMAP_MUX_MODE0), |
| 623 | }; | 623 | }; |
| 624 | 624 | ||
| 625 | static struct omap_board_data serial1_data = { | 625 | static struct omap_board_data serial1_data __initdata = { |
| 626 | .id = 0, | 626 | .id = 0, |
| 627 | .pads = serial1_pads, | 627 | .pads = serial1_pads, |
| 628 | .pads_cnt = ARRAY_SIZE(serial1_pads), | 628 | .pads_cnt = ARRAY_SIZE(serial1_pads), |
| 629 | }; | 629 | }; |
| 630 | 630 | ||
| 631 | static struct omap_board_data serial2_data = { | 631 | static struct omap_board_data serial2_data __initdata = { |
| 632 | .id = 1, | 632 | .id = 1, |
| 633 | .pads = serial2_pads, | 633 | .pads = serial2_pads, |
| 634 | .pads_cnt = ARRAY_SIZE(serial2_pads), | 634 | .pads_cnt = ARRAY_SIZE(serial2_pads), |
| 635 | }; | 635 | }; |
| 636 | 636 | ||
| 637 | static struct omap_board_data serial3_data = { | 637 | static struct omap_board_data serial3_data __initdata = { |
| 638 | .id = 2, | 638 | .id = 2, |
| 639 | .pads = serial3_pads, | 639 | .pads = serial3_pads, |
| 640 | .pads_cnt = ARRAY_SIZE(serial3_pads), | 640 | .pads_cnt = ARRAY_SIZE(serial3_pads), |
diff --git a/arch/arm/mach-omap2/board-4430sdp.c b/arch/arm/mach-omap2/board-4430sdp.c index 73fa90bb6953..63de2d396e2d 100644 --- a/arch/arm/mach-omap2/board-4430sdp.c +++ b/arch/arm/mach-omap2/board-4430sdp.c | |||
| @@ -258,7 +258,7 @@ static struct gpio sdp4430_eth_gpios[] __initdata = { | |||
| 258 | { ETH_KS8851_IRQ, GPIOF_IN, "eth_irq" }, | 258 | { ETH_KS8851_IRQ, GPIOF_IN, "eth_irq" }, |
| 259 | }; | 259 | }; |
| 260 | 260 | ||
| 261 | static int omap_ethernet_init(void) | 261 | static int __init omap_ethernet_init(void) |
| 262 | { | 262 | { |
| 263 | int status; | 263 | int status; |
| 264 | 264 | ||
| @@ -322,6 +322,7 @@ static struct omap2_hsmmc_info mmc[] = { | |||
| 322 | .gpio_wp = -EINVAL, | 322 | .gpio_wp = -EINVAL, |
| 323 | .nonremovable = true, | 323 | .nonremovable = true, |
| 324 | .ocr_mask = MMC_VDD_29_30, | 324 | .ocr_mask = MMC_VDD_29_30, |
| 325 | .no_off_init = true, | ||
| 325 | }, | 326 | }, |
| 326 | { | 327 | { |
| 327 | .mmc = 1, | 328 | .mmc = 1, |
| @@ -681,19 +682,19 @@ static struct omap_device_pad serial4_pads[] __initdata = { | |||
| 681 | OMAP_PIN_OUTPUT | OMAP_MUX_MODE0), | 682 | OMAP_PIN_OUTPUT | OMAP_MUX_MODE0), |
| 682 | }; | 683 | }; |
| 683 | 684 | ||
| 684 | static struct omap_board_data serial2_data = { | 685 | static struct omap_board_data serial2_data __initdata = { |
| 685 | .id = 1, | 686 | .id = 1, |
| 686 | .pads = serial2_pads, | 687 | .pads = serial2_pads, |
| 687 | .pads_cnt = ARRAY_SIZE(serial2_pads), | 688 | .pads_cnt = ARRAY_SIZE(serial2_pads), |
| 688 | }; | 689 | }; |
| 689 | 690 | ||
| 690 | static struct omap_board_data serial3_data = { | 691 | static struct omap_board_data serial3_data __initdata = { |
| 691 | .id = 2, | 692 | .id = 2, |
| 692 | .pads = serial3_pads, | 693 | .pads = serial3_pads, |
| 693 | .pads_cnt = ARRAY_SIZE(serial3_pads), | 694 | .pads_cnt = ARRAY_SIZE(serial3_pads), |
| 694 | }; | 695 | }; |
| 695 | 696 | ||
| 696 | static struct omap_board_data serial4_data = { | 697 | static struct omap_board_data serial4_data __initdata = { |
| 697 | .id = 3, | 698 | .id = 3, |
| 698 | .pads = serial4_pads, | 699 | .pads = serial4_pads, |
| 699 | .pads_cnt = ARRAY_SIZE(serial4_pads), | 700 | .pads_cnt = ARRAY_SIZE(serial4_pads), |
| @@ -729,7 +730,7 @@ static void __init omap_4430sdp_init(void) | |||
| 729 | 730 | ||
| 730 | if (omap_rev() == OMAP4430_REV_ES1_0) | 731 | if (omap_rev() == OMAP4430_REV_ES1_0) |
| 731 | package = OMAP_PACKAGE_CBL; | 732 | package = OMAP_PACKAGE_CBL; |
| 732 | omap4_mux_init(board_mux, package); | 733 | omap4_mux_init(board_mux, NULL, package); |
| 733 | 734 | ||
| 734 | omap_board_config = sdp4430_config; | 735 | omap_board_config = sdp4430_config; |
| 735 | omap_board_config_size = ARRAY_SIZE(sdp4430_config); | 736 | omap_board_config_size = ARRAY_SIZE(sdp4430_config); |
diff --git a/arch/arm/mach-omap2/board-apollon.c b/arch/arm/mach-omap2/board-apollon.c index f3beb8eeef77..b124bdfb4239 100644 --- a/arch/arm/mach-omap2/board-apollon.c +++ b/arch/arm/mach-omap2/board-apollon.c | |||
| @@ -27,13 +27,13 @@ | |||
| 27 | #include <linux/err.h> | 27 | #include <linux/err.h> |
| 28 | #include <linux/clk.h> | 28 | #include <linux/clk.h> |
| 29 | #include <linux/smc91x.h> | 29 | #include <linux/smc91x.h> |
| 30 | #include <linux/gpio.h> | ||
| 30 | 31 | ||
| 31 | #include <mach/hardware.h> | 32 | #include <mach/hardware.h> |
| 32 | #include <asm/mach-types.h> | 33 | #include <asm/mach-types.h> |
| 33 | #include <asm/mach/arch.h> | 34 | #include <asm/mach/arch.h> |
| 34 | #include <asm/mach/flash.h> | 35 | #include <asm/mach/flash.h> |
| 35 | 36 | ||
| 36 | #include <mach/gpio.h> | ||
| 37 | #include <plat/led.h> | 37 | #include <plat/led.h> |
| 38 | #include <plat/usb.h> | 38 | #include <plat/usb.h> |
| 39 | #include <plat/board.h> | 39 | #include <plat/board.h> |
diff --git a/arch/arm/mach-omap2/board-cm-t35.c b/arch/arm/mach-omap2/board-cm-t35.c index c63115bc1536..77456dec93ea 100644 --- a/arch/arm/mach-omap2/board-cm-t35.c +++ b/arch/arm/mach-omap2/board-cm-t35.c | |||
| @@ -63,8 +63,6 @@ | |||
| 63 | #define SB_T35_SMSC911X_CS 4 | 63 | #define SB_T35_SMSC911X_CS 4 |
| 64 | #define SB_T35_SMSC911X_GPIO 65 | 64 | #define SB_T35_SMSC911X_GPIO 65 |
| 65 | 65 | ||
| 66 | #define NAND_BLOCK_SIZE SZ_128K | ||
| 67 | |||
| 68 | #if defined(CONFIG_SMSC911X) || defined(CONFIG_SMSC911X_MODULE) | 66 | #if defined(CONFIG_SMSC911X) || defined(CONFIG_SMSC911X_MODULE) |
| 69 | #include <linux/smsc911x.h> | 67 | #include <linux/smsc911x.h> |
| 70 | #include <plat/gpmc-smsc911x.h> | 68 | #include <plat/gpmc-smsc911x.h> |
diff --git a/arch/arm/mach-omap2/board-cm-t3517.c b/arch/arm/mach-omap2/board-cm-t3517.c index 08f08e812492..c3a9fd35034a 100644 --- a/arch/arm/mach-omap2/board-cm-t3517.c +++ b/arch/arm/mach-omap2/board-cm-t3517.c | |||
| @@ -48,6 +48,7 @@ | |||
| 48 | 48 | ||
| 49 | #include "mux.h" | 49 | #include "mux.h" |
| 50 | #include "control.h" | 50 | #include "control.h" |
| 51 | #include "common-board-devices.h" | ||
| 51 | 52 | ||
| 52 | #if defined(CONFIG_LEDS_GPIO) || defined(CONFIG_LEDS_GPIO_MODULE) | 53 | #if defined(CONFIG_LEDS_GPIO) || defined(CONFIG_LEDS_GPIO_MODULE) |
| 53 | static struct gpio_led cm_t3517_leds[] = { | 54 | static struct gpio_led cm_t3517_leds[] = { |
| @@ -177,7 +178,7 @@ static struct usbhs_omap_board_data cm_t3517_ehci_pdata __initdata = { | |||
| 177 | .reset_gpio_port[2] = -EINVAL, | 178 | .reset_gpio_port[2] = -EINVAL, |
| 178 | }; | 179 | }; |
| 179 | 180 | ||
| 180 | static int cm_t3517_init_usbh(void) | 181 | static int __init cm_t3517_init_usbh(void) |
| 181 | { | 182 | { |
| 182 | int err; | 183 | int err; |
| 183 | 184 | ||
| @@ -203,8 +204,6 @@ static inline int cm_t3517_init_usbh(void) | |||
| 203 | #endif | 204 | #endif |
| 204 | 205 | ||
| 205 | #if defined(CONFIG_MTD_NAND_OMAP2) || defined(CONFIG_MTD_NAND_OMAP2_MODULE) | 206 | #if defined(CONFIG_MTD_NAND_OMAP2) || defined(CONFIG_MTD_NAND_OMAP2_MODULE) |
| 206 | #define NAND_BLOCK_SIZE SZ_128K | ||
| 207 | |||
| 208 | static struct mtd_partition cm_t3517_nand_partitions[] = { | 207 | static struct mtd_partition cm_t3517_nand_partitions[] = { |
| 209 | { | 208 | { |
| 210 | .name = "xloader", | 209 | .name = "xloader", |
diff --git a/arch/arm/mach-omap2/board-devkit8000.c b/arch/arm/mach-omap2/board-devkit8000.c index cf520d7dd614..34956ec83296 100644 --- a/arch/arm/mach-omap2/board-devkit8000.c +++ b/arch/arm/mach-omap2/board-devkit8000.c | |||
| @@ -61,8 +61,6 @@ | |||
| 61 | #include "timer-gp.h" | 61 | #include "timer-gp.h" |
| 62 | #include "common-board-devices.h" | 62 | #include "common-board-devices.h" |
| 63 | 63 | ||
| 64 | #define NAND_BLOCK_SIZE SZ_128K | ||
| 65 | |||
| 66 | #define OMAP_DM9000_GPIO_IRQ 25 | 64 | #define OMAP_DM9000_GPIO_IRQ 25 |
| 67 | #define OMAP3_DEVKIT_TS_GPIO 27 | 65 | #define OMAP3_DEVKIT_TS_GPIO 27 |
| 68 | 66 | ||
diff --git a/arch/arm/mach-omap2/board-omap3beagle.c b/arch/arm/mach-omap2/board-omap3beagle.c index be71426359f2..7f21d24bd437 100644 --- a/arch/arm/mach-omap2/board-omap3beagle.c +++ b/arch/arm/mach-omap2/board-omap3beagle.c | |||
| @@ -54,8 +54,6 @@ | |||
| 54 | #include "pm.h" | 54 | #include "pm.h" |
| 55 | #include "common-board-devices.h" | 55 | #include "common-board-devices.h" |
| 56 | 56 | ||
| 57 | #define NAND_BLOCK_SIZE SZ_128K | ||
| 58 | |||
| 59 | /* | 57 | /* |
| 60 | * OMAP3 Beagle revision | 58 | * OMAP3 Beagle revision |
| 61 | * Run time detection of Beagle revision is done by reading GPIO. | 59 | * Run time detection of Beagle revision is done by reading GPIO. |
| @@ -106,6 +104,9 @@ static void __init omap3_beagle_init_rev(void) | |||
| 106 | beagle_rev = gpio_get_value(171) | (gpio_get_value(172) << 1) | 104 | beagle_rev = gpio_get_value(171) | (gpio_get_value(172) << 1) |
| 107 | | (gpio_get_value(173) << 2); | 105 | | (gpio_get_value(173) << 2); |
| 108 | 106 | ||
| 107 | gpio_free_array(omap3_beagle_rev_gpios, | ||
| 108 | ARRAY_SIZE(omap3_beagle_rev_gpios)); | ||
| 109 | |||
| 109 | switch (beagle_rev) { | 110 | switch (beagle_rev) { |
| 110 | case 7: | 111 | case 7: |
| 111 | printk(KERN_INFO "OMAP3 Beagle Rev: Ax/Bx\n"); | 112 | printk(KERN_INFO "OMAP3 Beagle Rev: Ax/Bx\n"); |
| @@ -579,6 +580,9 @@ static void __init omap3_beagle_init(void) | |||
| 579 | omap_nand_flash_init(NAND_BUSWIDTH_16, omap3beagle_nand_partitions, | 580 | omap_nand_flash_init(NAND_BUSWIDTH_16, omap3beagle_nand_partitions, |
| 580 | ARRAY_SIZE(omap3beagle_nand_partitions)); | 581 | ARRAY_SIZE(omap3beagle_nand_partitions)); |
| 581 | 582 | ||
| 583 | /* Ensure msecure is mux'd to be able to set the RTC. */ | ||
| 584 | omap_mux_init_signal("sys_drm_msecure", OMAP_PIN_OFF_OUTPUT_HIGH); | ||
| 585 | |||
| 582 | /* Ensure SDRC pins are mux'd for self-refresh */ | 586 | /* Ensure SDRC pins are mux'd for self-refresh */ |
| 583 | omap_mux_init_signal("sdrc_cke0", OMAP_PIN_OUTPUT); | 587 | omap_mux_init_signal("sdrc_cke0", OMAP_PIN_OUTPUT); |
| 584 | omap_mux_init_signal("sdrc_cke1", OMAP_PIN_OUTPUT); | 588 | omap_mux_init_signal("sdrc_cke1", OMAP_PIN_OUTPUT); |
diff --git a/arch/arm/mach-omap2/board-omap3pandora.c b/arch/arm/mach-omap2/board-omap3pandora.c index a3d655c0a49b..23f71d40883e 100644 --- a/arch/arm/mach-omap2/board-omap3pandora.c +++ b/arch/arm/mach-omap2/board-omap3pandora.c | |||
| @@ -30,6 +30,7 @@ | |||
| 30 | #include <linux/leds.h> | 30 | #include <linux/leds.h> |
| 31 | #include <linux/input.h> | 31 | #include <linux/input.h> |
| 32 | #include <linux/input/matrix_keypad.h> | 32 | #include <linux/input/matrix_keypad.h> |
| 33 | #include <linux/gpio.h> | ||
| 33 | #include <linux/gpio_keys.h> | 34 | #include <linux/gpio_keys.h> |
| 34 | #include <linux/mmc/host.h> | 35 | #include <linux/mmc/host.h> |
| 35 | #include <linux/mmc/card.h> | 36 | #include <linux/mmc/card.h> |
| @@ -41,7 +42,6 @@ | |||
| 41 | 42 | ||
| 42 | #include <plat/board.h> | 43 | #include <plat/board.h> |
| 43 | #include <plat/common.h> | 44 | #include <plat/common.h> |
| 44 | #include <mach/gpio.h> | ||
| 45 | #include <mach/hardware.h> | 45 | #include <mach/hardware.h> |
| 46 | #include <plat/mcspi.h> | 46 | #include <plat/mcspi.h> |
| 47 | #include <plat/usb.h> | 47 | #include <plat/usb.h> |
| @@ -57,8 +57,6 @@ | |||
| 57 | #define PANDORA_WIFI_NRESET_GPIO 23 | 57 | #define PANDORA_WIFI_NRESET_GPIO 23 |
| 58 | #define OMAP3_PANDORA_TS_GPIO 94 | 58 | #define OMAP3_PANDORA_TS_GPIO 94 |
| 59 | 59 | ||
| 60 | #define NAND_BLOCK_SIZE SZ_128K | ||
| 61 | |||
| 62 | static struct mtd_partition omap3pandora_nand_partitions[] = { | 60 | static struct mtd_partition omap3pandora_nand_partitions[] = { |
| 63 | { | 61 | { |
| 64 | .name = "xloader", | 62 | .name = "xloader", |
diff --git a/arch/arm/mach-omap2/board-omap3touchbook.c b/arch/arm/mach-omap2/board-omap3touchbook.c index 82872d7d313b..5f649faf7377 100644 --- a/arch/arm/mach-omap2/board-omap3touchbook.c +++ b/arch/arm/mach-omap2/board-omap3touchbook.c | |||
| @@ -56,8 +56,6 @@ | |||
| 56 | 56 | ||
| 57 | #include <asm/setup.h> | 57 | #include <asm/setup.h> |
| 58 | 58 | ||
| 59 | #define NAND_BLOCK_SIZE SZ_128K | ||
| 60 | |||
| 61 | #define OMAP3_AC_GPIO 136 | 59 | #define OMAP3_AC_GPIO 136 |
| 62 | #define OMAP3_TS_GPIO 162 | 60 | #define OMAP3_TS_GPIO 162 |
| 63 | #define TB_BL_PWM_TIMER 9 | 61 | #define TB_BL_PWM_TIMER 9 |
diff --git a/arch/arm/mach-omap2/board-omap4panda.c b/arch/arm/mach-omap2/board-omap4panda.c index 90485fced973..0cfe2005cb50 100644 --- a/arch/arm/mach-omap2/board-omap4panda.c +++ b/arch/arm/mach-omap2/board-omap4panda.c | |||
| @@ -526,19 +526,19 @@ static struct omap_device_pad serial4_pads[] __initdata = { | |||
| 526 | OMAP_PIN_OUTPUT | OMAP_MUX_MODE0), | 526 | OMAP_PIN_OUTPUT | OMAP_MUX_MODE0), |
| 527 | }; | 527 | }; |
| 528 | 528 | ||
| 529 | static struct omap_board_data serial2_data = { | 529 | static struct omap_board_data serial2_data __initdata = { |
| 530 | .id = 1, | 530 | .id = 1, |
| 531 | .pads = serial2_pads, | 531 | .pads = serial2_pads, |
| 532 | .pads_cnt = ARRAY_SIZE(serial2_pads), | 532 | .pads_cnt = ARRAY_SIZE(serial2_pads), |
| 533 | }; | 533 | }; |
| 534 | 534 | ||
| 535 | static struct omap_board_data serial3_data = { | 535 | static struct omap_board_data serial3_data __initdata = { |
| 536 | .id = 2, | 536 | .id = 2, |
| 537 | .pads = serial3_pads, | 537 | .pads = serial3_pads, |
| 538 | .pads_cnt = ARRAY_SIZE(serial3_pads), | 538 | .pads_cnt = ARRAY_SIZE(serial3_pads), |
| 539 | }; | 539 | }; |
| 540 | 540 | ||
| 541 | static struct omap_board_data serial4_data = { | 541 | static struct omap_board_data serial4_data __initdata = { |
| 542 | .id = 3, | 542 | .id = 3, |
| 543 | .pads = serial4_pads, | 543 | .pads = serial4_pads, |
| 544 | .pads_cnt = ARRAY_SIZE(serial4_pads), | 544 | .pads_cnt = ARRAY_SIZE(serial4_pads), |
| @@ -687,7 +687,7 @@ static void __init omap4_panda_init(void) | |||
| 687 | 687 | ||
| 688 | if (omap_rev() == OMAP4430_REV_ES1_0) | 688 | if (omap_rev() == OMAP4430_REV_ES1_0) |
| 689 | package = OMAP_PACKAGE_CBL; | 689 | package = OMAP_PACKAGE_CBL; |
| 690 | omap4_mux_init(board_mux, package); | 690 | omap4_mux_init(board_mux, NULL, package); |
| 691 | 691 | ||
| 692 | if (wl12xx_set_platform_data(&omap_panda_wlan_data)) | 692 | if (wl12xx_set_platform_data(&omap_panda_wlan_data)) |
| 693 | pr_err("error setting wl12xx data\n"); | 693 | pr_err("error setting wl12xx data\n"); |
diff --git a/arch/arm/mach-omap2/board-overo.c b/arch/arm/mach-omap2/board-overo.c index 1555918e3ffa..175e1ab2b04d 100644 --- a/arch/arm/mach-omap2/board-overo.c +++ b/arch/arm/mach-omap2/board-overo.c | |||
| @@ -24,6 +24,7 @@ | |||
| 24 | #include <linux/err.h> | 24 | #include <linux/err.h> |
| 25 | #include <linux/init.h> | 25 | #include <linux/init.h> |
| 26 | #include <linux/io.h> | 26 | #include <linux/io.h> |
| 27 | #include <linux/gpio.h> | ||
| 27 | #include <linux/kernel.h> | 28 | #include <linux/kernel.h> |
| 28 | #include <linux/platform_device.h> | 29 | #include <linux/platform_device.h> |
| 29 | #include <linux/i2c/twl.h> | 30 | #include <linux/i2c/twl.h> |
| @@ -45,7 +46,6 @@ | |||
| 45 | #include <plat/common.h> | 46 | #include <plat/common.h> |
| 46 | #include <video/omapdss.h> | 47 | #include <video/omapdss.h> |
| 47 | #include <video/omap-panel-generic-dpi.h> | 48 | #include <video/omap-panel-generic-dpi.h> |
| 48 | #include <mach/gpio.h> | ||
| 49 | #include <plat/gpmc.h> | 49 | #include <plat/gpmc.h> |
| 50 | #include <mach/hardware.h> | 50 | #include <mach/hardware.h> |
| 51 | #include <plat/nand.h> | 51 | #include <plat/nand.h> |
| @@ -65,8 +65,6 @@ | |||
| 65 | #define OVERO_GPIO_USBH_CPEN 168 | 65 | #define OVERO_GPIO_USBH_CPEN 168 |
| 66 | #define OVERO_GPIO_USBH_NRESET 183 | 66 | #define OVERO_GPIO_USBH_NRESET 183 |
| 67 | 67 | ||
| 68 | #define NAND_BLOCK_SIZE SZ_128K | ||
| 69 | |||
| 70 | #define OVERO_SMSC911X_CS 5 | 68 | #define OVERO_SMSC911X_CS 5 |
| 71 | #define OVERO_SMSC911X_GPIO 176 | 69 | #define OVERO_SMSC911X_GPIO 176 |
| 72 | #define OVERO_SMSC911X2_CS 4 | 70 | #define OVERO_SMSC911X2_CS 4 |
diff --git a/arch/arm/mach-omap2/board-rx51-peripherals.c b/arch/arm/mach-omap2/board-rx51-peripherals.c index f6247e71a194..990366726c58 100644 --- a/arch/arm/mach-omap2/board-rx51-peripherals.c +++ b/arch/arm/mach-omap2/board-rx51-peripherals.c | |||
| @@ -488,6 +488,7 @@ static struct regulator_init_data rx51_vmmc2 = { | |||
| 488 | .name = "V28_A", | 488 | .name = "V28_A", |
| 489 | .min_uV = 2800000, | 489 | .min_uV = 2800000, |
| 490 | .max_uV = 3000000, | 490 | .max_uV = 3000000, |
| 491 | .always_on = true, /* due VIO leak to AIC34 VDDs */ | ||
| 491 | .apply_uV = true, | 492 | .apply_uV = true, |
| 492 | .valid_modes_mask = REGULATOR_MODE_NORMAL | 493 | .valid_modes_mask = REGULATOR_MODE_NORMAL |
| 493 | | REGULATOR_MODE_STANDBY, | 494 | | REGULATOR_MODE_STANDBY, |
| @@ -582,7 +583,7 @@ static int rx51_twlgpio_setup(struct device *dev, unsigned gpio, unsigned n) | |||
| 582 | { | 583 | { |
| 583 | /* FIXME this gpio setup is just a placeholder for now */ | 584 | /* FIXME this gpio setup is just a placeholder for now */ |
| 584 | gpio_request_one(gpio + 6, GPIOF_OUT_INIT_LOW, "backlight_pwm"); | 585 | gpio_request_one(gpio + 6, GPIOF_OUT_INIT_LOW, "backlight_pwm"); |
| 585 | gpio_request_one(gpio + 7, GPIOF_OUT_INIT_HIGH, "speaker_en"); | 586 | gpio_request_one(gpio + 7, GPIOF_OUT_INIT_LOW, "speaker_en"); |
| 586 | 587 | ||
| 587 | return 0; | 588 | return 0; |
| 588 | } | 589 | } |
diff --git a/arch/arm/mach-omap2/board-zoom-display.c b/arch/arm/mach-omap2/board-zoom-display.c index c7c6beb1ec24..d4683ba5f721 100644 --- a/arch/arm/mach-omap2/board-zoom-display.c +++ b/arch/arm/mach-omap2/board-zoom-display.c | |||
| @@ -26,7 +26,7 @@ static struct gpio zoom_lcd_gpios[] __initdata = { | |||
| 26 | { LCD_PANEL_QVGA_GPIO, GPIOF_OUT_INIT_HIGH, "lcd qvga" }, | 26 | { LCD_PANEL_QVGA_GPIO, GPIOF_OUT_INIT_HIGH, "lcd qvga" }, |
| 27 | }; | 27 | }; |
| 28 | 28 | ||
| 29 | static void zoom_lcd_panel_init(void) | 29 | static void __init zoom_lcd_panel_init(void) |
| 30 | { | 30 | { |
| 31 | zoom_lcd_gpios[0].gpio = (omap_rev() > OMAP3430_REV_ES3_0) ? | 31 | zoom_lcd_gpios[0].gpio = (omap_rev() > OMAP3430_REV_ES3_0) ? |
| 32 | LCD_PANEL_RESET_GPIO_PROD : | 32 | LCD_PANEL_RESET_GPIO_PROD : |
diff --git a/arch/arm/mach-omap2/common-board-devices.c b/arch/arm/mach-omap2/common-board-devices.c index e94903b2c65b..94ccf464677b 100644 --- a/arch/arm/mach-omap2/common-board-devices.c +++ b/arch/arm/mach-omap2/common-board-devices.c | |||
| @@ -85,17 +85,17 @@ void __init omap_ads7846_init(int bus_num, int gpio_pendown, int gpio_debounce, | |||
| 85 | struct spi_board_info *spi_bi = &ads7846_spi_board_info; | 85 | struct spi_board_info *spi_bi = &ads7846_spi_board_info; |
| 86 | int err; | 86 | int err; |
| 87 | 87 | ||
| 88 | err = gpio_request(gpio_pendown, "TS PenDown"); | 88 | if (board_pdata && board_pdata->get_pendown_state) { |
| 89 | if (err) { | 89 | err = gpio_request_one(gpio_pendown, GPIOF_IN, "TSPenDown"); |
| 90 | pr_err("Could not obtain gpio for TS PenDown: %d\n", err); | 90 | if (err) { |
| 91 | return; | 91 | pr_err("Couldn't obtain gpio for TSPenDown: %d\n", err); |
| 92 | } | 92 | return; |
| 93 | 93 | } | |
| 94 | gpio_direction_input(gpio_pendown); | 94 | gpio_export(gpio_pendown, 0); |
| 95 | gpio_export(gpio_pendown, 0); | ||
| 96 | 95 | ||
| 97 | if (gpio_debounce) | 96 | if (gpio_debounce) |
| 98 | gpio_set_debounce(gpio_pendown, gpio_debounce); | 97 | gpio_set_debounce(gpio_pendown, gpio_debounce); |
| 98 | } | ||
| 99 | 99 | ||
| 100 | ads7846_config.gpio_pendown = gpio_pendown; | 100 | ads7846_config.gpio_pendown = gpio_pendown; |
| 101 | 101 | ||
diff --git a/arch/arm/mach-omap2/common-board-devices.h b/arch/arm/mach-omap2/common-board-devices.h index eb80b3b0ef47..679719051df5 100644 --- a/arch/arm/mach-omap2/common-board-devices.h +++ b/arch/arm/mach-omap2/common-board-devices.h | |||
| @@ -1,6 +1,8 @@ | |||
| 1 | #ifndef __OMAP_COMMON_BOARD_DEVICES__ | 1 | #ifndef __OMAP_COMMON_BOARD_DEVICES__ |
| 2 | #define __OMAP_COMMON_BOARD_DEVICES__ | 2 | #define __OMAP_COMMON_BOARD_DEVICES__ |
| 3 | 3 | ||
| 4 | #define NAND_BLOCK_SIZE SZ_128K | ||
| 5 | |||
| 4 | struct twl4030_platform_data; | 6 | struct twl4030_platform_data; |
| 5 | struct mtd_partition; | 7 | struct mtd_partition; |
| 6 | 8 | ||
diff --git a/arch/arm/mach-omap2/devices.c b/arch/arm/mach-omap2/devices.c index 7b8558564591..5b8ca680ed93 100644 --- a/arch/arm/mach-omap2/devices.c +++ b/arch/arm/mach-omap2/devices.c | |||
| @@ -97,7 +97,7 @@ static int __init omap4_l3_init(void) | |||
| 97 | 97 | ||
| 98 | WARN(IS_ERR(od), "could not build omap_device for %s\n", oh_name); | 98 | WARN(IS_ERR(od), "could not build omap_device for %s\n", oh_name); |
| 99 | 99 | ||
| 100 | return PTR_ERR(od); | 100 | return IS_ERR(od) ? PTR_ERR(od) : 0; |
| 101 | } | 101 | } |
| 102 | postcore_initcall(omap4_l3_init); | 102 | postcore_initcall(omap4_l3_init); |
| 103 | 103 | ||
diff --git a/arch/arm/mach-omap2/hsmmc.c b/arch/arm/mach-omap2/hsmmc.c index b2f30bed5a20..66868c5d5a29 100644 --- a/arch/arm/mach-omap2/hsmmc.c +++ b/arch/arm/mach-omap2/hsmmc.c | |||
| @@ -145,6 +145,7 @@ static void omap4_hsmmc1_after_set_reg(struct device *dev, int slot, | |||
| 145 | int power_on, int vdd) | 145 | int power_on, int vdd) |
| 146 | { | 146 | { |
| 147 | u32 reg; | 147 | u32 reg; |
| 148 | unsigned long timeout; | ||
| 148 | 149 | ||
| 149 | if (power_on) { | 150 | if (power_on) { |
| 150 | reg = omap4_ctrl_pad_readl(control_pbias_offset); | 151 | reg = omap4_ctrl_pad_readl(control_pbias_offset); |
| @@ -157,9 +158,15 @@ static void omap4_hsmmc1_after_set_reg(struct device *dev, int slot, | |||
| 157 | OMAP4_MMC1_PWRDNZ_MASK | | 158 | OMAP4_MMC1_PWRDNZ_MASK | |
| 158 | OMAP4_USBC1_ICUSB_PWRDNZ_MASK); | 159 | OMAP4_USBC1_ICUSB_PWRDNZ_MASK); |
| 159 | omap4_ctrl_pad_writel(reg, control_pbias_offset); | 160 | omap4_ctrl_pad_writel(reg, control_pbias_offset); |
| 160 | /* 4 microsec delay for comparator to generate an error*/ | 161 | |
| 161 | udelay(4); | 162 | timeout = jiffies + msecs_to_jiffies(5); |
| 162 | reg = omap4_ctrl_pad_readl(control_pbias_offset); | 163 | do { |
| 164 | reg = omap4_ctrl_pad_readl(control_pbias_offset); | ||
| 165 | if (!(reg & OMAP4_MMC1_PBIASLITE_VMODE_ERROR_MASK)) | ||
| 166 | break; | ||
| 167 | usleep_range(100, 200); | ||
| 168 | } while (!time_after(jiffies, timeout)); | ||
| 169 | |||
| 163 | if (reg & OMAP4_MMC1_PBIASLITE_VMODE_ERROR_MASK) { | 170 | if (reg & OMAP4_MMC1_PBIASLITE_VMODE_ERROR_MASK) { |
| 164 | pr_err("Pbias Voltage is not same as LDO\n"); | 171 | pr_err("Pbias Voltage is not same as LDO\n"); |
| 165 | /* Caution : On VMODE_ERROR Power Down MMC IO */ | 172 | /* Caution : On VMODE_ERROR Power Down MMC IO */ |
| @@ -331,6 +338,9 @@ static int __init omap_hsmmc_pdata_init(struct omap2_hsmmc_info *c, | |||
| 331 | if (c->no_off) | 338 | if (c->no_off) |
| 332 | mmc->slots[0].no_off = 1; | 339 | mmc->slots[0].no_off = 1; |
| 333 | 340 | ||
| 341 | if (c->no_off_init) | ||
| 342 | mmc->slots[0].no_regulator_off_init = c->no_off_init; | ||
| 343 | |||
| 334 | if (c->vcc_aux_disable_is_sleep) | 344 | if (c->vcc_aux_disable_is_sleep) |
| 335 | mmc->slots[0].vcc_aux_disable_is_sleep = 1; | 345 | mmc->slots[0].vcc_aux_disable_is_sleep = 1; |
| 336 | 346 | ||
diff --git a/arch/arm/mach-omap2/hsmmc.h b/arch/arm/mach-omap2/hsmmc.h index f119348827d4..f757e78d4d4f 100644 --- a/arch/arm/mach-omap2/hsmmc.h +++ b/arch/arm/mach-omap2/hsmmc.h | |||
| @@ -18,6 +18,7 @@ struct omap2_hsmmc_info { | |||
| 18 | bool nonremovable; /* Nonremovable e.g. eMMC */ | 18 | bool nonremovable; /* Nonremovable e.g. eMMC */ |
| 19 | bool power_saving; /* Try to sleep or power off when possible */ | 19 | bool power_saving; /* Try to sleep or power off when possible */ |
| 20 | bool no_off; /* power_saving and power is not to go off */ | 20 | bool no_off; /* power_saving and power is not to go off */ |
| 21 | bool no_off_init; /* no power off when not in MMC sleep state */ | ||
| 21 | bool vcc_aux_disable_is_sleep; /* Regulator off remapped to sleep */ | 22 | bool vcc_aux_disable_is_sleep; /* Regulator off remapped to sleep */ |
| 22 | int gpio_cd; /* or -EINVAL */ | 23 | int gpio_cd; /* or -EINVAL */ |
| 23 | int gpio_wp; /* or -EINVAL */ | 24 | int gpio_wp; /* or -EINVAL */ |
diff --git a/arch/arm/mach-omap2/mux.c b/arch/arm/mach-omap2/mux.c index a4ab1e364313..c7fb22abc219 100644 --- a/arch/arm/mach-omap2/mux.c +++ b/arch/arm/mach-omap2/mux.c | |||
| @@ -83,6 +83,9 @@ void omap_mux_write(struct omap_mux_partition *partition, u16 val, | |||
| 83 | void omap_mux_write_array(struct omap_mux_partition *partition, | 83 | void omap_mux_write_array(struct omap_mux_partition *partition, |
| 84 | struct omap_board_mux *board_mux) | 84 | struct omap_board_mux *board_mux) |
| 85 | { | 85 | { |
| 86 | if (!board_mux) | ||
| 87 | return; | ||
| 88 | |||
| 86 | while (board_mux->reg_offset != OMAP_MUX_TERMINATOR) { | 89 | while (board_mux->reg_offset != OMAP_MUX_TERMINATOR) { |
| 87 | omap_mux_write(partition, board_mux->value, | 90 | omap_mux_write(partition, board_mux->value, |
| 88 | board_mux->reg_offset); | 91 | board_mux->reg_offset); |
| @@ -906,7 +909,7 @@ static struct omap_mux *omap_mux_get_by_gpio( | |||
| 906 | u16 omap_mux_get_gpio(int gpio) | 909 | u16 omap_mux_get_gpio(int gpio) |
| 907 | { | 910 | { |
| 908 | struct omap_mux_partition *partition; | 911 | struct omap_mux_partition *partition; |
| 909 | struct omap_mux *m; | 912 | struct omap_mux *m = NULL; |
| 910 | 913 | ||
| 911 | list_for_each_entry(partition, &mux_partitions, node) { | 914 | list_for_each_entry(partition, &mux_partitions, node) { |
| 912 | m = omap_mux_get_by_gpio(partition, gpio); | 915 | m = omap_mux_get_by_gpio(partition, gpio); |
diff --git a/arch/arm/mach-omap2/mux.h b/arch/arm/mach-omap2/mux.h index 137f321c029f..2132308ad1e4 100644 --- a/arch/arm/mach-omap2/mux.h +++ b/arch/arm/mach-omap2/mux.h | |||
| @@ -323,10 +323,12 @@ int omap3_mux_init(struct omap_board_mux *board_mux, int flags); | |||
| 323 | 323 | ||
| 324 | /** | 324 | /** |
| 325 | * omap4_mux_init() - initialize mux system with board specific set | 325 | * omap4_mux_init() - initialize mux system with board specific set |
| 326 | * @board_mux: Board specific mux table | 326 | * @board_subset: Board specific mux table |
| 327 | * @board_wkup_subset: Board specific mux table for wakeup instance | ||
| 327 | * @flags: OMAP package type used for the board | 328 | * @flags: OMAP package type used for the board |
| 328 | */ | 329 | */ |
| 329 | int omap4_mux_init(struct omap_board_mux *board_mux, int flags); | 330 | int omap4_mux_init(struct omap_board_mux *board_subset, |
| 331 | struct omap_board_mux *board_wkup_subset, int flags); | ||
| 330 | 332 | ||
| 331 | /** | 333 | /** |
| 332 | * omap_mux_init - private mux init function, do not call | 334 | * omap_mux_init - private mux init function, do not call |
diff --git a/arch/arm/mach-omap2/mux44xx.c b/arch/arm/mach-omap2/mux44xx.c index 9a66445112ae..f5a74daab2ff 100644 --- a/arch/arm/mach-omap2/mux44xx.c +++ b/arch/arm/mach-omap2/mux44xx.c | |||
| @@ -1309,7 +1309,8 @@ static struct omap_ball __initdata omap4_wkup_cbl_cbs_ball[] = { | |||
| 1309 | #define omap4_wkup_cbl_cbs_ball NULL | 1309 | #define omap4_wkup_cbl_cbs_ball NULL |
| 1310 | #endif | 1310 | #endif |
| 1311 | 1311 | ||
| 1312 | int __init omap4_mux_init(struct omap_board_mux *board_subset, int flags) | 1312 | int __init omap4_mux_init(struct omap_board_mux *board_subset, |
| 1313 | struct omap_board_mux *board_wkup_subset, int flags) | ||
| 1313 | { | 1314 | { |
| 1314 | struct omap_ball *package_balls_core; | 1315 | struct omap_ball *package_balls_core; |
| 1315 | struct omap_ball *package_balls_wkup = omap4_wkup_cbl_cbs_ball; | 1316 | struct omap_ball *package_balls_wkup = omap4_wkup_cbl_cbs_ball; |
| @@ -1347,7 +1348,7 @@ int __init omap4_mux_init(struct omap_board_mux *board_subset, int flags) | |||
| 1347 | OMAP_MUX_GPIO_IN_MODE3, | 1348 | OMAP_MUX_GPIO_IN_MODE3, |
| 1348 | OMAP4_CTRL_MODULE_PAD_WKUP_MUX_PBASE, | 1349 | OMAP4_CTRL_MODULE_PAD_WKUP_MUX_PBASE, |
| 1349 | OMAP4_CTRL_MODULE_PAD_WKUP_MUX_SIZE, | 1350 | OMAP4_CTRL_MODULE_PAD_WKUP_MUX_SIZE, |
| 1350 | omap4_wkup_muxmodes, NULL, board_subset, | 1351 | omap4_wkup_muxmodes, NULL, board_wkup_subset, |
| 1351 | package_balls_wkup); | 1352 | package_balls_wkup); |
| 1352 | 1353 | ||
| 1353 | return ret; | 1354 | return ret; |
diff --git a/arch/arm/mach-omap2/omap_hwmod.c b/arch/arm/mach-omap2/omap_hwmod.c index e03429453ce7..293fa6cd50e1 100644 --- a/arch/arm/mach-omap2/omap_hwmod.c +++ b/arch/arm/mach-omap2/omap_hwmod.c | |||
| @@ -1628,7 +1628,7 @@ int omap_hwmod_for_each(int (*fn)(struct omap_hwmod *oh, void *data), | |||
| 1628 | void *data) | 1628 | void *data) |
| 1629 | { | 1629 | { |
| 1630 | struct omap_hwmod *temp_oh; | 1630 | struct omap_hwmod *temp_oh; |
| 1631 | int ret; | 1631 | int ret = 0; |
| 1632 | 1632 | ||
| 1633 | if (!fn) | 1633 | if (!fn) |
| 1634 | return -EINVAL; | 1634 | return -EINVAL; |
diff --git a/arch/arm/mach-omap2/omap_hwmod_44xx_data.c b/arch/arm/mach-omap2/omap_hwmod_44xx_data.c index abc548a0c98d..e1c69ffe0f69 100644 --- a/arch/arm/mach-omap2/omap_hwmod_44xx_data.c +++ b/arch/arm/mach-omap2/omap_hwmod_44xx_data.c | |||
| @@ -5109,7 +5109,7 @@ static __initdata struct omap_hwmod *omap44xx_hwmods[] = { | |||
| 5109 | &omap44xx_iva_seq1_hwmod, | 5109 | &omap44xx_iva_seq1_hwmod, |
| 5110 | 5110 | ||
| 5111 | /* kbd class */ | 5111 | /* kbd class */ |
| 5112 | /* &omap44xx_kbd_hwmod, */ | 5112 | &omap44xx_kbd_hwmod, |
| 5113 | 5113 | ||
| 5114 | /* mailbox class */ | 5114 | /* mailbox class */ |
| 5115 | &omap44xx_mailbox_hwmod, | 5115 | &omap44xx_mailbox_hwmod, |
diff --git a/arch/arm/mach-omap2/omap_phy_internal.c b/arch/arm/mach-omap2/omap_phy_internal.c index f47813edd951..58775e3c8476 100644 --- a/arch/arm/mach-omap2/omap_phy_internal.c +++ b/arch/arm/mach-omap2/omap_phy_internal.c | |||
| @@ -56,8 +56,10 @@ int omap4430_phy_init(struct device *dev) | |||
| 56 | /* Power down the phy */ | 56 | /* Power down the phy */ |
| 57 | __raw_writel(PHY_PD, ctrl_base + CONTROL_DEV_CONF); | 57 | __raw_writel(PHY_PD, ctrl_base + CONTROL_DEV_CONF); |
| 58 | 58 | ||
| 59 | if (!dev) | 59 | if (!dev) { |
| 60 | iounmap(ctrl_base); | ||
| 60 | return 0; | 61 | return 0; |
| 62 | } | ||
| 61 | 63 | ||
| 62 | phyclk = clk_get(dev, "ocp2scp_usb_phy_ick"); | 64 | phyclk = clk_get(dev, "ocp2scp_usb_phy_ick"); |
| 63 | if (IS_ERR(phyclk)) { | 65 | if (IS_ERR(phyclk)) { |
diff --git a/arch/arm/mach-s3c2410/Makefile b/arch/arm/mach-s3c2410/Makefile index 0d468e96e83e..81695353d8f4 100644 --- a/arch/arm/mach-s3c2410/Makefile +++ b/arch/arm/mach-s3c2410/Makefile | |||
| @@ -10,7 +10,6 @@ obj-n := | |||
| 10 | obj- := | 10 | obj- := |
| 11 | 11 | ||
| 12 | obj-$(CONFIG_CPU_S3C2410) += s3c2410.o | 12 | obj-$(CONFIG_CPU_S3C2410) += s3c2410.o |
| 13 | obj-$(CONFIG_CPU_S3C2410) += irq.o | ||
| 14 | obj-$(CONFIG_CPU_S3C2410_DMA) += dma.o | 13 | obj-$(CONFIG_CPU_S3C2410_DMA) += dma.o |
| 15 | obj-$(CONFIG_CPU_S3C2410_DMA) += dma.o | 14 | obj-$(CONFIG_CPU_S3C2410_DMA) += dma.o |
| 16 | obj-$(CONFIG_S3C2410_PM) += pm.o sleep.o | 15 | obj-$(CONFIG_S3C2410_PM) += pm.o sleep.o |
diff --git a/arch/arm/mach-s3c2410/irq.c b/arch/arm/mach-s3c2410/irq.c deleted file mode 100644 index 2854129f8cc7..000000000000 --- a/arch/arm/mach-s3c2410/irq.c +++ /dev/null | |||
| @@ -1,34 +0,0 @@ | |||
| 1 | /* linux/arch/arm/mach-s3c2410/irq.c | ||
| 2 | * | ||
| 3 | * Copyright (c) 2006 Simtec Electronics | ||
| 4 | * Ben Dooks <ben@simtec.co.uk> | ||
| 5 | * | ||
| 6 | * This program is free software; you can redistribute it and/or modify | ||
| 7 | * it under the terms of the GNU General Public License as published by | ||
| 8 | * the Free Software Foundation; either version 2 of the License, or | ||
| 9 | * (at your option) any later version. | ||
| 10 | * | ||
| 11 | * This program is distributed in the hope that it will be useful, | ||
| 12 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
| 13 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
| 14 | * GNU General Public License for more details. | ||
| 15 | * | ||
| 16 | * You should have received a copy of the GNU General Public License | ||
| 17 | * along with this program; if not, write to the Free Software | ||
| 18 | * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA | ||
| 19 | * | ||
| 20 | */ | ||
| 21 | |||
| 22 | #include <linux/init.h> | ||
| 23 | #include <linux/module.h> | ||
| 24 | #include <linux/interrupt.h> | ||
| 25 | #include <linux/ioport.h> | ||
| 26 | #include <linux/syscore_ops.h> | ||
| 27 | |||
| 28 | #include <plat/cpu.h> | ||
| 29 | #include <plat/pm.h> | ||
| 30 | |||
| 31 | struct syscore_ops s3c24xx_irq_syscore_ops = { | ||
| 32 | .suspend = s3c24xx_irq_suspend, | ||
| 33 | .resume = s3c24xx_irq_resume, | ||
| 34 | }; | ||
diff --git a/arch/arm/mach-s5pv210/cpufreq.c b/arch/arm/mach-s5pv210/cpufreq.c index 22046e2f53c2..153af8b359ec 100644 --- a/arch/arm/mach-s5pv210/cpufreq.c +++ b/arch/arm/mach-s5pv210/cpufreq.c | |||
| @@ -101,12 +101,14 @@ static void s5pv210_set_refresh(enum s5pv210_dmc_port ch, unsigned long freq) | |||
| 101 | unsigned long tmp, tmp1; | 101 | unsigned long tmp, tmp1; |
| 102 | void __iomem *reg = NULL; | 102 | void __iomem *reg = NULL; |
| 103 | 103 | ||
| 104 | if (ch == DMC0) | 104 | if (ch == DMC0) { |
| 105 | reg = (S5P_VA_DMC0 + 0x30); | 105 | reg = (S5P_VA_DMC0 + 0x30); |
| 106 | else if (ch == DMC1) | 106 | } else if (ch == DMC1) { |
| 107 | reg = (S5P_VA_DMC1 + 0x30); | 107 | reg = (S5P_VA_DMC1 + 0x30); |
| 108 | else | 108 | } else { |
| 109 | printk(KERN_ERR "Cannot find DMC port\n"); | 109 | printk(KERN_ERR "Cannot find DMC port\n"); |
| 110 | return; | ||
| 111 | } | ||
| 110 | 112 | ||
| 111 | /* Find current DRAM frequency */ | 113 | /* Find current DRAM frequency */ |
| 112 | tmp = s5pv210_dram_conf[ch].freq; | 114 | tmp = s5pv210_dram_conf[ch].freq; |
diff --git a/arch/arm/mach-ux500/cpu-db8500.c b/arch/arm/mach-ux500/cpu-db8500.c index c3c417656bd9..4598b06c8c55 100644 --- a/arch/arm/mach-ux500/cpu-db8500.c +++ b/arch/arm/mach-ux500/cpu-db8500.c | |||
| @@ -159,6 +159,9 @@ static void __init db8500_add_gpios(void) | |||
| 159 | /* No custom data yet */ | 159 | /* No custom data yet */ |
| 160 | }; | 160 | }; |
| 161 | 161 | ||
| 162 | if (cpu_is_u8500v2()) | ||
| 163 | pdata.supports_sleepmode = true; | ||
| 164 | |||
| 162 | dbx500_add_gpios(ARRAY_AND_SIZE(db8500_gpio_base), | 165 | dbx500_add_gpios(ARRAY_AND_SIZE(db8500_gpio_base), |
| 163 | IRQ_DB8500_GPIO0, &pdata); | 166 | IRQ_DB8500_GPIO0, &pdata); |
| 164 | } | 167 | } |
diff --git a/arch/arm/plat-nomadik/include/plat/gpio.h b/arch/arm/plat-nomadik/include/plat/gpio.h index ea19a5b2f227..d5d7e651269c 100644 --- a/arch/arm/plat-nomadik/include/plat/gpio.h +++ b/arch/arm/plat-nomadik/include/plat/gpio.h | |||
| @@ -90,6 +90,7 @@ struct nmk_gpio_platform_data { | |||
| 90 | int num_gpio; | 90 | int num_gpio; |
| 91 | u32 (*get_secondary_status)(unsigned int bank); | 91 | u32 (*get_secondary_status)(unsigned int bank); |
| 92 | void (*set_ioforce)(bool enable); | 92 | void (*set_ioforce)(bool enable); |
| 93 | bool supports_sleepmode; | ||
| 93 | }; | 94 | }; |
| 94 | 95 | ||
| 95 | #endif /* __ASM_PLAT_GPIO_H */ | 96 | #endif /* __ASM_PLAT_GPIO_H */ |
diff --git a/arch/arm/plat-omap/include/plat/flash.h b/arch/arm/plat-omap/include/plat/flash.h index 3083195123ea..0d88499b79e9 100644 --- a/arch/arm/plat-omap/include/plat/flash.h +++ b/arch/arm/plat-omap/include/plat/flash.h | |||
| @@ -11,6 +11,7 @@ | |||
| 11 | 11 | ||
| 12 | #include <linux/mtd/map.h> | 12 | #include <linux/mtd/map.h> |
| 13 | 13 | ||
| 14 | struct platform_device; | ||
| 14 | extern void omap1_set_vpp(struct platform_device *pdev, int enable); | 15 | extern void omap1_set_vpp(struct platform_device *pdev, int enable); |
| 15 | 16 | ||
| 16 | #endif | 17 | #endif |
diff --git a/arch/arm/plat-omap/include/plat/iovmm.h b/arch/arm/plat-omap/include/plat/iovmm.h index 32a2f6c4d39e..e992b9655fbc 100644 --- a/arch/arm/plat-omap/include/plat/iovmm.h +++ b/arch/arm/plat-omap/include/plat/iovmm.h | |||
| @@ -29,9 +29,6 @@ struct iovm_struct { | |||
| 29 | * lower 16 bit is used for h/w and upper 16 bit is for s/w. | 29 | * lower 16 bit is used for h/w and upper 16 bit is for s/w. |
| 30 | */ | 30 | */ |
| 31 | #define IOVMF_SW_SHIFT 16 | 31 | #define IOVMF_SW_SHIFT 16 |
| 32 | #define IOVMF_HW_SIZE (1 << IOVMF_SW_SHIFT) | ||
| 33 | #define IOVMF_HW_MASK (IOVMF_HW_SIZE - 1) | ||
| 34 | #define IOVMF_SW_MASK (~IOVMF_HW_MASK)UL | ||
| 35 | 32 | ||
| 36 | /* | 33 | /* |
| 37 | * iovma: h/w flags derived from cam and ram attribute | 34 | * iovma: h/w flags derived from cam and ram attribute |
diff --git a/arch/arm/plat-omap/include/plat/mmc.h b/arch/arm/plat-omap/include/plat/mmc.h index f38fef9f1310..c7b874186c27 100644 --- a/arch/arm/plat-omap/include/plat/mmc.h +++ b/arch/arm/plat-omap/include/plat/mmc.h | |||
| @@ -101,6 +101,9 @@ struct omap_mmc_platform_data { | |||
| 101 | /* If using power_saving and the MMC power is not to go off */ | 101 | /* If using power_saving and the MMC power is not to go off */ |
| 102 | unsigned no_off:1; | 102 | unsigned no_off:1; |
| 103 | 103 | ||
| 104 | /* eMMC does not handle power off when not in sleep state */ | ||
| 105 | unsigned no_regulator_off_init:1; | ||
| 106 | |||
| 104 | /* Regulator off remapped to sleep */ | 107 | /* Regulator off remapped to sleep */ |
| 105 | unsigned vcc_aux_disable_is_sleep:1; | 108 | unsigned vcc_aux_disable_is_sleep:1; |
| 106 | 109 | ||
diff --git a/arch/arm/plat-omap/iovmm.c b/arch/arm/plat-omap/iovmm.c index 51ef43e8def6..83a37c54342f 100644 --- a/arch/arm/plat-omap/iovmm.c +++ b/arch/arm/plat-omap/iovmm.c | |||
| @@ -648,7 +648,6 @@ u32 iommu_vmap(struct iommu *obj, u32 da, const struct sg_table *sgt, | |||
| 648 | return PTR_ERR(va); | 648 | return PTR_ERR(va); |
| 649 | } | 649 | } |
| 650 | 650 | ||
| 651 | flags &= IOVMF_HW_MASK; | ||
| 652 | flags |= IOVMF_DISCONT; | 651 | flags |= IOVMF_DISCONT; |
| 653 | flags |= IOVMF_MMIO; | 652 | flags |= IOVMF_MMIO; |
| 654 | 653 | ||
| @@ -706,7 +705,6 @@ u32 iommu_vmalloc(struct iommu *obj, u32 da, size_t bytes, u32 flags) | |||
| 706 | if (!va) | 705 | if (!va) |
| 707 | return -ENOMEM; | 706 | return -ENOMEM; |
| 708 | 707 | ||
| 709 | flags &= IOVMF_HW_MASK; | ||
| 710 | flags |= IOVMF_DISCONT; | 708 | flags |= IOVMF_DISCONT; |
| 711 | flags |= IOVMF_ALLOC; | 709 | flags |= IOVMF_ALLOC; |
| 712 | 710 | ||
| @@ -795,7 +793,6 @@ u32 iommu_kmap(struct iommu *obj, u32 da, u32 pa, size_t bytes, | |||
| 795 | if (!va) | 793 | if (!va) |
| 796 | return -ENOMEM; | 794 | return -ENOMEM; |
| 797 | 795 | ||
| 798 | flags &= IOVMF_HW_MASK; | ||
| 799 | flags |= IOVMF_LINEAR; | 796 | flags |= IOVMF_LINEAR; |
| 800 | flags |= IOVMF_MMIO; | 797 | flags |= IOVMF_MMIO; |
| 801 | 798 | ||
| @@ -853,7 +850,6 @@ u32 iommu_kmalloc(struct iommu *obj, u32 da, size_t bytes, u32 flags) | |||
| 853 | return -ENOMEM; | 850 | return -ENOMEM; |
| 854 | pa = virt_to_phys(va); | 851 | pa = virt_to_phys(va); |
| 855 | 852 | ||
| 856 | flags &= IOVMF_HW_MASK; | ||
| 857 | flags |= IOVMF_LINEAR; | 853 | flags |= IOVMF_LINEAR; |
| 858 | flags |= IOVMF_ALLOC; | 854 | flags |= IOVMF_ALLOC; |
| 859 | 855 | ||
diff --git a/arch/arm/plat-omap/sram.c b/arch/arm/plat-omap/sram.c index a3f50b34a90d..6af3d0b1f8d0 100644 --- a/arch/arm/plat-omap/sram.c +++ b/arch/arm/plat-omap/sram.c | |||
| @@ -166,7 +166,7 @@ static void __init omap_detect_sram(void) | |||
| 166 | else if (cpu_is_omap1611()) | 166 | else if (cpu_is_omap1611()) |
| 167 | omap_sram_size = SZ_256K; | 167 | omap_sram_size = SZ_256K; |
| 168 | else { | 168 | else { |
| 169 | printk(KERN_ERR "Could not detect SRAM size\n"); | 169 | pr_err("Could not detect SRAM size\n"); |
| 170 | omap_sram_size = 0x4000; | 170 | omap_sram_size = 0x4000; |
| 171 | } | 171 | } |
| 172 | } | 172 | } |
| @@ -221,10 +221,10 @@ static void __init omap_map_sram(void) | |||
| 221 | omap_sram_io_desc[0].length = ROUND_DOWN(omap_sram_size, PAGE_SIZE); | 221 | omap_sram_io_desc[0].length = ROUND_DOWN(omap_sram_size, PAGE_SIZE); |
| 222 | iotable_init(omap_sram_io_desc, ARRAY_SIZE(omap_sram_io_desc)); | 222 | iotable_init(omap_sram_io_desc, ARRAY_SIZE(omap_sram_io_desc)); |
| 223 | 223 | ||
| 224 | printk(KERN_INFO "SRAM: Mapped pa 0x%08lx to va 0x%08lx size: 0x%lx\n", | 224 | pr_info("SRAM: Mapped pa 0x%08llx to va 0x%08lx size: 0x%lx\n", |
| 225 | __pfn_to_phys(omap_sram_io_desc[0].pfn), | 225 | (long long) __pfn_to_phys(omap_sram_io_desc[0].pfn), |
| 226 | omap_sram_io_desc[0].virtual, | 226 | omap_sram_io_desc[0].virtual, |
| 227 | omap_sram_io_desc[0].length); | 227 | omap_sram_io_desc[0].length); |
| 228 | 228 | ||
| 229 | /* | 229 | /* |
| 230 | * Normally devicemaps_init() would flush caches and tlb after | 230 | * Normally devicemaps_init() would flush caches and tlb after |
| @@ -252,7 +252,7 @@ static void __init omap_map_sram(void) | |||
| 252 | void *omap_sram_push_address(unsigned long size) | 252 | void *omap_sram_push_address(unsigned long size) |
| 253 | { | 253 | { |
| 254 | if (size > (omap_sram_ceil - (omap_sram_base + SRAM_BOOTLOADER_SZ))) { | 254 | if (size > (omap_sram_ceil - (omap_sram_base + SRAM_BOOTLOADER_SZ))) { |
| 255 | printk(KERN_ERR "Not enough space in SRAM\n"); | 255 | pr_err("Not enough space in SRAM\n"); |
| 256 | return NULL; | 256 | return NULL; |
| 257 | } | 257 | } |
| 258 | 258 | ||
diff --git a/arch/arm/plat-s3c24xx/dma.c b/arch/arm/plat-s3c24xx/dma.c index c10d10c56e2e..2abf9660bc6c 100644 --- a/arch/arm/plat-s3c24xx/dma.c +++ b/arch/arm/plat-s3c24xx/dma.c | |||
| @@ -1199,7 +1199,7 @@ EXPORT_SYMBOL(s3c2410_dma_getposition); | |||
| 1199 | 1199 | ||
| 1200 | #ifdef CONFIG_PM | 1200 | #ifdef CONFIG_PM |
| 1201 | 1201 | ||
| 1202 | static void s3c2410_dma_suspend_chan(s3c2410_dma_chan *cp) | 1202 | static void s3c2410_dma_suspend_chan(struct s3c2410_dma_chan *cp) |
| 1203 | { | 1203 | { |
| 1204 | printk(KERN_DEBUG "suspending dma channel %d\n", cp->number); | 1204 | printk(KERN_DEBUG "suspending dma channel %d\n", cp->number); |
| 1205 | 1205 | ||
diff --git a/arch/arm/plat-s3c24xx/irq.c b/arch/arm/plat-s3c24xx/irq.c index 9aee7e1668b1..fc8c5f89954d 100644 --- a/arch/arm/plat-s3c24xx/irq.c +++ b/arch/arm/plat-s3c24xx/irq.c | |||
| @@ -23,6 +23,7 @@ | |||
| 23 | #include <linux/interrupt.h> | 23 | #include <linux/interrupt.h> |
| 24 | #include <linux/ioport.h> | 24 | #include <linux/ioport.h> |
| 25 | #include <linux/sysdev.h> | 25 | #include <linux/sysdev.h> |
| 26 | #include <linux/syscore_ops.h> | ||
| 26 | 27 | ||
| 27 | #include <asm/irq.h> | 28 | #include <asm/irq.h> |
| 28 | #include <asm/mach/irq.h> | 29 | #include <asm/mach/irq.h> |
| @@ -668,3 +669,8 @@ void __init s3c24xx_init_irq(void) | |||
| 668 | 669 | ||
| 669 | irqdbf("s3c2410: registered interrupt handlers\n"); | 670 | irqdbf("s3c2410: registered interrupt handlers\n"); |
| 670 | } | 671 | } |
| 672 | |||
| 673 | struct syscore_ops s3c24xx_irq_syscore_ops = { | ||
| 674 | .suspend = s3c24xx_irq_suspend, | ||
| 675 | .resume = s3c24xx_irq_resume, | ||
| 676 | }; | ||
diff --git a/arch/arm/plat-s5p/dev-onenand.c b/arch/arm/plat-s5p/dev-onenand.c index 6db926202caa..20336c8f2479 100644 --- a/arch/arm/plat-s5p/dev-onenand.c +++ b/arch/arm/plat-s5p/dev-onenand.c | |||
| @@ -15,8 +15,6 @@ | |||
| 15 | 15 | ||
| 16 | #include <linux/kernel.h> | 16 | #include <linux/kernel.h> |
| 17 | #include <linux/platform_device.h> | 17 | #include <linux/platform_device.h> |
| 18 | #include <linux/mtd/mtd.h> | ||
| 19 | #include <linux/mtd/onenand.h> | ||
| 20 | 18 | ||
| 21 | #include <mach/irqs.h> | 19 | #include <mach/irqs.h> |
| 22 | #include <mach/map.h> | 20 | #include <mach/map.h> |
| @@ -45,13 +43,3 @@ struct platform_device s5p_device_onenand = { | |||
| 45 | .num_resources = ARRAY_SIZE(s5p_onenand_resources), | 43 | .num_resources = ARRAY_SIZE(s5p_onenand_resources), |
| 46 | .resource = s5p_onenand_resources, | 44 | .resource = s5p_onenand_resources, |
| 47 | }; | 45 | }; |
| 48 | |||
| 49 | void s5p_onenand_set_platdata(struct onenand_platform_data *pdata) | ||
| 50 | { | ||
| 51 | struct onenand_platform_data *pd; | ||
| 52 | |||
| 53 | pd = kmemdup(pdata, sizeof(struct onenand_platform_data), GFP_KERNEL); | ||
| 54 | if (!pd) | ||
| 55 | printk(KERN_ERR "%s: no memory for platform data\n", __func__); | ||
| 56 | s5p_device_onenand.dev.platform_data = pd; | ||
| 57 | } | ||
diff --git a/arch/arm/plat-s5p/include/plat/map-s5p.h b/arch/arm/plat-s5p/include/plat/map-s5p.h index a6c3d327ce72..d973d39666a3 100644 --- a/arch/arm/plat-s5p/include/plat/map-s5p.h +++ b/arch/arm/plat-s5p/include/plat/map-s5p.h | |||
| @@ -39,7 +39,7 @@ | |||
| 39 | #define S5P_VA_TWD S5P_VA_COREPERI(0x600) | 39 | #define S5P_VA_TWD S5P_VA_COREPERI(0x600) |
| 40 | #define S5P_VA_GIC_DIST S5P_VA_COREPERI(0x1000) | 40 | #define S5P_VA_GIC_DIST S5P_VA_COREPERI(0x1000) |
| 41 | 41 | ||
| 42 | #define S5P_VA_USB_HSPHY S3C_ADDR(0x02900000) | 42 | #define S3C_VA_USB_HSPHY S3C_ADDR(0x02900000) |
| 43 | 43 | ||
| 44 | #define VA_VIC(x) (S3C_VA_IRQ + ((x) * 0x10000)) | 44 | #define VA_VIC(x) (S3C_VA_IRQ + ((x) * 0x10000)) |
| 45 | #define VA_VIC0 VA_VIC(0) | 45 | #define VA_VIC0 VA_VIC(0) |
diff --git a/arch/arm/plat-samsung/dev-onenand.c b/arch/arm/plat-samsung/dev-onenand.c index 45ec73287d8c..f54ae71f0cd2 100644 --- a/arch/arm/plat-samsung/dev-onenand.c +++ b/arch/arm/plat-samsung/dev-onenand.c | |||
| @@ -13,8 +13,6 @@ | |||
| 13 | 13 | ||
| 14 | #include <linux/kernel.h> | 14 | #include <linux/kernel.h> |
| 15 | #include <linux/platform_device.h> | 15 | #include <linux/platform_device.h> |
| 16 | #include <linux/mtd/mtd.h> | ||
| 17 | #include <linux/mtd/onenand.h> | ||
| 18 | 16 | ||
| 19 | #include <mach/irqs.h> | 17 | #include <mach/irqs.h> |
| 20 | #include <mach/map.h> | 18 | #include <mach/map.h> |
| @@ -43,13 +41,3 @@ struct platform_device s3c_device_onenand = { | |||
| 43 | .num_resources = ARRAY_SIZE(s3c_onenand_resources), | 41 | .num_resources = ARRAY_SIZE(s3c_onenand_resources), |
| 44 | .resource = s3c_onenand_resources, | 42 | .resource = s3c_onenand_resources, |
| 45 | }; | 43 | }; |
| 46 | |||
| 47 | void s3c_onenand_set_platdata(struct onenand_platform_data *pdata) | ||
| 48 | { | ||
| 49 | struct onenand_platform_data *pd; | ||
| 50 | |||
| 51 | pd = kmemdup(pdata, sizeof(struct onenand_platform_data), GFP_KERNEL); | ||
| 52 | if (!pd) | ||
| 53 | printk(KERN_ERR "%s: no memory for platform data\n", __func__); | ||
| 54 | s3c_device_onenand.dev.platform_data = pd; | ||
| 55 | } | ||
diff --git a/arch/arm/plat-samsung/include/plat/devs.h b/arch/arm/plat-samsung/include/plat/devs.h index b61b8ee7cc52..4af108ff4112 100644 --- a/arch/arm/plat-samsung/include/plat/devs.h +++ b/arch/arm/plat-samsung/include/plat/devs.h | |||
| @@ -75,10 +75,8 @@ extern struct platform_device s5pc100_device_spi1; | |||
| 75 | extern struct platform_device s5pc100_device_spi2; | 75 | extern struct platform_device s5pc100_device_spi2; |
| 76 | extern struct platform_device s5pv210_device_spi0; | 76 | extern struct platform_device s5pv210_device_spi0; |
| 77 | extern struct platform_device s5pv210_device_spi1; | 77 | extern struct platform_device s5pv210_device_spi1; |
| 78 | extern struct platform_device s5p6440_device_spi0; | 78 | extern struct platform_device s5p64x0_device_spi0; |
| 79 | extern struct platform_device s5p6440_device_spi1; | 79 | extern struct platform_device s5p64x0_device_spi1; |
| 80 | extern struct platform_device s5p6450_device_spi0; | ||
| 81 | extern struct platform_device s5p6450_device_spi1; | ||
| 82 | 80 | ||
| 83 | extern struct platform_device s3c_device_hwmon; | 81 | extern struct platform_device s3c_device_hwmon; |
| 84 | 82 | ||
