diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2008-10-30 19:16:39 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2008-10-30 19:16:39 -0400 |
commit | 7105212bd309752b589a3ba816afdd7fed190b85 (patch) | |
tree | 812d86441f8ba375f04c38c569908bd3f61e1c26 /arch | |
parent | 65fc716fa673cf98fb5887180fd3c52ca0371198 (diff) | |
parent | b73b925a6b9d69478c6ae4e74ef20607fd24aeaa (diff) |
Merge master.kernel.org:/home/rmk/linux-2.6-arm
* master.kernel.org:/home/rmk/linux-2.6-arm:
[ARM] 5326/1: AFEB9260: Fix for i2c_board_info structure
[ARM] mx31ads: Add missing include
[ARM] MXC: Fix mxc_gpio_get(), which must read PSR register instead DR.
[ARM] MX3: Use ioremap wrapper to map SoC devices nonshared
[ARM] gpio_free might sleep, arm architecture
[ARM] ep93xx: fix OHCI DMA mask
leds: da903x: (da9030 only) led brightness reversed.
[ARM] sharpsl_pm: fix compilation w/o CONFIG_PM
[ARM] pcm037: map AIPS1 and AIPS2 as nonshared area
[ARM] build fixes for netX serial driver
[ARM] 5323/1: Remove outdated empeg documentation.
[ARM] 5299/1: Add maintainer for Mobilepro 900/c
[ARM] corgi_lcd: fix simultaneous compilation with corgi_bl
[ARM] pxa/spitz: fix spi cs on spitz
[ARM] 5322/1: Fix fastpath issue in mmci.c
[ARM] xsc3: revert writethrough memory-type encoding change
Diffstat (limited to 'arch')
-rw-r--r-- | arch/arm/common/sharpsl_pm.c | 19 | ||||
-rw-r--r-- | arch/arm/mach-at91/board-afeb-9260v1.c | 1 | ||||
-rw-r--r-- | arch/arm/mach-at91/include/mach/gpio.h | 2 | ||||
-rw-r--r-- | arch/arm/mach-ep93xx/core.c | 6 | ||||
-rw-r--r-- | arch/arm/mach-imx/include/mach/gpio.h | 3 | ||||
-rw-r--r-- | arch/arm/mach-ixp4xx/include/mach/gpio.h | 3 | ||||
-rw-r--r-- | arch/arm/mach-ks8695/include/mach/gpio.h | 3 | ||||
-rw-r--r-- | arch/arm/mach-mx3/mx31ads.c | 2 | ||||
-rw-r--r-- | arch/arm/mach-mx3/pcm037.c | 4 | ||||
-rw-r--r-- | arch/arm/mach-ns9xxx/gpio.c | 2 | ||||
-rw-r--r-- | arch/arm/mach-orion5x/gpio.c | 2 | ||||
-rw-r--r-- | arch/arm/mach-pxa/corgi_pm.c | 4 | ||||
-rw-r--r-- | arch/arm/mach-pxa/include/mach/sharpsl.h | 1 | ||||
-rw-r--r-- | arch/arm/mach-pxa/spitz.c | 12 | ||||
-rw-r--r-- | arch/arm/mach-pxa/spitz_pm.c | 4 | ||||
-rw-r--r-- | arch/arm/mm/proc-xsc3.S | 2 | ||||
-rw-r--r-- | arch/arm/plat-mxc/gpio.c | 2 | ||||
-rw-r--r-- | arch/arm/plat-mxc/include/mach/io.h | 20 |
18 files changed, 79 insertions, 13 deletions
diff --git a/arch/arm/common/sharpsl_pm.c b/arch/arm/common/sharpsl_pm.c index db8309161408..780bbf7cb26f 100644 --- a/arch/arm/common/sharpsl_pm.c +++ b/arch/arm/common/sharpsl_pm.c | |||
@@ -54,11 +54,13 @@ | |||
54 | /* | 54 | /* |
55 | * Prototypes | 55 | * Prototypes |
56 | */ | 56 | */ |
57 | #ifdef CONFIG_PM | ||
57 | static int sharpsl_off_charge_battery(void); | 58 | static int sharpsl_off_charge_battery(void); |
58 | static int sharpsl_check_battery_temp(void); | ||
59 | static int sharpsl_check_battery_voltage(void); | 59 | static int sharpsl_check_battery_voltage(void); |
60 | static int sharpsl_ac_check(void); | ||
61 | static int sharpsl_fatal_check(void); | 60 | static int sharpsl_fatal_check(void); |
61 | #endif | ||
62 | static int sharpsl_check_battery_temp(void); | ||
63 | static int sharpsl_ac_check(void); | ||
62 | static int sharpsl_average_value(int ad); | 64 | static int sharpsl_average_value(int ad); |
63 | static void sharpsl_average_clear(void); | 65 | static void sharpsl_average_clear(void); |
64 | static void sharpsl_charge_toggle(struct work_struct *private_); | 66 | static void sharpsl_charge_toggle(struct work_struct *private_); |
@@ -424,6 +426,7 @@ static int sharpsl_check_battery_temp(void) | |||
424 | return 0; | 426 | return 0; |
425 | } | 427 | } |
426 | 428 | ||
429 | #ifdef CONFIG_PM | ||
427 | static int sharpsl_check_battery_voltage(void) | 430 | static int sharpsl_check_battery_voltage(void) |
428 | { | 431 | { |
429 | int val, i, buff[5]; | 432 | int val, i, buff[5]; |
@@ -455,6 +458,7 @@ static int sharpsl_check_battery_voltage(void) | |||
455 | 458 | ||
456 | return 0; | 459 | return 0; |
457 | } | 460 | } |
461 | #endif | ||
458 | 462 | ||
459 | static int sharpsl_ac_check(void) | 463 | static int sharpsl_ac_check(void) |
460 | { | 464 | { |
@@ -586,8 +590,6 @@ static int corgi_pxa_pm_enter(suspend_state_t state) | |||
586 | 590 | ||
587 | return 0; | 591 | return 0; |
588 | } | 592 | } |
589 | #endif | ||
590 | |||
591 | 593 | ||
592 | /* | 594 | /* |
593 | * Check for fatal battery errors | 595 | * Check for fatal battery errors |
@@ -738,7 +740,10 @@ static int sharpsl_off_charge_battery(void) | |||
738 | } | 740 | } |
739 | } | 741 | } |
740 | } | 742 | } |
741 | 743 | #else | |
744 | #define sharpsl_pm_suspend NULL | ||
745 | #define sharpsl_pm_resume NULL | ||
746 | #endif | ||
742 | 747 | ||
743 | static ssize_t battery_percentage_show(struct device *dev, struct device_attribute *attr, char *buf) | 748 | static ssize_t battery_percentage_show(struct device *dev, struct device_attribute *attr, char *buf) |
744 | { | 749 | { |
@@ -768,10 +773,12 @@ static void sharpsl_apm_get_power_status(struct apm_power_info *info) | |||
768 | info->battery_life = sharpsl_pm.battstat.mainbat_percent; | 773 | info->battery_life = sharpsl_pm.battstat.mainbat_percent; |
769 | } | 774 | } |
770 | 775 | ||
776 | #ifdef CONFIG_PM | ||
771 | static struct platform_suspend_ops sharpsl_pm_ops = { | 777 | static struct platform_suspend_ops sharpsl_pm_ops = { |
772 | .enter = corgi_pxa_pm_enter, | 778 | .enter = corgi_pxa_pm_enter, |
773 | .valid = suspend_valid_only_mem, | 779 | .valid = suspend_valid_only_mem, |
774 | }; | 780 | }; |
781 | #endif | ||
775 | 782 | ||
776 | static int __init sharpsl_pm_probe(struct platform_device *pdev) | 783 | static int __init sharpsl_pm_probe(struct platform_device *pdev) |
777 | { | 784 | { |
@@ -802,7 +809,9 @@ static int __init sharpsl_pm_probe(struct platform_device *pdev) | |||
802 | 809 | ||
803 | apm_get_power_status = sharpsl_apm_get_power_status; | 810 | apm_get_power_status = sharpsl_apm_get_power_status; |
804 | 811 | ||
812 | #ifdef CONFIG_PM | ||
805 | suspend_set_ops(&sharpsl_pm_ops); | 813 | suspend_set_ops(&sharpsl_pm_ops); |
814 | #endif | ||
806 | 815 | ||
807 | mod_timer(&sharpsl_pm.ac_timer, jiffies + msecs_to_jiffies(250)); | 816 | mod_timer(&sharpsl_pm.ac_timer, jiffies + msecs_to_jiffies(250)); |
808 | 817 | ||
diff --git a/arch/arm/mach-at91/board-afeb-9260v1.c b/arch/arm/mach-at91/board-afeb-9260v1.c index 9c040c78889a..e263fda3e2d1 100644 --- a/arch/arm/mach-at91/board-afeb-9260v1.c +++ b/arch/arm/mach-at91/board-afeb-9260v1.c | |||
@@ -165,6 +165,7 @@ static struct at91_mmc_data __initdata afeb9260_mmc_data = { | |||
165 | static struct i2c_board_info __initdata afeb9260_i2c_devices[] = { | 165 | static struct i2c_board_info __initdata afeb9260_i2c_devices[] = { |
166 | { | 166 | { |
167 | I2C_BOARD_INFO("fm3130", 0x68), | 167 | I2C_BOARD_INFO("fm3130", 0x68), |
168 | }, { | ||
168 | I2C_BOARD_INFO("24c64", 0x50), | 169 | I2C_BOARD_INFO("24c64", 0x50), |
169 | }, | 170 | }, |
170 | }; | 171 | }; |
diff --git a/arch/arm/mach-at91/include/mach/gpio.h b/arch/arm/mach-at91/include/mach/gpio.h index 76d76e2fa69e..bffa6741a751 100644 --- a/arch/arm/mach-at91/include/mach/gpio.h +++ b/arch/arm/mach-at91/include/mach/gpio.h | |||
@@ -13,6 +13,7 @@ | |||
13 | #ifndef __ASM_ARCH_AT91RM9200_GPIO_H | 13 | #ifndef __ASM_ARCH_AT91RM9200_GPIO_H |
14 | #define __ASM_ARCH_AT91RM9200_GPIO_H | 14 | #define __ASM_ARCH_AT91RM9200_GPIO_H |
15 | 15 | ||
16 | #include <linux/kernel.h> | ||
16 | #include <asm/irq.h> | 17 | #include <asm/irq.h> |
17 | 18 | ||
18 | #define PIN_BASE NR_AIC_IRQS | 19 | #define PIN_BASE NR_AIC_IRQS |
@@ -220,6 +221,7 @@ static inline int gpio_request(unsigned gpio, const char *label) | |||
220 | 221 | ||
221 | static inline void gpio_free(unsigned gpio) | 222 | static inline void gpio_free(unsigned gpio) |
222 | { | 223 | { |
224 | might_sleep(); | ||
223 | } | 225 | } |
224 | 226 | ||
225 | extern int gpio_direction_input(unsigned gpio); | 227 | extern int gpio_direction_input(unsigned gpio); |
diff --git a/arch/arm/mach-ep93xx/core.c b/arch/arm/mach-ep93xx/core.c index de53f0be71b9..48345fb34613 100644 --- a/arch/arm/mach-ep93xx/core.c +++ b/arch/arm/mach-ep93xx/core.c | |||
@@ -26,6 +26,7 @@ | |||
26 | #include <linux/serial_core.h> | 26 | #include <linux/serial_core.h> |
27 | #include <linux/device.h> | 27 | #include <linux/device.h> |
28 | #include <linux/mm.h> | 28 | #include <linux/mm.h> |
29 | #include <linux/dma-mapping.h> | ||
29 | #include <linux/time.h> | 30 | #include <linux/time.h> |
30 | #include <linux/timex.h> | 31 | #include <linux/timex.h> |
31 | #include <linux/delay.h> | 32 | #include <linux/delay.h> |
@@ -449,12 +450,13 @@ static struct resource ep93xx_ohci_resources[] = { | |||
449 | }, | 450 | }, |
450 | }; | 451 | }; |
451 | 452 | ||
453 | |||
452 | static struct platform_device ep93xx_ohci_device = { | 454 | static struct platform_device ep93xx_ohci_device = { |
453 | .name = "ep93xx-ohci", | 455 | .name = "ep93xx-ohci", |
454 | .id = -1, | 456 | .id = -1, |
455 | .dev = { | 457 | .dev = { |
456 | .dma_mask = (void *)0xffffffff, | 458 | .dma_mask = &ep93xx_ohci_device.dev.coherent_dma_mask, |
457 | .coherent_dma_mask = 0xffffffff, | 459 | .coherent_dma_mask = DMA_BIT_MASK(32), |
458 | }, | 460 | }, |
459 | .num_resources = ARRAY_SIZE(ep93xx_ohci_resources), | 461 | .num_resources = ARRAY_SIZE(ep93xx_ohci_resources), |
460 | .resource = ep93xx_ohci_resources, | 462 | .resource = ep93xx_ohci_resources, |
diff --git a/arch/arm/mach-imx/include/mach/gpio.h b/arch/arm/mach-imx/include/mach/gpio.h index 6e3d795f2264..502d5aa2c093 100644 --- a/arch/arm/mach-imx/include/mach/gpio.h +++ b/arch/arm/mach-imx/include/mach/gpio.h | |||
@@ -1,5 +1,6 @@ | |||
1 | #ifndef _IMX_GPIO_H | 1 | #ifndef _IMX_GPIO_H |
2 | 2 | ||
3 | #include <linux/kernel.h> | ||
3 | #include <mach/imx-regs.h> | 4 | #include <mach/imx-regs.h> |
4 | 5 | ||
5 | #define IMX_GPIO_ALLOC_MODE_NORMAL 0 | 6 | #define IMX_GPIO_ALLOC_MODE_NORMAL 0 |
@@ -63,6 +64,8 @@ static inline int gpio_request(unsigned gpio, const char *label) | |||
63 | 64 | ||
64 | static inline void gpio_free(unsigned gpio) | 65 | static inline void gpio_free(unsigned gpio) |
65 | { | 66 | { |
67 | might_sleep(); | ||
68 | |||
66 | imx_gpio_free(gpio); | 69 | imx_gpio_free(gpio); |
67 | } | 70 | } |
68 | 71 | ||
diff --git a/arch/arm/mach-ixp4xx/include/mach/gpio.h b/arch/arm/mach-ixp4xx/include/mach/gpio.h index 9fbde177920f..cd5aec26c072 100644 --- a/arch/arm/mach-ixp4xx/include/mach/gpio.h +++ b/arch/arm/mach-ixp4xx/include/mach/gpio.h | |||
@@ -25,6 +25,7 @@ | |||
25 | #ifndef __ASM_ARCH_IXP4XX_GPIO_H | 25 | #ifndef __ASM_ARCH_IXP4XX_GPIO_H |
26 | #define __ASM_ARCH_IXP4XX_GPIO_H | 26 | #define __ASM_ARCH_IXP4XX_GPIO_H |
27 | 27 | ||
28 | #include <linux/kernel.h> | ||
28 | #include <mach/hardware.h> | 29 | #include <mach/hardware.h> |
29 | 30 | ||
30 | static inline int gpio_request(unsigned gpio, const char *label) | 31 | static inline int gpio_request(unsigned gpio, const char *label) |
@@ -34,6 +35,8 @@ static inline int gpio_request(unsigned gpio, const char *label) | |||
34 | 35 | ||
35 | static inline void gpio_free(unsigned gpio) | 36 | static inline void gpio_free(unsigned gpio) |
36 | { | 37 | { |
38 | might_sleep(); | ||
39 | |||
37 | return; | 40 | return; |
38 | } | 41 | } |
39 | 42 | ||
diff --git a/arch/arm/mach-ks8695/include/mach/gpio.h b/arch/arm/mach-ks8695/include/mach/gpio.h index 73c84168761c..d4af5c335f16 100644 --- a/arch/arm/mach-ks8695/include/mach/gpio.h +++ b/arch/arm/mach-ks8695/include/mach/gpio.h | |||
@@ -11,6 +11,8 @@ | |||
11 | #ifndef __ASM_ARCH_GPIO_H_ | 11 | #ifndef __ASM_ARCH_GPIO_H_ |
12 | #define __ASM_ARCH_GPIO_H_ | 12 | #define __ASM_ARCH_GPIO_H_ |
13 | 13 | ||
14 | #include <linux/kernel.h> | ||
15 | |||
14 | #define KS8695_GPIO_0 0 | 16 | #define KS8695_GPIO_0 0 |
15 | #define KS8695_GPIO_1 1 | 17 | #define KS8695_GPIO_1 1 |
16 | #define KS8695_GPIO_2 2 | 18 | #define KS8695_GPIO_2 2 |
@@ -74,6 +76,7 @@ static inline int gpio_request(unsigned int pin, const char *label) | |||
74 | 76 | ||
75 | static inline void gpio_free(unsigned int pin) | 77 | static inline void gpio_free(unsigned int pin) |
76 | { | 78 | { |
79 | might_sleep(); | ||
77 | } | 80 | } |
78 | 81 | ||
79 | #endif | 82 | #endif |
diff --git a/arch/arm/mach-mx3/mx31ads.c b/arch/arm/mach-mx3/mx31ads.c index 1be4a390c63f..f902a7c37c31 100644 --- a/arch/arm/mach-mx3/mx31ads.c +++ b/arch/arm/mach-mx3/mx31ads.c | |||
@@ -35,6 +35,8 @@ | |||
35 | #include <mach/imx-uart.h> | 35 | #include <mach/imx-uart.h> |
36 | #include <mach/iomux-mx3.h> | 36 | #include <mach/iomux-mx3.h> |
37 | 37 | ||
38 | #include "devices.h" | ||
39 | |||
38 | /*! | 40 | /*! |
39 | * @file mx31ads.c | 41 | * @file mx31ads.c |
40 | * | 42 | * |
diff --git a/arch/arm/mach-mx3/pcm037.c b/arch/arm/mach-mx3/pcm037.c index 11fda95c86a5..843f68c8ead1 100644 --- a/arch/arm/mach-mx3/pcm037.c +++ b/arch/arm/mach-mx3/pcm037.c | |||
@@ -91,12 +91,12 @@ static struct map_desc pcm037_io_desc[] __initdata = { | |||
91 | .virtual = AIPS1_BASE_ADDR_VIRT, | 91 | .virtual = AIPS1_BASE_ADDR_VIRT, |
92 | .pfn = __phys_to_pfn(AIPS1_BASE_ADDR), | 92 | .pfn = __phys_to_pfn(AIPS1_BASE_ADDR), |
93 | .length = AIPS1_SIZE, | 93 | .length = AIPS1_SIZE, |
94 | .type = MT_DEVICE | 94 | .type = MT_DEVICE_NONSHARED |
95 | }, { | 95 | }, { |
96 | .virtual = AIPS2_BASE_ADDR_VIRT, | 96 | .virtual = AIPS2_BASE_ADDR_VIRT, |
97 | .pfn = __phys_to_pfn(AIPS2_BASE_ADDR), | 97 | .pfn = __phys_to_pfn(AIPS2_BASE_ADDR), |
98 | .length = AIPS2_SIZE, | 98 | .length = AIPS2_SIZE, |
99 | .type = MT_DEVICE | 99 | .type = MT_DEVICE_NONSHARED |
100 | }, | 100 | }, |
101 | }; | 101 | }; |
102 | 102 | ||
diff --git a/arch/arm/mach-ns9xxx/gpio.c b/arch/arm/mach-ns9xxx/gpio.c index 5241e6a286cc..5503ca09c4ae 100644 --- a/arch/arm/mach-ns9xxx/gpio.c +++ b/arch/arm/mach-ns9xxx/gpio.c | |||
@@ -8,6 +8,7 @@ | |||
8 | * under the terms of the GNU General Public License version 2 as published by | 8 | * under the terms of the GNU General Public License version 2 as published by |
9 | * the Free Software Foundation. | 9 | * the Free Software Foundation. |
10 | */ | 10 | */ |
11 | #include <linux/kernel.h> | ||
11 | #include <linux/compiler.h> | 12 | #include <linux/compiler.h> |
12 | #include <linux/init.h> | 13 | #include <linux/init.h> |
13 | #include <linux/spinlock.h> | 14 | #include <linux/spinlock.h> |
@@ -63,6 +64,7 @@ EXPORT_SYMBOL(gpio_request); | |||
63 | 64 | ||
64 | void gpio_free(unsigned gpio) | 65 | void gpio_free(unsigned gpio) |
65 | { | 66 | { |
67 | might_sleep(); | ||
66 | clear_bit(gpio, gpiores); | 68 | clear_bit(gpio, gpiores); |
67 | return; | 69 | return; |
68 | } | 70 | } |
diff --git a/arch/arm/mach-orion5x/gpio.c b/arch/arm/mach-orion5x/gpio.c index fc419868e39f..f99d08811e5a 100644 --- a/arch/arm/mach-orion5x/gpio.c +++ b/arch/arm/mach-orion5x/gpio.c | |||
@@ -165,6 +165,8 @@ EXPORT_SYMBOL(gpio_request); | |||
165 | 165 | ||
166 | void gpio_free(unsigned pin) | 166 | void gpio_free(unsigned pin) |
167 | { | 167 | { |
168 | might_sleep(); | ||
169 | |||
168 | if (pin >= GPIO_MAX || !test_bit(pin, gpio_valid)) { | 170 | if (pin >= GPIO_MAX || !test_bit(pin, gpio_valid)) { |
169 | pr_debug("%s: invalid GPIO %d\n", __func__, pin); | 171 | pr_debug("%s: invalid GPIO %d\n", __func__, pin); |
170 | return; | 172 | return; |
diff --git a/arch/arm/mach-pxa/corgi_pm.c b/arch/arm/mach-pxa/corgi_pm.c index eb7d6c94aa42..e35259032813 100644 --- a/arch/arm/mach-pxa/corgi_pm.c +++ b/arch/arm/mach-pxa/corgi_pm.c | |||
@@ -204,7 +204,9 @@ static struct sharpsl_charger_machinfo corgi_pm_machinfo = { | |||
204 | .read_devdata = corgipm_read_devdata, | 204 | .read_devdata = corgipm_read_devdata, |
205 | .charger_wakeup = corgi_charger_wakeup, | 205 | .charger_wakeup = corgi_charger_wakeup, |
206 | .should_wakeup = corgi_should_wakeup, | 206 | .should_wakeup = corgi_should_wakeup, |
207 | #ifdef CONFIG_BACKLIGHT_CORGI | 207 | #if defined(CONFIG_LCD_CORGI) |
208 | .backlight_limit = corgi_lcd_limit_intensity, | ||
209 | #elif defined(CONFIG_BACKLIGHT_CORGI) | ||
208 | .backlight_limit = corgibl_limit_intensity, | 210 | .backlight_limit = corgibl_limit_intensity, |
209 | #endif | 211 | #endif |
210 | .charge_on_volt = SHARPSL_CHARGE_ON_VOLT, | 212 | .charge_on_volt = SHARPSL_CHARGE_ON_VOLT, |
diff --git a/arch/arm/mach-pxa/include/mach/sharpsl.h b/arch/arm/mach-pxa/include/mach/sharpsl.h index 3b1d4a72d4d1..8242e14a44fa 100644 --- a/arch/arm/mach-pxa/include/mach/sharpsl.h +++ b/arch/arm/mach-pxa/include/mach/sharpsl.h | |||
@@ -26,6 +26,7 @@ struct corgits_machinfo { | |||
26 | * SharpSL Backlight | 26 | * SharpSL Backlight |
27 | */ | 27 | */ |
28 | extern void corgibl_limit_intensity(int limit); | 28 | extern void corgibl_limit_intensity(int limit); |
29 | extern void corgi_lcd_limit_intensity(int limit); | ||
29 | 30 | ||
30 | 31 | ||
31 | /* | 32 | /* |
diff --git a/arch/arm/mach-pxa/spitz.c b/arch/arm/mach-pxa/spitz.c index 524f656dc56d..f0a5bbae0b45 100644 --- a/arch/arm/mach-pxa/spitz.c +++ b/arch/arm/mach-pxa/spitz.c | |||
@@ -385,6 +385,16 @@ static void __init spitz_init_spi(void) | |||
385 | if (err) | 385 | if (err) |
386 | goto err_free_2; | 386 | goto err_free_2; |
387 | 387 | ||
388 | err = gpio_direction_output(SPITZ_GPIO_ADS7846_CS, 1); | ||
389 | if (err) | ||
390 | goto err_free_3; | ||
391 | err = gpio_direction_output(SPITZ_GPIO_LCDCON_CS, 1); | ||
392 | if (err) | ||
393 | goto err_free_3; | ||
394 | err = gpio_direction_output(SPITZ_GPIO_MAX1111_CS, 1); | ||
395 | if (err) | ||
396 | goto err_free_3; | ||
397 | |||
388 | if (machine_is_akita()) { | 398 | if (machine_is_akita()) { |
389 | spitz_lcdcon_info.gpio_backlight_cont = AKITA_GPIO_BACKLIGHT_CONT; | 399 | spitz_lcdcon_info.gpio_backlight_cont = AKITA_GPIO_BACKLIGHT_CONT; |
390 | spitz_lcdcon_info.gpio_backlight_on = AKITA_GPIO_BACKLIGHT_ON; | 400 | spitz_lcdcon_info.gpio_backlight_on = AKITA_GPIO_BACKLIGHT_ON; |
@@ -394,6 +404,8 @@ static void __init spitz_init_spi(void) | |||
394 | spi_register_board_info(ARRAY_AND_SIZE(spitz_spi_devices)); | 404 | spi_register_board_info(ARRAY_AND_SIZE(spitz_spi_devices)); |
395 | return; | 405 | return; |
396 | 406 | ||
407 | err_free_3: | ||
408 | gpio_free(SPITZ_GPIO_MAX1111_CS); | ||
397 | err_free_2: | 409 | err_free_2: |
398 | gpio_free(SPITZ_GPIO_LCDCON_CS); | 410 | gpio_free(SPITZ_GPIO_LCDCON_CS); |
399 | err_free_1: | 411 | err_free_1: |
diff --git a/arch/arm/mach-pxa/spitz_pm.c b/arch/arm/mach-pxa/spitz_pm.c index 53018db106ac..072e77cfe5a3 100644 --- a/arch/arm/mach-pxa/spitz_pm.c +++ b/arch/arm/mach-pxa/spitz_pm.c | |||
@@ -198,7 +198,9 @@ struct sharpsl_charger_machinfo spitz_pm_machinfo = { | |||
198 | .read_devdata = spitzpm_read_devdata, | 198 | .read_devdata = spitzpm_read_devdata, |
199 | .charger_wakeup = spitz_charger_wakeup, | 199 | .charger_wakeup = spitz_charger_wakeup, |
200 | .should_wakeup = spitz_should_wakeup, | 200 | .should_wakeup = spitz_should_wakeup, |
201 | #ifdef CONFIG_BACKLIGHT_CORGI | 201 | #if defined(CONFIG_LCD_CORGI) |
202 | .backlight_limit = corgi_lcd_limit_intensity, | ||
203 | #elif defined(CONFIG_BACKLIGHT_CORGI) | ||
202 | .backlight_limit = corgibl_limit_intensity, | 204 | .backlight_limit = corgibl_limit_intensity, |
203 | #endif | 205 | #endif |
204 | .charge_on_volt = SHARPSL_CHARGE_ON_VOLT, | 206 | .charge_on_volt = SHARPSL_CHARGE_ON_VOLT, |
diff --git a/arch/arm/mm/proc-xsc3.S b/arch/arm/mm/proc-xsc3.S index 04dc8b65401b..8f6cf56c11c0 100644 --- a/arch/arm/mm/proc-xsc3.S +++ b/arch/arm/mm/proc-xsc3.S | |||
@@ -349,7 +349,7 @@ ENTRY(cpu_xsc3_switch_mm) | |||
349 | cpu_xsc3_mt_table: | 349 | cpu_xsc3_mt_table: |
350 | .long 0x00 @ L_PTE_MT_UNCACHED | 350 | .long 0x00 @ L_PTE_MT_UNCACHED |
351 | .long PTE_EXT_TEX(1) @ L_PTE_MT_BUFFERABLE | 351 | .long PTE_EXT_TEX(1) @ L_PTE_MT_BUFFERABLE |
352 | .long PTE_CACHEABLE @ L_PTE_MT_WRITETHROUGH | 352 | .long PTE_EXT_TEX(5) | PTE_CACHEABLE @ L_PTE_MT_WRITETHROUGH |
353 | .long PTE_CACHEABLE | PTE_BUFFERABLE @ L_PTE_MT_WRITEBACK | 353 | .long PTE_CACHEABLE | PTE_BUFFERABLE @ L_PTE_MT_WRITEBACK |
354 | .long PTE_EXT_TEX(1) | PTE_BUFFERABLE @ L_PTE_MT_DEV_SHARED | 354 | .long PTE_EXT_TEX(1) | PTE_BUFFERABLE @ L_PTE_MT_DEV_SHARED |
355 | .long 0x00 @ unused | 355 | .long 0x00 @ unused |
diff --git a/arch/arm/plat-mxc/gpio.c b/arch/arm/plat-mxc/gpio.c index 733e0acac916..de5c4747453f 100644 --- a/arch/arm/plat-mxc/gpio.c +++ b/arch/arm/plat-mxc/gpio.c | |||
@@ -188,7 +188,7 @@ static int mxc_gpio_get(struct gpio_chip *chip, unsigned offset) | |||
188 | struct mxc_gpio_port *port = | 188 | struct mxc_gpio_port *port = |
189 | container_of(chip, struct mxc_gpio_port, chip); | 189 | container_of(chip, struct mxc_gpio_port, chip); |
190 | 190 | ||
191 | return (__raw_readl(port->base + GPIO_DR) >> offset) & 1; | 191 | return (__raw_readl(port->base + GPIO_PSR) >> offset) & 1; |
192 | } | 192 | } |
193 | 193 | ||
194 | static int mxc_gpio_direction_input(struct gpio_chip *chip, unsigned offset) | 194 | static int mxc_gpio_direction_input(struct gpio_chip *chip, unsigned offset) |
diff --git a/arch/arm/plat-mxc/include/mach/io.h b/arch/arm/plat-mxc/include/mach/io.h index 65b6810124c1..5d4cb1196441 100644 --- a/arch/arm/plat-mxc/include/mach/io.h +++ b/arch/arm/plat-mxc/include/mach/io.h | |||
@@ -14,6 +14,26 @@ | |||
14 | /* Allow IO space to be anywhere in the memory */ | 14 | /* Allow IO space to be anywhere in the memory */ |
15 | #define IO_SPACE_LIMIT 0xffffffff | 15 | #define IO_SPACE_LIMIT 0xffffffff |
16 | 16 | ||
17 | #ifdef CONFIG_ARCH_MX3 | ||
18 | #define __arch_ioremap __mx3_ioremap | ||
19 | #define __arch_iounmap __iounmap | ||
20 | |||
21 | static inline void __iomem * | ||
22 | __mx3_ioremap(unsigned long phys_addr, size_t size, unsigned int mtype) | ||
23 | { | ||
24 | if (mtype == MT_DEVICE) { | ||
25 | /* Access all peripherals below 0x80000000 as nonshared device | ||
26 | * but leave l2cc alone. | ||
27 | */ | ||
28 | if ((phys_addr < 0x80000000) && ((phys_addr < L2CC_BASE_ADDR) || | ||
29 | (phys_addr >= L2CC_BASE_ADDR + L2CC_SIZE))) | ||
30 | mtype = MT_DEVICE_NONSHARED; | ||
31 | } | ||
32 | |||
33 | return __arm_ioremap(phys_addr, size, mtype); | ||
34 | } | ||
35 | #endif | ||
36 | |||
17 | /* io address mapping macro */ | 37 | /* io address mapping macro */ |
18 | #define __io(a) ((void __iomem *)(a)) | 38 | #define __io(a) ((void __iomem *)(a)) |
19 | 39 | ||