diff options
Diffstat (limited to 'drivers')
57 files changed, 442 insertions, 115 deletions
diff --git a/drivers/char/ds1620.c b/drivers/char/ds1620.c index 74e9cd81b5b2..61f0146e215d 100644 --- a/drivers/char/ds1620.c +++ b/drivers/char/ds1620.c | |||
@@ -43,52 +43,51 @@ static const char *fan_state[] = { "off", "on", "on (hardwired)" }; | |||
43 | * chance that the WaveArtist driver could touch these bits to | 43 | * chance that the WaveArtist driver could touch these bits to |
44 | * enable or disable the speaker. | 44 | * enable or disable the speaker. |
45 | */ | 45 | */ |
46 | extern spinlock_t gpio_lock; | ||
47 | extern unsigned int system_rev; | 46 | extern unsigned int system_rev; |
48 | 47 | ||
49 | static inline void netwinder_ds1620_set_clk(int clk) | 48 | static inline void netwinder_ds1620_set_clk(int clk) |
50 | { | 49 | { |
51 | gpio_modify_op(GPIO_DSCLK, clk ? GPIO_DSCLK : 0); | 50 | nw_gpio_modify_op(GPIO_DSCLK, clk ? GPIO_DSCLK : 0); |
52 | } | 51 | } |
53 | 52 | ||
54 | static inline void netwinder_ds1620_set_data(int dat) | 53 | static inline void netwinder_ds1620_set_data(int dat) |
55 | { | 54 | { |
56 | gpio_modify_op(GPIO_DATA, dat ? GPIO_DATA : 0); | 55 | nw_gpio_modify_op(GPIO_DATA, dat ? GPIO_DATA : 0); |
57 | } | 56 | } |
58 | 57 | ||
59 | static inline int netwinder_ds1620_get_data(void) | 58 | static inline int netwinder_ds1620_get_data(void) |
60 | { | 59 | { |
61 | return gpio_read() & GPIO_DATA; | 60 | return nw_gpio_read() & GPIO_DATA; |
62 | } | 61 | } |
63 | 62 | ||
64 | static inline void netwinder_ds1620_set_data_dir(int dir) | 63 | static inline void netwinder_ds1620_set_data_dir(int dir) |
65 | { | 64 | { |
66 | gpio_modify_io(GPIO_DATA, dir ? GPIO_DATA : 0); | 65 | nw_gpio_modify_io(GPIO_DATA, dir ? GPIO_DATA : 0); |
67 | } | 66 | } |
68 | 67 | ||
69 | static inline void netwinder_ds1620_reset(void) | 68 | static inline void netwinder_ds1620_reset(void) |
70 | { | 69 | { |
71 | cpld_modify(CPLD_DS_ENABLE, 0); | 70 | nw_cpld_modify(CPLD_DS_ENABLE, 0); |
72 | cpld_modify(CPLD_DS_ENABLE, CPLD_DS_ENABLE); | 71 | nw_cpld_modify(CPLD_DS_ENABLE, CPLD_DS_ENABLE); |
73 | } | 72 | } |
74 | 73 | ||
75 | static inline void netwinder_lock(unsigned long *flags) | 74 | static inline void netwinder_lock(unsigned long *flags) |
76 | { | 75 | { |
77 | spin_lock_irqsave(&gpio_lock, *flags); | 76 | spin_lock_irqsave(&nw_gpio_lock, *flags); |
78 | } | 77 | } |
79 | 78 | ||
80 | static inline void netwinder_unlock(unsigned long *flags) | 79 | static inline void netwinder_unlock(unsigned long *flags) |
81 | { | 80 | { |
82 | spin_unlock_irqrestore(&gpio_lock, *flags); | 81 | spin_unlock_irqrestore(&nw_gpio_lock, *flags); |
83 | } | 82 | } |
84 | 83 | ||
85 | static inline void netwinder_set_fan(int i) | 84 | static inline void netwinder_set_fan(int i) |
86 | { | 85 | { |
87 | unsigned long flags; | 86 | unsigned long flags; |
88 | 87 | ||
89 | spin_lock_irqsave(&gpio_lock, flags); | 88 | spin_lock_irqsave(&nw_gpio_lock, flags); |
90 | gpio_modify_op(GPIO_FAN, i ? GPIO_FAN : 0); | 89 | nw_gpio_modify_op(GPIO_FAN, i ? GPIO_FAN : 0); |
91 | spin_unlock_irqrestore(&gpio_lock, flags); | 90 | spin_unlock_irqrestore(&nw_gpio_lock, flags); |
92 | } | 91 | } |
93 | 92 | ||
94 | static inline int netwinder_get_fan(void) | 93 | static inline int netwinder_get_fan(void) |
@@ -96,7 +95,7 @@ static inline int netwinder_get_fan(void) | |||
96 | if ((system_rev & 0xf000) == 0x4000) | 95 | if ((system_rev & 0xf000) == 0x4000) |
97 | return FAN_ALWAYS_ON; | 96 | return FAN_ALWAYS_ON; |
98 | 97 | ||
99 | return (gpio_read() & GPIO_FAN) ? FAN_ON : FAN_OFF; | 98 | return (nw_gpio_read() & GPIO_FAN) ? FAN_ON : FAN_OFF; |
100 | } | 99 | } |
101 | 100 | ||
102 | /* | 101 | /* |
diff --git a/drivers/char/nwflash.c b/drivers/char/nwflash.c index 006be92ee3f3..8c7df5ba088f 100644 --- a/drivers/char/nwflash.c +++ b/drivers/char/nwflash.c | |||
@@ -58,8 +58,6 @@ static volatile unsigned char *FLASH_BASE; | |||
58 | static int gbFlashSize = KFLASH_SIZE; | 58 | static int gbFlashSize = KFLASH_SIZE; |
59 | static DEFINE_MUTEX(nwflash_mutex); | 59 | static DEFINE_MUTEX(nwflash_mutex); |
60 | 60 | ||
61 | extern spinlock_t gpio_lock; | ||
62 | |||
63 | static int get_flash_id(void) | 61 | static int get_flash_id(void) |
64 | { | 62 | { |
65 | volatile unsigned int c1, c2; | 63 | volatile unsigned int c1, c2; |
@@ -616,9 +614,9 @@ static void kick_open(void) | |||
616 | * we want to write a bit pattern XXX1 to Xilinx to enable | 614 | * we want to write a bit pattern XXX1 to Xilinx to enable |
617 | * the write gate, which will be open for about the next 2ms. | 615 | * the write gate, which will be open for about the next 2ms. |
618 | */ | 616 | */ |
619 | spin_lock_irqsave(&gpio_lock, flags); | 617 | spin_lock_irqsave(&nw_gpio_lock, flags); |
620 | cpld_modify(1, 1); | 618 | nw_cpld_modify(CPLD_FLASH_WR_ENABLE, CPLD_FLASH_WR_ENABLE); |
621 | spin_unlock_irqrestore(&gpio_lock, flags); | 619 | spin_unlock_irqrestore(&nw_gpio_lock, flags); |
622 | 620 | ||
623 | /* | 621 | /* |
624 | * let the ISA bus to catch on... | 622 | * let the ISA bus to catch on... |
diff --git a/drivers/i2c/busses/i2c-pxa.c b/drivers/i2c/busses/i2c-pxa.c index 906f9b9d715d..587f5b2380d4 100644 --- a/drivers/i2c/busses/i2c-pxa.c +++ b/drivers/i2c/busses/i2c-pxa.c | |||
@@ -1016,7 +1016,7 @@ static int i2c_pxa_probe(struct platform_device *dev) | |||
1016 | snprintf(i2c->adap.name, sizeof(i2c->adap.name), "pxa_i2c-i2c.%u", | 1016 | snprintf(i2c->adap.name, sizeof(i2c->adap.name), "pxa_i2c-i2c.%u", |
1017 | i2c->adap.nr); | 1017 | i2c->adap.nr); |
1018 | 1018 | ||
1019 | i2c->clk = clk_get(&dev->dev, "I2CCLK"); | 1019 | i2c->clk = clk_get(&dev->dev, NULL); |
1020 | if (IS_ERR(i2c->clk)) { | 1020 | if (IS_ERR(i2c->clk)) { |
1021 | ret = PTR_ERR(i2c->clk); | 1021 | ret = PTR_ERR(i2c->clk); |
1022 | goto eclk; | 1022 | goto eclk; |
diff --git a/drivers/i2c/busses/i2c-s3c2410.c b/drivers/i2c/busses/i2c-s3c2410.c index 1fac4e233133..fdebd930408e 100644 --- a/drivers/i2c/busses/i2c-s3c2410.c +++ b/drivers/i2c/busses/i2c-s3c2410.c | |||
@@ -40,8 +40,8 @@ | |||
40 | #include <asm/io.h> | 40 | #include <asm/io.h> |
41 | 41 | ||
42 | #include <mach/regs-gpio.h> | 42 | #include <mach/regs-gpio.h> |
43 | #include <asm/plat-s3c/regs-iic.h> | 43 | #include <plat/regs-iic.h> |
44 | #include <asm/plat-s3c/iic.h> | 44 | #include <plat/iic.h> |
45 | 45 | ||
46 | /* i2c controller state */ | 46 | /* i2c controller state */ |
47 | 47 | ||
diff --git a/drivers/ide/Kconfig b/drivers/ide/Kconfig index e6857e01d1ba..1a00bb7db872 100644 --- a/drivers/ide/Kconfig +++ b/drivers/ide/Kconfig | |||
@@ -724,7 +724,7 @@ config BLK_DEV_IDE_TX4939 | |||
724 | 724 | ||
725 | config IDE_ARM | 725 | config IDE_ARM |
726 | tristate "ARM IDE support" | 726 | tristate "ARM IDE support" |
727 | depends on ARM && (ARCH_CLPS7500 || ARCH_RPC || ARCH_SHARK) | 727 | depends on ARM && (ARCH_RPC || ARCH_SHARK) |
728 | default y | 728 | default y |
729 | 729 | ||
730 | config BLK_DEV_IDE_ICSIDE | 730 | config BLK_DEV_IDE_ICSIDE |
diff --git a/drivers/ide/ide_arm.c b/drivers/ide/ide_arm.c index f728f2927b5a..bdcac94d7c1f 100644 --- a/drivers/ide/ide_arm.c +++ b/drivers/ide/ide_arm.c | |||
@@ -15,15 +15,8 @@ | |||
15 | 15 | ||
16 | #define DRV_NAME "ide_arm" | 16 | #define DRV_NAME "ide_arm" |
17 | 17 | ||
18 | #ifdef CONFIG_ARCH_CLPS7500 | 18 | #define IDE_ARM_IO 0x1f0 |
19 | # include <mach/hardware.h> | 19 | #define IDE_ARM_IRQ IRQ_HARDDISK |
20 | # | ||
21 | # define IDE_ARM_IO (ISASLOT_IO + 0x1f0) | ||
22 | # define IDE_ARM_IRQ IRQ_ISA_14 | ||
23 | #else | ||
24 | # define IDE_ARM_IO 0x1f0 | ||
25 | # define IDE_ARM_IRQ IRQ_HARDDISK | ||
26 | #endif | ||
27 | 20 | ||
28 | static int __init ide_arm_init(void) | 21 | static int __init ide_arm_init(void) |
29 | { | 22 | { |
diff --git a/drivers/input/keyboard/omap-keypad.c b/drivers/input/keyboard/omap-keypad.c index 69e674ecf19a..db22fd9b4cf2 100644 --- a/drivers/input/keyboard/omap-keypad.c +++ b/drivers/input/keyboard/omap-keypad.c | |||
@@ -101,7 +101,7 @@ static irqreturn_t omap_kp_interrupt(int irq, void *dev_id) | |||
101 | if (cpu_is_omap24xx()) { | 101 | if (cpu_is_omap24xx()) { |
102 | int i; | 102 | int i; |
103 | for (i = 0; i < omap_kp->rows; i++) | 103 | for (i = 0; i < omap_kp->rows; i++) |
104 | disable_irq(OMAP_GPIO_IRQ(row_gpios[i])); | 104 | disable_irq(gpio_to_irq(row_gpios[i])); |
105 | } else | 105 | } else |
106 | /* disable keyboard interrupt and schedule for handling */ | 106 | /* disable keyboard interrupt and schedule for handling */ |
107 | omap_writew(1, OMAP_MPUIO_BASE + OMAP_MPUIO_KBD_MASKIT); | 107 | omap_writew(1, OMAP_MPUIO_BASE + OMAP_MPUIO_KBD_MASKIT); |
@@ -224,7 +224,7 @@ static void omap_kp_tasklet(unsigned long data) | |||
224 | if (cpu_is_omap24xx()) { | 224 | if (cpu_is_omap24xx()) { |
225 | int i; | 225 | int i; |
226 | for (i = 0; i < omap_kp_data->rows; i++) | 226 | for (i = 0; i < omap_kp_data->rows; i++) |
227 | enable_irq(OMAP_GPIO_IRQ(row_gpios[i])); | 227 | enable_irq(gpio_to_irq(row_gpios[i])); |
228 | } else { | 228 | } else { |
229 | omap_writew(0, OMAP_MPUIO_BASE + OMAP_MPUIO_KBD_MASKIT); | 229 | omap_writew(0, OMAP_MPUIO_BASE + OMAP_MPUIO_KBD_MASKIT); |
230 | kp_cur_group = -1; | 230 | kp_cur_group = -1; |
@@ -397,7 +397,7 @@ static int __init omap_kp_probe(struct platform_device *pdev) | |||
397 | omap_writew(0, OMAP_MPUIO_BASE + OMAP_MPUIO_KBD_MASKIT); | 397 | omap_writew(0, OMAP_MPUIO_BASE + OMAP_MPUIO_KBD_MASKIT); |
398 | } else { | 398 | } else { |
399 | for (irq_idx = 0; irq_idx < omap_kp->rows; irq_idx++) { | 399 | for (irq_idx = 0; irq_idx < omap_kp->rows; irq_idx++) { |
400 | if (request_irq(OMAP_GPIO_IRQ(row_gpios[irq_idx]), | 400 | if (request_irq(gpio_to_irq(row_gpios[irq_idx]), |
401 | omap_kp_interrupt, | 401 | omap_kp_interrupt, |
402 | IRQF_TRIGGER_FALLING, | 402 | IRQF_TRIGGER_FALLING, |
403 | "omap-keypad", omap_kp) < 0) | 403 | "omap-keypad", omap_kp) < 0) |
@@ -438,7 +438,7 @@ static int omap_kp_remove(struct platform_device *pdev) | |||
438 | gpio_free(col_gpios[i]); | 438 | gpio_free(col_gpios[i]); |
439 | for (i = 0; i < omap_kp->rows; i++) { | 439 | for (i = 0; i < omap_kp->rows; i++) { |
440 | gpio_free(row_gpios[i]); | 440 | gpio_free(row_gpios[i]); |
441 | free_irq(OMAP_GPIO_IRQ(row_gpios[i]), 0); | 441 | free_irq(gpio_to_irq(row_gpios[i]), 0); |
442 | } | 442 | } |
443 | } else { | 443 | } else { |
444 | omap_writew(1, OMAP_MPUIO_BASE + OMAP_MPUIO_KBD_MASKIT); | 444 | omap_writew(1, OMAP_MPUIO_BASE + OMAP_MPUIO_KBD_MASKIT); |
diff --git a/drivers/input/keyboard/pxa27x_keypad.c b/drivers/input/keyboard/pxa27x_keypad.c index 6d30c6d334c3..0d2fc64a5e1c 100644 --- a/drivers/input/keyboard/pxa27x_keypad.c +++ b/drivers/input/keyboard/pxa27x_keypad.c | |||
@@ -475,7 +475,7 @@ static int __devinit pxa27x_keypad_probe(struct platform_device *pdev) | |||
475 | goto failed_free_mem; | 475 | goto failed_free_mem; |
476 | } | 476 | } |
477 | 477 | ||
478 | keypad->clk = clk_get(&pdev->dev, "KBDCLK"); | 478 | keypad->clk = clk_get(&pdev->dev, NULL); |
479 | if (IS_ERR(keypad->clk)) { | 479 | if (IS_ERR(keypad->clk)) { |
480 | dev_err(&pdev->dev, "failed to get keypad clock\n"); | 480 | dev_err(&pdev->dev, "failed to get keypad clock\n"); |
481 | error = PTR_ERR(keypad->clk); | 481 | error = PTR_ERR(keypad->clk); |
diff --git a/drivers/input/serio/Kconfig b/drivers/input/serio/Kconfig index 27d70d326ff3..da3c3a5d2689 100644 --- a/drivers/input/serio/Kconfig +++ b/drivers/input/serio/Kconfig | |||
@@ -79,7 +79,7 @@ config SERIO_PARKBD | |||
79 | 79 | ||
80 | config SERIO_RPCKBD | 80 | config SERIO_RPCKBD |
81 | tristate "Acorn RiscPC keyboard controller" | 81 | tristate "Acorn RiscPC keyboard controller" |
82 | depends on ARCH_ACORN || ARCH_CLPS7500 | 82 | depends on ARCH_ACORN |
83 | default y | 83 | default y |
84 | help | 84 | help |
85 | Say Y here if you have the Acorn RiscPC and want to use an AT | 85 | Say Y here if you have the Acorn RiscPC and want to use an AT |
diff --git a/drivers/input/touchscreen/mainstone-wm97xx.c b/drivers/input/touchscreen/mainstone-wm97xx.c index ba648750a8d9..1d11e2be9ef8 100644 --- a/drivers/input/touchscreen/mainstone-wm97xx.c +++ b/drivers/input/touchscreen/mainstone-wm97xx.c | |||
@@ -31,7 +31,7 @@ | |||
31 | #include <linux/interrupt.h> | 31 | #include <linux/interrupt.h> |
32 | #include <linux/wm97xx.h> | 32 | #include <linux/wm97xx.h> |
33 | #include <linux/io.h> | 33 | #include <linux/io.h> |
34 | #include <mach/pxa-regs.h> | 34 | #include <mach/regs-ac97.h> |
35 | 35 | ||
36 | #define VERSION "0.13" | 36 | #define VERSION "0.13" |
37 | 37 | ||
diff --git a/drivers/media/video/pxa_camera.c b/drivers/media/video/pxa_camera.c index eb6be5802928..70a77625107d 100644 --- a/drivers/media/video/pxa_camera.c +++ b/drivers/media/video/pxa_camera.c | |||
@@ -39,6 +39,8 @@ | |||
39 | #include <mach/pxa-regs.h> | 39 | #include <mach/pxa-regs.h> |
40 | #include <mach/camera.h> | 40 | #include <mach/camera.h> |
41 | 41 | ||
42 | #include "pxa_camera.h" | ||
43 | |||
42 | #define PXA_CAM_VERSION_CODE KERNEL_VERSION(0, 0, 5) | 44 | #define PXA_CAM_VERSION_CODE KERNEL_VERSION(0, 0, 5) |
43 | #define PXA_CAM_DRV_NAME "pxa27x-camera" | 45 | #define PXA_CAM_DRV_NAME "pxa27x-camera" |
44 | 46 | ||
@@ -1071,7 +1073,7 @@ static int pxa_camera_probe(struct platform_device *pdev) | |||
1071 | goto exit; | 1073 | goto exit; |
1072 | } | 1074 | } |
1073 | 1075 | ||
1074 | pcdev->clk = clk_get(&pdev->dev, "CAMCLK"); | 1076 | pcdev->clk = clk_get(&pdev->dev, NULL); |
1075 | if (IS_ERR(pcdev->clk)) { | 1077 | if (IS_ERR(pcdev->clk)) { |
1076 | err = PTR_ERR(pcdev->clk); | 1078 | err = PTR_ERR(pcdev->clk); |
1077 | goto exit_kfree; | 1079 | goto exit_kfree; |
diff --git a/drivers/media/video/pxa_camera.h b/drivers/media/video/pxa_camera.h new file mode 100644 index 000000000000..89cbfc9a35c5 --- /dev/null +++ b/drivers/media/video/pxa_camera.h | |||
@@ -0,0 +1,95 @@ | |||
1 | /* Camera Interface */ | ||
2 | #define CICR0 __REG(0x50000000) | ||
3 | #define CICR1 __REG(0x50000004) | ||
4 | #define CICR2 __REG(0x50000008) | ||
5 | #define CICR3 __REG(0x5000000C) | ||
6 | #define CICR4 __REG(0x50000010) | ||
7 | #define CISR __REG(0x50000014) | ||
8 | #define CIFR __REG(0x50000018) | ||
9 | #define CITOR __REG(0x5000001C) | ||
10 | #define CIBR0 __REG(0x50000028) | ||
11 | #define CIBR1 __REG(0x50000030) | ||
12 | #define CIBR2 __REG(0x50000038) | ||
13 | |||
14 | #define CICR0_DMAEN (1 << 31) /* DMA request enable */ | ||
15 | #define CICR0_PAR_EN (1 << 30) /* Parity enable */ | ||
16 | #define CICR0_SL_CAP_EN (1 << 29) /* Capture enable for slave mode */ | ||
17 | #define CICR0_ENB (1 << 28) /* Camera interface enable */ | ||
18 | #define CICR0_DIS (1 << 27) /* Camera interface disable */ | ||
19 | #define CICR0_SIM (0x7 << 24) /* Sensor interface mode mask */ | ||
20 | #define CICR0_TOM (1 << 9) /* Time-out mask */ | ||
21 | #define CICR0_RDAVM (1 << 8) /* Receive-data-available mask */ | ||
22 | #define CICR0_FEM (1 << 7) /* FIFO-empty mask */ | ||
23 | #define CICR0_EOLM (1 << 6) /* End-of-line mask */ | ||
24 | #define CICR0_PERRM (1 << 5) /* Parity-error mask */ | ||
25 | #define CICR0_QDM (1 << 4) /* Quick-disable mask */ | ||
26 | #define CICR0_CDM (1 << 3) /* Disable-done mask */ | ||
27 | #define CICR0_SOFM (1 << 2) /* Start-of-frame mask */ | ||
28 | #define CICR0_EOFM (1 << 1) /* End-of-frame mask */ | ||
29 | #define CICR0_FOM (1 << 0) /* FIFO-overrun mask */ | ||
30 | |||
31 | #define CICR1_TBIT (1 << 31) /* Transparency bit */ | ||
32 | #define CICR1_RGBT_CONV (0x3 << 29) /* RGBT conversion mask */ | ||
33 | #define CICR1_PPL (0x7ff << 15) /* Pixels per line mask */ | ||
34 | #define CICR1_RGB_CONV (0x7 << 12) /* RGB conversion mask */ | ||
35 | #define CICR1_RGB_F (1 << 11) /* RGB format */ | ||
36 | #define CICR1_YCBCR_F (1 << 10) /* YCbCr format */ | ||
37 | #define CICR1_RGB_BPP (0x7 << 7) /* RGB bis per pixel mask */ | ||
38 | #define CICR1_RAW_BPP (0x3 << 5) /* Raw bis per pixel mask */ | ||
39 | #define CICR1_COLOR_SP (0x3 << 3) /* Color space mask */ | ||
40 | #define CICR1_DW (0x7 << 0) /* Data width mask */ | ||
41 | |||
42 | #define CICR2_BLW (0xff << 24) /* Beginning-of-line pixel clock | ||
43 | wait count mask */ | ||
44 | #define CICR2_ELW (0xff << 16) /* End-of-line pixel clock | ||
45 | wait count mask */ | ||
46 | #define CICR2_HSW (0x3f << 10) /* Horizontal sync pulse width mask */ | ||
47 | #define CICR2_BFPW (0x3f << 3) /* Beginning-of-frame pixel clock | ||
48 | wait count mask */ | ||
49 | #define CICR2_FSW (0x7 << 0) /* Frame stabilization | ||
50 | wait count mask */ | ||
51 | |||
52 | #define CICR3_BFW (0xff << 24) /* Beginning-of-frame line clock | ||
53 | wait count mask */ | ||
54 | #define CICR3_EFW (0xff << 16) /* End-of-frame line clock | ||
55 | wait count mask */ | ||
56 | #define CICR3_VSW (0x3f << 10) /* Vertical sync pulse width mask */ | ||
57 | #define CICR3_BFPW (0x3f << 3) /* Beginning-of-frame pixel clock | ||
58 | wait count mask */ | ||
59 | #define CICR3_LPF (0x7ff << 0) /* Lines per frame mask */ | ||
60 | |||
61 | #define CICR4_MCLK_DLY (0x3 << 24) /* MCLK Data Capture Delay mask */ | ||
62 | #define CICR4_PCLK_EN (1 << 23) /* Pixel clock enable */ | ||
63 | #define CICR4_PCP (1 << 22) /* Pixel clock polarity */ | ||
64 | #define CICR4_HSP (1 << 21) /* Horizontal sync polarity */ | ||
65 | #define CICR4_VSP (1 << 20) /* Vertical sync polarity */ | ||
66 | #define CICR4_MCLK_EN (1 << 19) /* MCLK enable */ | ||
67 | #define CICR4_FR_RATE (0x7 << 8) /* Frame rate mask */ | ||
68 | #define CICR4_DIV (0xff << 0) /* Clock divisor mask */ | ||
69 | |||
70 | #define CISR_FTO (1 << 15) /* FIFO time-out */ | ||
71 | #define CISR_RDAV_2 (1 << 14) /* Channel 2 receive data available */ | ||
72 | #define CISR_RDAV_1 (1 << 13) /* Channel 1 receive data available */ | ||
73 | #define CISR_RDAV_0 (1 << 12) /* Channel 0 receive data available */ | ||
74 | #define CISR_FEMPTY_2 (1 << 11) /* Channel 2 FIFO empty */ | ||
75 | #define CISR_FEMPTY_1 (1 << 10) /* Channel 1 FIFO empty */ | ||
76 | #define CISR_FEMPTY_0 (1 << 9) /* Channel 0 FIFO empty */ | ||
77 | #define CISR_EOL (1 << 8) /* End of line */ | ||
78 | #define CISR_PAR_ERR (1 << 7) /* Parity error */ | ||
79 | #define CISR_CQD (1 << 6) /* Camera interface quick disable */ | ||
80 | #define CISR_CDD (1 << 5) /* Camera interface disable done */ | ||
81 | #define CISR_SOF (1 << 4) /* Start of frame */ | ||
82 | #define CISR_EOF (1 << 3) /* End of frame */ | ||
83 | #define CISR_IFO_2 (1 << 2) /* FIFO overrun for Channel 2 */ | ||
84 | #define CISR_IFO_1 (1 << 1) /* FIFO overrun for Channel 1 */ | ||
85 | #define CISR_IFO_0 (1 << 0) /* FIFO overrun for Channel 0 */ | ||
86 | |||
87 | #define CIFR_FLVL2 (0x7f << 23) /* FIFO 2 level mask */ | ||
88 | #define CIFR_FLVL1 (0x7f << 16) /* FIFO 1 level mask */ | ||
89 | #define CIFR_FLVL0 (0xff << 8) /* FIFO 0 level mask */ | ||
90 | #define CIFR_THL_0 (0x3 << 4) /* Threshold Level for Channel 0 FIFO */ | ||
91 | #define CIFR_RESET_F (1 << 3) /* Reset input FIFOs */ | ||
92 | #define CIFR_FEN2 (1 << 2) /* FIFO enable for channel 2 */ | ||
93 | #define CIFR_FEN1 (1 << 1) /* FIFO enable for channel 1 */ | ||
94 | #define CIFR_FEN0 (1 << 0) /* FIFO enable for channel 0 */ | ||
95 | |||
diff --git a/drivers/mfd/asic3.c b/drivers/mfd/asic3.c index e4c0db4dc7b1..9e485459f63b 100644 --- a/drivers/mfd/asic3.c +++ b/drivers/mfd/asic3.c | |||
@@ -474,9 +474,9 @@ static __init int asic3_gpio_probe(struct platform_device *pdev, | |||
474 | u16 dir_reg[ASIC3_NUM_GPIO_BANKS]; | 474 | u16 dir_reg[ASIC3_NUM_GPIO_BANKS]; |
475 | int i; | 475 | int i; |
476 | 476 | ||
477 | memzero(alt_reg, ASIC3_NUM_GPIO_BANKS * sizeof(u16)); | 477 | memset(alt_reg, 0, ASIC3_NUM_GPIO_BANKS * sizeof(u16)); |
478 | memzero(out_reg, ASIC3_NUM_GPIO_BANKS * sizeof(u16)); | 478 | memset(out_reg, 0, ASIC3_NUM_GPIO_BANKS * sizeof(u16)); |
479 | memzero(dir_reg, ASIC3_NUM_GPIO_BANKS * sizeof(u16)); | 479 | memset(dir_reg, 0, ASIC3_NUM_GPIO_BANKS * sizeof(u16)); |
480 | 480 | ||
481 | /* Enable all GPIOs */ | 481 | /* Enable all GPIOs */ |
482 | asic3_write_register(asic, ASIC3_GPIO_OFFSET(A, MASK), 0xffff); | 482 | asic3_write_register(asic, ASIC3_GPIO_OFFSET(A, MASK), 0xffff); |
diff --git a/drivers/mfd/mcp-core.c b/drivers/mfd/mcp-core.c index b4ed57e02729..6063dc2b52e8 100644 --- a/drivers/mfd/mcp-core.c +++ b/drivers/mfd/mcp-core.c | |||
@@ -18,7 +18,7 @@ | |||
18 | #include <linux/slab.h> | 18 | #include <linux/slab.h> |
19 | #include <linux/string.h> | 19 | #include <linux/string.h> |
20 | 20 | ||
21 | #include <asm/dma.h> | 21 | #include <mach/dma.h> |
22 | #include <asm/system.h> | 22 | #include <asm/system.h> |
23 | 23 | ||
24 | #include "mcp.h" | 24 | #include "mcp.h" |
diff --git a/drivers/mfd/mcp-sa11x0.c b/drivers/mfd/mcp-sa11x0.c index 28380b20bc70..62b32dabf629 100644 --- a/drivers/mfd/mcp-sa11x0.c +++ b/drivers/mfd/mcp-sa11x0.c | |||
@@ -20,7 +20,7 @@ | |||
20 | #include <linux/slab.h> | 20 | #include <linux/slab.h> |
21 | #include <linux/platform_device.h> | 21 | #include <linux/platform_device.h> |
22 | 22 | ||
23 | #include <asm/dma.h> | 23 | #include <mach/dma.h> |
24 | #include <mach/hardware.h> | 24 | #include <mach/hardware.h> |
25 | #include <asm/mach-types.h> | 25 | #include <asm/mach-types.h> |
26 | #include <asm/system.h> | 26 | #include <asm/system.h> |
diff --git a/drivers/mfd/ucb1x00-assabet.c b/drivers/mfd/ucb1x00-assabet.c index 61aeaf79640d..86fed4870f93 100644 --- a/drivers/mfd/ucb1x00-assabet.c +++ b/drivers/mfd/ucb1x00-assabet.c | |||
@@ -15,7 +15,7 @@ | |||
15 | #include <linux/proc_fs.h> | 15 | #include <linux/proc_fs.h> |
16 | #include <linux/device.h> | 16 | #include <linux/device.h> |
17 | 17 | ||
18 | #include <asm/dma.h> | 18 | #include <mach/dma.h> |
19 | 19 | ||
20 | #include "ucb1x00.h" | 20 | #include "ucb1x00.h" |
21 | 21 | ||
diff --git a/drivers/mfd/ucb1x00-core.c b/drivers/mfd/ucb1x00-core.c index a316f1b75933..6860c924f364 100644 --- a/drivers/mfd/ucb1x00-core.c +++ b/drivers/mfd/ucb1x00-core.c | |||
@@ -25,7 +25,7 @@ | |||
25 | #include <linux/device.h> | 25 | #include <linux/device.h> |
26 | #include <linux/mutex.h> | 26 | #include <linux/mutex.h> |
27 | 27 | ||
28 | #include <asm/dma.h> | 28 | #include <mach/dma.h> |
29 | #include <mach/hardware.h> | 29 | #include <mach/hardware.h> |
30 | 30 | ||
31 | #include "ucb1x00.h" | 31 | #include "ucb1x00.h" |
diff --git a/drivers/mfd/ucb1x00-ts.c b/drivers/mfd/ucb1x00-ts.c index 44762ca86a8d..61b7d3eb9a2f 100644 --- a/drivers/mfd/ucb1x00-ts.c +++ b/drivers/mfd/ucb1x00-ts.c | |||
@@ -31,7 +31,7 @@ | |||
31 | #include <linux/slab.h> | 31 | #include <linux/slab.h> |
32 | #include <linux/kthread.h> | 32 | #include <linux/kthread.h> |
33 | 33 | ||
34 | #include <asm/dma.h> | 34 | #include <mach/dma.h> |
35 | #include <mach/collie.h> | 35 | #include <mach/collie.h> |
36 | #include <asm/mach-types.h> | 36 | #include <asm/mach-types.h> |
37 | 37 | ||
diff --git a/drivers/mmc/host/mmci.c b/drivers/mmc/host/mmci.c index 2fadf323c696..1bcbdd6763ac 100644 --- a/drivers/mmc/host/mmci.c +++ b/drivers/mmc/host/mmci.c | |||
@@ -500,7 +500,7 @@ static int mmci_probe(struct amba_device *dev, void *id) | |||
500 | } | 500 | } |
501 | 501 | ||
502 | host = mmc_priv(mmc); | 502 | host = mmc_priv(mmc); |
503 | host->clk = clk_get(&dev->dev, "MCLK"); | 503 | host->clk = clk_get(&dev->dev, NULL); |
504 | if (IS_ERR(host->clk)) { | 504 | if (IS_ERR(host->clk)) { |
505 | ret = PTR_ERR(host->clk); | 505 | ret = PTR_ERR(host->clk); |
506 | host->clk = NULL; | 506 | host->clk = NULL; |
diff --git a/drivers/mmc/host/omap.c b/drivers/mmc/host/omap.c index 1b9fc3c6b875..67d7b7fef084 100644 --- a/drivers/mmc/host/omap.c +++ b/drivers/mmc/host/omap.c | |||
@@ -1015,7 +1015,7 @@ static int mmc_omap_get_dma_channel(struct mmc_omap_host *host, struct mmc_data | |||
1015 | } | 1015 | } |
1016 | 1016 | ||
1017 | if (is_read) { | 1017 | if (is_read) { |
1018 | if (host->id == 1) { | 1018 | if (host->id == 0) { |
1019 | sync_dev = OMAP_DMA_MMC_RX; | 1019 | sync_dev = OMAP_DMA_MMC_RX; |
1020 | dma_dev_name = "MMC1 read"; | 1020 | dma_dev_name = "MMC1 read"; |
1021 | } else { | 1021 | } else { |
@@ -1023,7 +1023,7 @@ static int mmc_omap_get_dma_channel(struct mmc_omap_host *host, struct mmc_data | |||
1023 | dma_dev_name = "MMC2 read"; | 1023 | dma_dev_name = "MMC2 read"; |
1024 | } | 1024 | } |
1025 | } else { | 1025 | } else { |
1026 | if (host->id == 1) { | 1026 | if (host->id == 0) { |
1027 | sync_dev = OMAP_DMA_MMC_TX; | 1027 | sync_dev = OMAP_DMA_MMC_TX; |
1028 | dma_dev_name = "MMC1 write"; | 1028 | dma_dev_name = "MMC1 write"; |
1029 | } else { | 1029 | } else { |
@@ -1317,7 +1317,7 @@ static int __init mmc_omap_new_slot(struct mmc_omap_host *host, int id) | |||
1317 | host->slots[id] = slot; | 1317 | host->slots[id] = slot; |
1318 | 1318 | ||
1319 | mmc->caps = 0; | 1319 | mmc->caps = 0; |
1320 | if (host->pdata->conf.wire4) | 1320 | if (host->pdata->slots[id].wires >= 4) |
1321 | mmc->caps |= MMC_CAP_4_BIT_DATA; | 1321 | mmc->caps |= MMC_CAP_4_BIT_DATA; |
1322 | 1322 | ||
1323 | mmc->ops = &mmc_omap_ops; | 1323 | mmc->ops = &mmc_omap_ops; |
@@ -1451,6 +1451,7 @@ static int __init mmc_omap_probe(struct platform_device *pdev) | |||
1451 | host->irq = irq; | 1451 | host->irq = irq; |
1452 | 1452 | ||
1453 | host->use_dma = 1; | 1453 | host->use_dma = 1; |
1454 | host->dev->dma_mask = &pdata->dma_mask; | ||
1454 | host->dma_ch = -1; | 1455 | host->dma_ch = -1; |
1455 | 1456 | ||
1456 | host->irq = irq; | 1457 | host->irq = irq; |
diff --git a/drivers/mmc/host/pxamci.c b/drivers/mmc/host/pxamci.c index ebfaa9960939..f88cc7406354 100644 --- a/drivers/mmc/host/pxamci.c +++ b/drivers/mmc/host/pxamci.c | |||
@@ -26,11 +26,12 @@ | |||
26 | #include <linux/clk.h> | 26 | #include <linux/clk.h> |
27 | #include <linux/err.h> | 27 | #include <linux/err.h> |
28 | #include <linux/mmc/host.h> | 28 | #include <linux/mmc/host.h> |
29 | #include <linux/io.h> | ||
29 | 30 | ||
30 | #include <asm/dma.h> | ||
31 | #include <asm/io.h> | ||
32 | #include <asm/sizes.h> | 31 | #include <asm/sizes.h> |
33 | 32 | ||
33 | #include <mach/dma.h> | ||
34 | #include <mach/hardware.h> | ||
34 | #include <mach/pxa-regs.h> | 35 | #include <mach/pxa-regs.h> |
35 | #include <mach/mmc.h> | 36 | #include <mach/mmc.h> |
36 | 37 | ||
@@ -533,7 +534,7 @@ static int pxamci_probe(struct platform_device *pdev) | |||
533 | host->pdata = pdev->dev.platform_data; | 534 | host->pdata = pdev->dev.platform_data; |
534 | host->clkrt = CLKRT_OFF; | 535 | host->clkrt = CLKRT_OFF; |
535 | 536 | ||
536 | host->clk = clk_get(&pdev->dev, "MMCCLK"); | 537 | host->clk = clk_get(&pdev->dev, NULL); |
537 | if (IS_ERR(host->clk)) { | 538 | if (IS_ERR(host->clk)) { |
538 | ret = PTR_ERR(host->clk); | 539 | ret = PTR_ERR(host->clk); |
539 | host->clk = NULL; | 540 | host->clk = NULL; |
diff --git a/drivers/mmc/host/s3cmci.c b/drivers/mmc/host/s3cmci.c index 3b2085b57769..fcc98a4cce3c 100644 --- a/drivers/mmc/host/s3cmci.c +++ b/drivers/mmc/host/s3cmci.c | |||
@@ -25,7 +25,7 @@ | |||
25 | #include <mach/regs-sdi.h> | 25 | #include <mach/regs-sdi.h> |
26 | #include <mach/regs-gpio.h> | 26 | #include <mach/regs-gpio.h> |
27 | 27 | ||
28 | #include <asm/plat-s3c24xx/mci.h> | 28 | #include <plat/mci.h> |
29 | 29 | ||
30 | #include "s3cmci.h" | 30 | #include "s3cmci.h" |
31 | 31 | ||
diff --git a/drivers/mtd/maps/dc21285.c b/drivers/mtd/maps/dc21285.c index 3aa018c092f8..42969fe051b2 100644 --- a/drivers/mtd/maps/dc21285.c +++ b/drivers/mtd/maps/dc21285.c | |||
@@ -32,16 +32,15 @@ static struct mtd_info *dc21285_mtd; | |||
32 | */ | 32 | */ |
33 | static void nw_en_write(void) | 33 | static void nw_en_write(void) |
34 | { | 34 | { |
35 | extern spinlock_t gpio_lock; | ||
36 | unsigned long flags; | 35 | unsigned long flags; |
37 | 36 | ||
38 | /* | 37 | /* |
39 | * we want to write a bit pattern XXX1 to Xilinx to enable | 38 | * we want to write a bit pattern XXX1 to Xilinx to enable |
40 | * the write gate, which will be open for about the next 2ms. | 39 | * the write gate, which will be open for about the next 2ms. |
41 | */ | 40 | */ |
42 | spin_lock_irqsave(&gpio_lock, flags); | 41 | spin_lock_irqsave(&nw_gpio_lock, flags); |
43 | cpld_modify(1, 1); | 42 | nw_cpld_modify(CPLD_FLASH_WR_ENABLE, CPLD_FLASH_WR_ENABLE); |
44 | spin_unlock_irqrestore(&gpio_lock, flags); | 43 | spin_unlock_irqrestore(&nw_gpio_lock, flags); |
45 | 44 | ||
46 | /* | 45 | /* |
47 | * let the ISA bus to catch on... | 46 | * let the ISA bus to catch on... |
diff --git a/drivers/mtd/maps/ixp2000.c b/drivers/mtd/maps/ixp2000.c index dcdb1f17577d..3ea1de9be720 100644 --- a/drivers/mtd/maps/ixp2000.c +++ b/drivers/mtd/maps/ixp2000.c | |||
@@ -170,7 +170,7 @@ static int ixp2000_flash_probe(struct platform_device *dev) | |||
170 | err = -ENOMEM; | 170 | err = -ENOMEM; |
171 | goto Error; | 171 | goto Error; |
172 | } | 172 | } |
173 | memzero(info, sizeof(struct ixp2000_flash_info)); | 173 | memset(info, 0, sizeof(struct ixp2000_flash_info)); |
174 | 174 | ||
175 | platform_set_drvdata(dev, info); | 175 | platform_set_drvdata(dev, info); |
176 | 176 | ||
diff --git a/drivers/mtd/maps/ixp4xx.c b/drivers/mtd/maps/ixp4xx.c index 9c7a5fbd4e51..16555cbeaea4 100644 --- a/drivers/mtd/maps/ixp4xx.c +++ b/drivers/mtd/maps/ixp4xx.c | |||
@@ -201,7 +201,7 @@ static int ixp4xx_flash_probe(struct platform_device *dev) | |||
201 | err = -ENOMEM; | 201 | err = -ENOMEM; |
202 | goto Error; | 202 | goto Error; |
203 | } | 203 | } |
204 | memzero(info, sizeof(struct ixp4xx_flash_info)); | 204 | memset(info, 0, sizeof(struct ixp4xx_flash_info)); |
205 | 205 | ||
206 | platform_set_drvdata(dev, info); | 206 | platform_set_drvdata(dev, info); |
207 | 207 | ||
diff --git a/drivers/mtd/nand/pxa3xx_nand.c b/drivers/mtd/nand/pxa3xx_nand.c index 15f0a26730ae..fc4144495610 100644 --- a/drivers/mtd/nand/pxa3xx_nand.c +++ b/drivers/mtd/nand/pxa3xx_nand.c | |||
@@ -20,8 +20,8 @@ | |||
20 | #include <linux/mtd/partitions.h> | 20 | #include <linux/mtd/partitions.h> |
21 | #include <linux/io.h> | 21 | #include <linux/io.h> |
22 | #include <linux/irq.h> | 22 | #include <linux/irq.h> |
23 | #include <asm/dma.h> | ||
24 | 23 | ||
24 | #include <mach/dma.h> | ||
25 | #include <mach/pxa-regs.h> | 25 | #include <mach/pxa-regs.h> |
26 | #include <mach/pxa3xx_nand.h> | 26 | #include <mach/pxa3xx_nand.h> |
27 | 27 | ||
@@ -1080,7 +1080,7 @@ static int pxa3xx_nand_probe(struct platform_device *pdev) | |||
1080 | this = &info->nand_chip; | 1080 | this = &info->nand_chip; |
1081 | mtd->priv = info; | 1081 | mtd->priv = info; |
1082 | 1082 | ||
1083 | info->clk = clk_get(&pdev->dev, "NANDCLK"); | 1083 | info->clk = clk_get(&pdev->dev, NULL); |
1084 | if (IS_ERR(info->clk)) { | 1084 | if (IS_ERR(info->clk)) { |
1085 | dev_err(&pdev->dev, "failed to get nand clock\n"); | 1085 | dev_err(&pdev->dev, "failed to get nand clock\n"); |
1086 | ret = PTR_ERR(info->clk); | 1086 | ret = PTR_ERR(info->clk); |
diff --git a/drivers/mtd/nand/s3c2410.c b/drivers/mtd/nand/s3c2410.c index 556139ed1fdf..8e375d5fe231 100644 --- a/drivers/mtd/nand/s3c2410.c +++ b/drivers/mtd/nand/s3c2410.c | |||
@@ -45,8 +45,8 @@ | |||
45 | 45 | ||
46 | #include <asm/io.h> | 46 | #include <asm/io.h> |
47 | 47 | ||
48 | #include <asm/plat-s3c/regs-nand.h> | 48 | #include <plat/regs-nand.h> |
49 | #include <asm/plat-s3c/nand.h> | 49 | #include <plat/nand.h> |
50 | 50 | ||
51 | #ifdef CONFIG_MTD_NAND_S3C2410_HWECC | 51 | #ifdef CONFIG_MTD_NAND_S3C2410_HWECC |
52 | static int hardware_ecc = 1; | 52 | static int hardware_ecc = 1; |
@@ -818,7 +818,7 @@ static int s3c24xx_nand_probe(struct platform_device *pdev, | |||
818 | goto exit_error; | 818 | goto exit_error; |
819 | } | 819 | } |
820 | 820 | ||
821 | memzero(info, sizeof(*info)); | 821 | memset(info, 0, sizeof(*info)); |
822 | platform_set_drvdata(pdev, info); | 822 | platform_set_drvdata(pdev, info); |
823 | 823 | ||
824 | spin_lock_init(&info->controller.lock); | 824 | spin_lock_init(&info->controller.lock); |
@@ -883,7 +883,7 @@ static int s3c24xx_nand_probe(struct platform_device *pdev, | |||
883 | goto exit_error; | 883 | goto exit_error; |
884 | } | 884 | } |
885 | 885 | ||
886 | memzero(info->mtds, size); | 886 | memset(info->mtds, 0, size); |
887 | 887 | ||
888 | /* initialise all possible chips */ | 888 | /* initialise all possible chips */ |
889 | 889 | ||
diff --git a/drivers/mtd/onenand/omap2.c b/drivers/mtd/onenand/omap2.c index a7e4d985f5ef..d1e0b8e7224b 100644 --- a/drivers/mtd/onenand/omap2.c +++ b/drivers/mtd/onenand/omap2.c | |||
@@ -149,7 +149,7 @@ static int omap2_onenand_wait(struct mtd_info *mtd, int state) | |||
149 | 149 | ||
150 | INIT_COMPLETION(c->irq_done); | 150 | INIT_COMPLETION(c->irq_done); |
151 | if (c->gpio_irq) { | 151 | if (c->gpio_irq) { |
152 | result = omap_get_gpio_datain(c->gpio_irq); | 152 | result = gpio_get_value(c->gpio_irq); |
153 | if (result == -1) { | 153 | if (result == -1) { |
154 | ctrl = read_reg(c, ONENAND_REG_CTRL_STATUS); | 154 | ctrl = read_reg(c, ONENAND_REG_CTRL_STATUS); |
155 | intr = read_reg(c, ONENAND_REG_INTERRUPT); | 155 | intr = read_reg(c, ONENAND_REG_INTERRUPT); |
@@ -634,9 +634,9 @@ static int __devinit omap2_onenand_probe(struct platform_device *pdev) | |||
634 | "OneNAND\n", c->gpio_irq); | 634 | "OneNAND\n", c->gpio_irq); |
635 | goto err_iounmap; | 635 | goto err_iounmap; |
636 | } | 636 | } |
637 | omap_set_gpio_direction(c->gpio_irq, 1); | 637 | gpio_direction_input(c->gpio_irq); |
638 | 638 | ||
639 | if ((r = request_irq(OMAP_GPIO_IRQ(c->gpio_irq), | 639 | if ((r = request_irq(gpio_to_irq(c->gpio_irq), |
640 | omap2_onenand_interrupt, IRQF_TRIGGER_RISING, | 640 | omap2_onenand_interrupt, IRQF_TRIGGER_RISING, |
641 | pdev->dev.driver->name, c)) < 0) | 641 | pdev->dev.driver->name, c)) < 0) |
642 | goto err_release_gpio; | 642 | goto err_release_gpio; |
@@ -723,7 +723,7 @@ err_release_dma: | |||
723 | if (c->dma_channel != -1) | 723 | if (c->dma_channel != -1) |
724 | omap_free_dma(c->dma_channel); | 724 | omap_free_dma(c->dma_channel); |
725 | if (c->gpio_irq) | 725 | if (c->gpio_irq) |
726 | free_irq(OMAP_GPIO_IRQ(c->gpio_irq), c); | 726 | free_irq(gpio_to_irq(c->gpio_irq), c); |
727 | err_release_gpio: | 727 | err_release_gpio: |
728 | if (c->gpio_irq) | 728 | if (c->gpio_irq) |
729 | omap_free_gpio(c->gpio_irq); | 729 | omap_free_gpio(c->gpio_irq); |
@@ -760,7 +760,7 @@ static int __devexit omap2_onenand_remove(struct platform_device *pdev) | |||
760 | omap2_onenand_shutdown(pdev); | 760 | omap2_onenand_shutdown(pdev); |
761 | platform_set_drvdata(pdev, NULL); | 761 | platform_set_drvdata(pdev, NULL); |
762 | if (c->gpio_irq) { | 762 | if (c->gpio_irq) { |
763 | free_irq(OMAP_GPIO_IRQ(c->gpio_irq), c); | 763 | free_irq(gpio_to_irq(c->gpio_irq), c); |
764 | omap_free_gpio(c->gpio_irq); | 764 | omap_free_gpio(c->gpio_irq); |
765 | } | 765 | } |
766 | iounmap(c->onenand.base); | 766 | iounmap(c->onenand.base); |
diff --git a/drivers/net/cs89x0.c b/drivers/net/cs89x0.c index 7107620f615d..0b729f7d91fc 100644 --- a/drivers/net/cs89x0.c +++ b/drivers/net/cs89x0.c | |||
@@ -170,11 +170,7 @@ static char version[] __initdata = | |||
170 | /* The cs8900 has 4 IRQ pins, software selectable. cs8900_irq_map maps | 170 | /* The cs8900 has 4 IRQ pins, software selectable. cs8900_irq_map maps |
171 | them to system IRQ numbers. This mapping is card specific and is set to | 171 | them to system IRQ numbers. This mapping is card specific and is set to |
172 | the configuration of the Cirrus Eval board for this chip. */ | 172 | the configuration of the Cirrus Eval board for this chip. */ |
173 | #ifdef CONFIG_ARCH_CLPS7500 | 173 | #if defined(CONFIG_SH_HICOSH4) |
174 | static unsigned int netcard_portlist[] __used __initdata = | ||
175 | { 0x80090303, 0x300, 0x320, 0x340, 0x360, 0x200, 0x220, 0x240, 0x260, 0x280, 0x2a0, 0x2c0, 0x2e0, 0}; | ||
176 | static unsigned int cs8900_irq_map[] = {12,0,0,0}; | ||
177 | #elif defined(CONFIG_SH_HICOSH4) | ||
178 | static unsigned int netcard_portlist[] __used __initdata = | 174 | static unsigned int netcard_portlist[] __used __initdata = |
179 | { 0x0300, 0}; | 175 | { 0x0300, 0}; |
180 | static unsigned int cs8900_irq_map[] = {1,0,0,0}; | 176 | static unsigned int cs8900_irq_map[] = {1,0,0,0}; |
diff --git a/drivers/net/irda/pxaficp_ir.c b/drivers/net/irda/pxaficp_ir.c index c5b02b66f756..0e081292f4f7 100644 --- a/drivers/net/irda/pxaficp_ir.c +++ b/drivers/net/irda/pxaficp_ir.c | |||
@@ -22,9 +22,53 @@ | |||
22 | #include <net/irda/wrapper.h> | 22 | #include <net/irda/wrapper.h> |
23 | #include <net/irda/irda_device.h> | 23 | #include <net/irda/irda_device.h> |
24 | 24 | ||
25 | #include <asm/dma.h> | 25 | #include <mach/dma.h> |
26 | #include <mach/irda.h> | 26 | #include <mach/irda.h> |
27 | #include <mach/hardware.h> | ||
27 | #include <mach/pxa-regs.h> | 28 | #include <mach/pxa-regs.h> |
29 | #include <mach/regs-uart.h> | ||
30 | |||
31 | #define FICP __REG(0x40800000) /* Start of FICP area */ | ||
32 | #define ICCR0 __REG(0x40800000) /* ICP Control Register 0 */ | ||
33 | #define ICCR1 __REG(0x40800004) /* ICP Control Register 1 */ | ||
34 | #define ICCR2 __REG(0x40800008) /* ICP Control Register 2 */ | ||
35 | #define ICDR __REG(0x4080000c) /* ICP Data Register */ | ||
36 | #define ICSR0 __REG(0x40800014) /* ICP Status Register 0 */ | ||
37 | #define ICSR1 __REG(0x40800018) /* ICP Status Register 1 */ | ||
38 | |||
39 | #define ICCR0_AME (1 << 7) /* Address match enable */ | ||
40 | #define ICCR0_TIE (1 << 6) /* Transmit FIFO interrupt enable */ | ||
41 | #define ICCR0_RIE (1 << 5) /* Recieve FIFO interrupt enable */ | ||
42 | #define ICCR0_RXE (1 << 4) /* Receive enable */ | ||
43 | #define ICCR0_TXE (1 << 3) /* Transmit enable */ | ||
44 | #define ICCR0_TUS (1 << 2) /* Transmit FIFO underrun select */ | ||
45 | #define ICCR0_LBM (1 << 1) /* Loopback mode */ | ||
46 | #define ICCR0_ITR (1 << 0) /* IrDA transmission */ | ||
47 | |||
48 | #define ICCR2_RXP (1 << 3) /* Receive Pin Polarity select */ | ||
49 | #define ICCR2_TXP (1 << 2) /* Transmit Pin Polarity select */ | ||
50 | #define ICCR2_TRIG (3 << 0) /* Receive FIFO Trigger threshold */ | ||
51 | #define ICCR2_TRIG_8 (0 << 0) /* >= 8 bytes */ | ||
52 | #define ICCR2_TRIG_16 (1 << 0) /* >= 16 bytes */ | ||
53 | #define ICCR2_TRIG_32 (2 << 0) /* >= 32 bytes */ | ||
54 | |||
55 | #ifdef CONFIG_PXA27x | ||
56 | #define ICSR0_EOC (1 << 6) /* DMA End of Descriptor Chain */ | ||
57 | #endif | ||
58 | #define ICSR0_FRE (1 << 5) /* Framing error */ | ||
59 | #define ICSR0_RFS (1 << 4) /* Receive FIFO service request */ | ||
60 | #define ICSR0_TFS (1 << 3) /* Transnit FIFO service request */ | ||
61 | #define ICSR0_RAB (1 << 2) /* Receiver abort */ | ||
62 | #define ICSR0_TUR (1 << 1) /* Trunsmit FIFO underun */ | ||
63 | #define ICSR0_EIF (1 << 0) /* End/Error in FIFO */ | ||
64 | |||
65 | #define ICSR1_ROR (1 << 6) /* Receiver FIFO underrun */ | ||
66 | #define ICSR1_CRE (1 << 5) /* CRC error */ | ||
67 | #define ICSR1_EOF (1 << 4) /* End of frame */ | ||
68 | #define ICSR1_TNF (1 << 3) /* Transmit FIFO not full */ | ||
69 | #define ICSR1_RNE (1 << 2) /* Receive FIFO not empty */ | ||
70 | #define ICSR1_TBY (1 << 1) /* Tramsmiter busy flag */ | ||
71 | #define ICSR1_RSY (1 << 0) /* Recevier synchronized flag */ | ||
28 | 72 | ||
29 | #define IrSR_RXPL_NEG_IS_ZERO (1<<4) | 73 | #define IrSR_RXPL_NEG_IS_ZERO (1<<4) |
30 | #define IrSR_RXPL_POS_IS_ZERO 0x0 | 74 | #define IrSR_RXPL_POS_IS_ZERO 0x0 |
diff --git a/drivers/net/irda/sa1100_ir.c b/drivers/net/irda/sa1100_ir.c index a95188948de7..0813b5295f52 100644 --- a/drivers/net/irda/sa1100_ir.c +++ b/drivers/net/irda/sa1100_ir.c | |||
@@ -36,7 +36,7 @@ | |||
36 | #include <net/irda/irda_device.h> | 36 | #include <net/irda/irda_device.h> |
37 | 37 | ||
38 | #include <asm/irq.h> | 38 | #include <asm/irq.h> |
39 | #include <asm/dma.h> | 39 | #include <mach/dma.h> |
40 | #include <mach/hardware.h> | 40 | #include <mach/hardware.h> |
41 | #include <asm/mach/irda.h> | 41 | #include <asm/mach/irda.h> |
42 | 42 | ||
diff --git a/drivers/net/smc911x.h b/drivers/net/smc911x.h index cc7d85bdfb3e..870b4c33f108 100644 --- a/drivers/net/smc911x.h +++ b/drivers/net/smc911x.h | |||
@@ -200,6 +200,9 @@ static inline void SMC_outsl(struct smc911x_local *lp, int reg, | |||
200 | 200 | ||
201 | 201 | ||
202 | #ifdef SMC_USE_PXA_DMA | 202 | #ifdef SMC_USE_PXA_DMA |
203 | |||
204 | #include <mach/dma.h> | ||
205 | |||
203 | /* | 206 | /* |
204 | * Define the request and free functions | 207 | * Define the request and free functions |
205 | * These are unfortunately architecture specific as no generic allocation | 208 | * These are unfortunately architecture specific as no generic allocation |
diff --git a/drivers/net/smc91x.h b/drivers/net/smc91x.h index a07cc9351c6b..37e2cb4f4f88 100644 --- a/drivers/net/smc91x.h +++ b/drivers/net/smc91x.h | |||
@@ -527,7 +527,8 @@ struct smc_local { | |||
527 | * as RX which can overrun memory and lose packets. | 527 | * as RX which can overrun memory and lose packets. |
528 | */ | 528 | */ |
529 | #include <linux/dma-mapping.h> | 529 | #include <linux/dma-mapping.h> |
530 | #include <asm/dma.h> | 530 | #include <mach/dma.h> |
531 | #include <mach/hardware.h> | ||
531 | #include <mach/pxa-regs.h> | 532 | #include <mach/pxa-regs.h> |
532 | 533 | ||
533 | #ifdef SMC_insl | 534 | #ifdef SMC_insl |
diff --git a/drivers/pcmcia/Kconfig b/drivers/pcmcia/Kconfig index 222904411a13..276473543982 100644 --- a/drivers/pcmcia/Kconfig +++ b/drivers/pcmcia/Kconfig | |||
@@ -217,7 +217,7 @@ config PCMCIA_PXA2XX | |||
217 | depends on ARM && ARCH_PXA && PCMCIA | 217 | depends on ARM && ARCH_PXA && PCMCIA |
218 | depends on (ARCH_LUBBOCK || MACH_MAINSTONE || PXA_SHARPSL \ | 218 | depends on (ARCH_LUBBOCK || MACH_MAINSTONE || PXA_SHARPSL \ |
219 | || MACH_ARMCORE || ARCH_PXA_PALM || TRIZEPS_PCMCIA \ | 219 | || MACH_ARMCORE || ARCH_PXA_PALM || TRIZEPS_PCMCIA \ |
220 | || ARCH_VIPER) | 220 | || ARCH_VIPER || ARCH_PXA_ESERIES) |
221 | help | 221 | help |
222 | Say Y here to include support for the PXA2xx PCMCIA controller | 222 | Say Y here to include support for the PXA2xx PCMCIA controller |
223 | 223 | ||
diff --git a/drivers/pcmcia/Makefile b/drivers/pcmcia/Makefile index 238629ad7f7c..bbac46327227 100644 --- a/drivers/pcmcia/Makefile +++ b/drivers/pcmcia/Makefile | |||
@@ -72,5 +72,6 @@ pxa2xx-obj-$(CONFIG_ARCH_VIPER) += pxa2xx_viper.o | |||
72 | pxa2xx-obj-$(CONFIG_TRIZEPS_PCMCIA) += pxa2xx_trizeps4.o | 72 | pxa2xx-obj-$(CONFIG_TRIZEPS_PCMCIA) += pxa2xx_trizeps4.o |
73 | pxa2xx-obj-$(CONFIG_MACH_PALMTX) += pxa2xx_palmtx.o | 73 | pxa2xx-obj-$(CONFIG_MACH_PALMTX) += pxa2xx_palmtx.o |
74 | pxa2xx-obj-$(CONFIG_MACH_PALMLD) += pxa2xx_palmld.o | 74 | pxa2xx-obj-$(CONFIG_MACH_PALMLD) += pxa2xx_palmld.o |
75 | pxa2xx-obj-$(CONFIG_MACH_E740) += pxa2xx_e740.o | ||
75 | 76 | ||
76 | obj-$(CONFIG_PCMCIA_PXA2XX) += pxa2xx_core.o $(pxa2xx-obj-y) | 77 | obj-$(CONFIG_PCMCIA_PXA2XX) += pxa2xx_core.o $(pxa2xx-obj-y) |
diff --git a/drivers/pcmcia/pxa2xx_e740.c b/drivers/pcmcia/pxa2xx_e740.c new file mode 100644 index 000000000000..f663a011bf4a --- /dev/null +++ b/drivers/pcmcia/pxa2xx_e740.c | |||
@@ -0,0 +1,176 @@ | |||
1 | /* | ||
2 | * Toshiba e740 PCMCIA specific routines. | ||
3 | * | ||
4 | * (c) 2004 Ian Molton <spyro@f2s.com> | ||
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 version 2 as | ||
8 | * published by the Free Software Foundation. | ||
9 | */ | ||
10 | |||
11 | #include <linux/init.h> | ||
12 | #include <linux/module.h> | ||
13 | #include <linux/kernel.h> | ||
14 | #include <linux/errno.h> | ||
15 | #include <linux/gpio.h> | ||
16 | #include <linux/interrupt.h> | ||
17 | #include <linux/platform_device.h> | ||
18 | |||
19 | #include <mach/hardware.h> | ||
20 | #include <mach/pxa-regs.h> | ||
21 | #include <mach/eseries-gpio.h> | ||
22 | |||
23 | #include <asm/irq.h> | ||
24 | #include <asm/mach-types.h> | ||
25 | |||
26 | #include "soc_common.h" | ||
27 | |||
28 | static struct pcmcia_irqs cd_irqs[] = { | ||
29 | { | ||
30 | .sock = 0, | ||
31 | .irq = IRQ_GPIO(GPIO_E740_PCMCIA_CD0), | ||
32 | .str = "CF card detect" | ||
33 | }, | ||
34 | { | ||
35 | .sock = 1, | ||
36 | .irq = IRQ_GPIO(GPIO_E740_PCMCIA_CD1), | ||
37 | .str = "Wifi switch" | ||
38 | }, | ||
39 | }; | ||
40 | |||
41 | static int e740_pcmcia_hw_init(struct soc_pcmcia_socket *skt) | ||
42 | { | ||
43 | skt->irq = skt->nr == 0 ? IRQ_GPIO(GPIO_E740_PCMCIA_RDY0) : | ||
44 | IRQ_GPIO(GPIO_E740_PCMCIA_RDY1); | ||
45 | |||
46 | return soc_pcmcia_request_irqs(skt, &cd_irqs[skt->nr], 1); | ||
47 | } | ||
48 | |||
49 | /* | ||
50 | * Release all resources. | ||
51 | */ | ||
52 | static void e740_pcmcia_hw_shutdown(struct soc_pcmcia_socket *skt) | ||
53 | { | ||
54 | soc_pcmcia_free_irqs(skt, &cd_irqs[skt->nr], 1); | ||
55 | } | ||
56 | |||
57 | static void e740_pcmcia_socket_state(struct soc_pcmcia_socket *skt, | ||
58 | struct pcmcia_state *state) | ||
59 | { | ||
60 | if (skt->nr == 0) { | ||
61 | state->detect = gpio_get_value(GPIO_E740_PCMCIA_CD0) ? 0 : 1; | ||
62 | state->ready = gpio_get_value(GPIO_E740_PCMCIA_RDY0) ? 1 : 0; | ||
63 | } else { | ||
64 | state->detect = gpio_get_value(GPIO_E740_PCMCIA_CD1) ? 0 : 1; | ||
65 | state->ready = gpio_get_value(GPIO_E740_PCMCIA_RDY1) ? 1 : 0; | ||
66 | } | ||
67 | |||
68 | state->vs_3v = 1; | ||
69 | state->bvd1 = 1; | ||
70 | state->bvd2 = 1; | ||
71 | state->wrprot = 0; | ||
72 | state->vs_Xv = 0; | ||
73 | } | ||
74 | |||
75 | static int e740_pcmcia_configure_socket(struct soc_pcmcia_socket *skt, | ||
76 | const socket_state_t *state) | ||
77 | { | ||
78 | if (state->flags & SS_RESET) { | ||
79 | if (skt->nr == 0) | ||
80 | gpio_set_value(GPIO_E740_PCMCIA_RST0, 1); | ||
81 | else | ||
82 | gpio_set_value(GPIO_E740_PCMCIA_RST1, 1); | ||
83 | } else { | ||
84 | if (skt->nr == 0) | ||
85 | gpio_set_value(GPIO_E740_PCMCIA_RST0, 0); | ||
86 | else | ||
87 | gpio_set_value(GPIO_E740_PCMCIA_RST1, 0); | ||
88 | } | ||
89 | |||
90 | switch (state->Vcc) { | ||
91 | case 0: /* Socket off */ | ||
92 | if (skt->nr == 0) | ||
93 | gpio_set_value(GPIO_E740_PCMCIA_PWR0, 0); | ||
94 | else | ||
95 | gpio_set_value(GPIO_E740_PCMCIA_PWR1, 1); | ||
96 | break; | ||
97 | case 50: | ||
98 | case 33: /* socket on */ | ||
99 | if (skt->nr == 0) | ||
100 | gpio_set_value(GPIO_E740_PCMCIA_PWR0, 1); | ||
101 | else | ||
102 | gpio_set_value(GPIO_E740_PCMCIA_PWR1, 0); | ||
103 | break; | ||
104 | default: | ||
105 | printk(KERN_ERR "e740_cs: Unsupported Vcc: %d\n", state->Vcc); | ||
106 | } | ||
107 | |||
108 | return 0; | ||
109 | } | ||
110 | |||
111 | /* | ||
112 | * Enable card status IRQs on (re-)initialisation. This can | ||
113 | * be called at initialisation, power management event, or | ||
114 | * pcmcia event. | ||
115 | */ | ||
116 | static void e740_pcmcia_socket_init(struct soc_pcmcia_socket *skt) | ||
117 | { | ||
118 | soc_pcmcia_enable_irqs(skt, cd_irqs, ARRAY_SIZE(cd_irqs)); | ||
119 | } | ||
120 | |||
121 | /* | ||
122 | * Disable card status IRQs on suspend. | ||
123 | */ | ||
124 | static void e740_pcmcia_socket_suspend(struct soc_pcmcia_socket *skt) | ||
125 | { | ||
126 | soc_pcmcia_disable_irqs(skt, cd_irqs, ARRAY_SIZE(cd_irqs)); | ||
127 | } | ||
128 | |||
129 | static struct pcmcia_low_level e740_pcmcia_ops = { | ||
130 | .owner = THIS_MODULE, | ||
131 | .hw_init = e740_pcmcia_hw_init, | ||
132 | .hw_shutdown = e740_pcmcia_hw_shutdown, | ||
133 | .socket_state = e740_pcmcia_socket_state, | ||
134 | .configure_socket = e740_pcmcia_configure_socket, | ||
135 | .socket_init = e740_pcmcia_socket_init, | ||
136 | .socket_suspend = e740_pcmcia_socket_suspend, | ||
137 | .nr = 2, | ||
138 | }; | ||
139 | |||
140 | static struct platform_device *e740_pcmcia_device; | ||
141 | |||
142 | static int __init e740_pcmcia_init(void) | ||
143 | { | ||
144 | int ret; | ||
145 | |||
146 | if (!machine_is_e740()) | ||
147 | return -ENODEV; | ||
148 | |||
149 | e740_pcmcia_device = platform_device_alloc("pxa2xx-pcmcia", -1); | ||
150 | if (!e740_pcmcia_device) | ||
151 | return -ENOMEM; | ||
152 | |||
153 | ret = platform_device_add_data(e740_pcmcia_device, &e740_pcmcia_ops, | ||
154 | sizeof(e740_pcmcia_ops)); | ||
155 | |||
156 | if (!ret) | ||
157 | ret = platform_device_add(e740_pcmcia_device); | ||
158 | |||
159 | if (ret) | ||
160 | platform_device_put(e740_pcmcia_device); | ||
161 | |||
162 | return ret; | ||
163 | } | ||
164 | |||
165 | static void __exit e740_pcmcia_exit(void) | ||
166 | { | ||
167 | platform_device_unregister(e740_pcmcia_device); | ||
168 | } | ||
169 | |||
170 | module_init(e740_pcmcia_init); | ||
171 | module_exit(e740_pcmcia_exit); | ||
172 | |||
173 | MODULE_LICENSE("GPL v2"); | ||
174 | MODULE_AUTHOR("Ian Molton <spyro@f2s.com>"); | ||
175 | MODULE_ALIAS("platform:pxa2xx-pcmcia"); | ||
176 | MODULE_DESCRIPTION("e740 PCMCIA platform support"); | ||
diff --git a/drivers/rtc/rtc-at91sam9.c b/drivers/rtc/rtc-at91sam9.c index 2133f37906f2..d5e4e637ddec 100644 --- a/drivers/rtc/rtc-at91sam9.c +++ b/drivers/rtc/rtc-at91sam9.c | |||
@@ -21,6 +21,7 @@ | |||
21 | 21 | ||
22 | #include <mach/board.h> | 22 | #include <mach/board.h> |
23 | #include <mach/at91_rtt.h> | 23 | #include <mach/at91_rtt.h> |
24 | #include <mach/cpu.h> | ||
24 | 25 | ||
25 | 26 | ||
26 | /* | 27 | /* |
diff --git a/drivers/rtc/rtc-s3c.c b/drivers/rtc/rtc-s3c.c index f59277bbedaa..7a568beba3f0 100644 --- a/drivers/rtc/rtc-s3c.c +++ b/drivers/rtc/rtc-s3c.c | |||
@@ -26,7 +26,7 @@ | |||
26 | #include <asm/uaccess.h> | 26 | #include <asm/uaccess.h> |
27 | #include <asm/io.h> | 27 | #include <asm/io.h> |
28 | #include <asm/irq.h> | 28 | #include <asm/irq.h> |
29 | #include <asm/plat-s3c/regs-rtc.h> | 29 | #include <plat/regs-rtc.h> |
30 | 30 | ||
31 | /* I have yet to find an S3C implementation with more than one | 31 | /* I have yet to find an S3C implementation with more than one |
32 | * of these rtc blocks in */ | 32 | * of these rtc blocks in */ |
diff --git a/drivers/serial/amba-pl010.c b/drivers/serial/amba-pl010.c index 71562689116f..e3a5ad5ef1d6 100644 --- a/drivers/serial/amba-pl010.c +++ b/drivers/serial/amba-pl010.c | |||
@@ -692,7 +692,7 @@ static int pl010_probe(struct amba_device *dev, void *id) | |||
692 | goto free; | 692 | goto free; |
693 | } | 693 | } |
694 | 694 | ||
695 | uap->clk = clk_get(&dev->dev, "UARTCLK"); | 695 | uap->clk = clk_get(&dev->dev, NULL); |
696 | if (IS_ERR(uap->clk)) { | 696 | if (IS_ERR(uap->clk)) { |
697 | ret = PTR_ERR(uap->clk); | 697 | ret = PTR_ERR(uap->clk); |
698 | goto unmap; | 698 | goto unmap; |
diff --git a/drivers/serial/amba-pl011.c b/drivers/serial/amba-pl011.c index b7180046f8db..8b2b9700f3e4 100644 --- a/drivers/serial/amba-pl011.c +++ b/drivers/serial/amba-pl011.c | |||
@@ -756,7 +756,7 @@ static int pl011_probe(struct amba_device *dev, void *id) | |||
756 | goto free; | 756 | goto free; |
757 | } | 757 | } |
758 | 758 | ||
759 | uap->clk = clk_get(&dev->dev, "UARTCLK"); | 759 | uap->clk = clk_get(&dev->dev, NULL); |
760 | if (IS_ERR(uap->clk)) { | 760 | if (IS_ERR(uap->clk)) { |
761 | ret = PTR_ERR(uap->clk); | 761 | ret = PTR_ERR(uap->clk); |
762 | goto unmap; | 762 | goto unmap; |
diff --git a/drivers/serial/pxa.c b/drivers/serial/pxa.c index abc00be55433..f6e3b86bb0be 100644 --- a/drivers/serial/pxa.c +++ b/drivers/serial/pxa.c | |||
@@ -48,6 +48,7 @@ | |||
48 | #include <mach/hardware.h> | 48 | #include <mach/hardware.h> |
49 | #include <asm/irq.h> | 49 | #include <asm/irq.h> |
50 | #include <mach/pxa-regs.h> | 50 | #include <mach/pxa-regs.h> |
51 | #include <mach/regs-uart.h> | ||
51 | 52 | ||
52 | 53 | ||
53 | struct uart_pxa_port { | 54 | struct uart_pxa_port { |
@@ -766,7 +767,7 @@ static int serial_pxa_probe(struct platform_device *dev) | |||
766 | if (!sport) | 767 | if (!sport) |
767 | return -ENOMEM; | 768 | return -ENOMEM; |
768 | 769 | ||
769 | sport->clk = clk_get(&dev->dev, "UARTCLK"); | 770 | sport->clk = clk_get(&dev->dev, NULL); |
770 | if (IS_ERR(sport->clk)) { | 771 | if (IS_ERR(sport->clk)) { |
771 | ret = PTR_ERR(sport->clk); | 772 | ret = PTR_ERR(sport->clk); |
772 | goto err_free; | 773 | goto err_free; |
diff --git a/drivers/serial/serial_lh7a40x.c b/drivers/serial/serial_lh7a40x.c index 61dc8b3daa26..a7bf024a8286 100644 --- a/drivers/serial/serial_lh7a40x.c +++ b/drivers/serial/serial_lh7a40x.c | |||
@@ -41,9 +41,10 @@ | |||
41 | #include <linux/tty_flip.h> | 41 | #include <linux/tty_flip.h> |
42 | #include <linux/serial_core.h> | 42 | #include <linux/serial_core.h> |
43 | #include <linux/serial.h> | 43 | #include <linux/serial.h> |
44 | #include <linux/io.h> | ||
44 | 45 | ||
45 | #include <asm/io.h> | ||
46 | #include <asm/irq.h> | 46 | #include <asm/irq.h> |
47 | #include <mach/hardware.h> | ||
47 | 48 | ||
48 | #define DEV_MAJOR 204 | 49 | #define DEV_MAJOR 204 |
49 | #define DEV_MINOR 16 | 50 | #define DEV_MINOR 16 |
diff --git a/drivers/spi/pxa2xx_spi.c b/drivers/spi/pxa2xx_spi.c index cf12f2d84be2..6104f461a3cd 100644 --- a/drivers/spi/pxa2xx_spi.c +++ b/drivers/spi/pxa2xx_spi.c | |||
@@ -32,8 +32,8 @@ | |||
32 | #include <asm/io.h> | 32 | #include <asm/io.h> |
33 | #include <asm/irq.h> | 33 | #include <asm/irq.h> |
34 | #include <asm/delay.h> | 34 | #include <asm/delay.h> |
35 | #include <asm/dma.h> | ||
36 | 35 | ||
36 | #include <mach/dma.h> | ||
37 | #include <mach/hardware.h> | 37 | #include <mach/hardware.h> |
38 | #include <mach/pxa-regs.h> | 38 | #include <mach/pxa-regs.h> |
39 | #include <mach/regs-ssp.h> | 39 | #include <mach/regs-ssp.h> |
diff --git a/drivers/spi/spi_s3c24xx.c b/drivers/spi/spi_s3c24xx.c index c252cbac00f1..256d18395a23 100644 --- a/drivers/spi/spi_s3c24xx.c +++ b/drivers/spi/spi_s3c24xx.c | |||
@@ -28,7 +28,7 @@ | |||
28 | #include <mach/hardware.h> | 28 | #include <mach/hardware.h> |
29 | 29 | ||
30 | #include <mach/regs-gpio.h> | 30 | #include <mach/regs-gpio.h> |
31 | #include <asm/plat-s3c24xx/regs-spi.h> | 31 | #include <plat/regs-spi.h> |
32 | #include <mach/spi.h> | 32 | #include <mach/spi.h> |
33 | 33 | ||
34 | struct s3c24xx_spi { | 34 | struct s3c24xx_spi { |
diff --git a/drivers/usb/gadget/pxa25x_udc.c b/drivers/usb/gadget/pxa25x_udc.c index 2dbc0db0b46c..8c5026be79d4 100644 --- a/drivers/usb/gadget/pxa25x_udc.c +++ b/drivers/usb/gadget/pxa25x_udc.c | |||
@@ -2145,7 +2145,7 @@ static int __init pxa25x_udc_probe(struct platform_device *pdev) | |||
2145 | if (irq < 0) | 2145 | if (irq < 0) |
2146 | return -ENODEV; | 2146 | return -ENODEV; |
2147 | 2147 | ||
2148 | dev->clk = clk_get(&pdev->dev, "UDCCLK"); | 2148 | dev->clk = clk_get(&pdev->dev, NULL); |
2149 | if (IS_ERR(dev->clk)) { | 2149 | if (IS_ERR(dev->clk)) { |
2150 | retval = PTR_ERR(dev->clk); | 2150 | retval = PTR_ERR(dev->clk); |
2151 | goto err_clk; | 2151 | goto err_clk; |
diff --git a/drivers/usb/gadget/pxa27x_udc.c b/drivers/usb/gadget/pxa27x_udc.c index caa37c95802c..944e4ff641df 100644 --- a/drivers/usb/gadget/pxa27x_udc.c +++ b/drivers/usb/gadget/pxa27x_udc.c | |||
@@ -2226,7 +2226,7 @@ static int __init pxa_udc_probe(struct platform_device *pdev) | |||
2226 | udc->dev = &pdev->dev; | 2226 | udc->dev = &pdev->dev; |
2227 | udc->mach = pdev->dev.platform_data; | 2227 | udc->mach = pdev->dev.platform_data; |
2228 | 2228 | ||
2229 | udc->clk = clk_get(&pdev->dev, "UDCCLK"); | 2229 | udc->clk = clk_get(&pdev->dev, NULL); |
2230 | if (IS_ERR(udc->clk)) { | 2230 | if (IS_ERR(udc->clk)) { |
2231 | retval = PTR_ERR(udc->clk); | 2231 | retval = PTR_ERR(udc->clk); |
2232 | goto err_clk; | 2232 | goto err_clk; |
diff --git a/drivers/usb/gadget/s3c2410_udc.c b/drivers/usb/gadget/s3c2410_udc.c index 00ba06b44752..8d8d65165983 100644 --- a/drivers/usb/gadget/s3c2410_udc.c +++ b/drivers/usb/gadget/s3c2410_udc.c | |||
@@ -53,8 +53,8 @@ | |||
53 | #include <mach/hardware.h> | 53 | #include <mach/hardware.h> |
54 | #include <mach/regs-gpio.h> | 54 | #include <mach/regs-gpio.h> |
55 | 55 | ||
56 | #include <asm/plat-s3c24xx/regs-udc.h> | 56 | #include <plat/regs-udc.h> |
57 | #include <asm/plat-s3c24xx/udc.h> | 57 | #include <plat/udc.h> |
58 | 58 | ||
59 | 59 | ||
60 | #include "s3c2410_udc.h" | 60 | #include "s3c2410_udc.h" |
diff --git a/drivers/usb/host/ehci-orion.c b/drivers/usb/host/ehci-orion.c index 5416cf969005..9d487908012e 100644 --- a/drivers/usb/host/ehci-orion.c +++ b/drivers/usb/host/ehci-orion.c | |||
@@ -33,8 +33,9 @@ | |||
33 | /* | 33 | /* |
34 | * Implement Orion USB controller specification guidelines | 34 | * Implement Orion USB controller specification guidelines |
35 | */ | 35 | */ |
36 | static void orion_usb_setup(struct usb_hcd *hcd) | 36 | static void orion_usb_phy_v1_setup(struct usb_hcd *hcd) |
37 | { | 37 | { |
38 | /* The below GLs are according to the Orion Errata document */ | ||
38 | /* | 39 | /* |
39 | * Clear interrupt cause and mask | 40 | * Clear interrupt cause and mask |
40 | */ | 41 | */ |
@@ -258,9 +259,19 @@ static int __init ehci_orion_drv_probe(struct platform_device *pdev) | |||
258 | ehci_orion_conf_mbus_windows(hcd, pd->dram); | 259 | ehci_orion_conf_mbus_windows(hcd, pd->dram); |
259 | 260 | ||
260 | /* | 261 | /* |
261 | * setup Orion USB controller | 262 | * setup Orion USB controller. |
262 | */ | 263 | */ |
263 | orion_usb_setup(hcd); | 264 | switch (pd->phy_version) { |
265 | case EHCI_PHY_NA: /* dont change USB phy settings */ | ||
266 | break; | ||
267 | case EHCI_PHY_ORION: | ||
268 | orion_usb_phy_v1_setup(hcd); | ||
269 | break; | ||
270 | case EHCI_PHY_DD: | ||
271 | case EHCI_PHY_KW: | ||
272 | default: | ||
273 | printk(KERN_WARNING "Orion ehci -USB phy version isn't supported.\n"); | ||
274 | } | ||
264 | 275 | ||
265 | err = usb_add_hcd(hcd, irq, IRQF_SHARED | IRQF_DISABLED); | 276 | err = usb_add_hcd(hcd, irq, IRQF_SHARED | IRQF_DISABLED); |
266 | if (err) | 277 | if (err) |
diff --git a/drivers/usb/host/ohci-omap.c b/drivers/usb/host/ohci-omap.c index 91697bdb399f..4bbddb73abd9 100644 --- a/drivers/usb/host/ohci-omap.c +++ b/drivers/usb/host/ohci-omap.c | |||
@@ -18,6 +18,7 @@ | |||
18 | #include <linux/jiffies.h> | 18 | #include <linux/jiffies.h> |
19 | #include <linux/platform_device.h> | 19 | #include <linux/platform_device.h> |
20 | #include <linux/clk.h> | 20 | #include <linux/clk.h> |
21 | #include <linux/gpio.h> | ||
21 | 22 | ||
22 | #include <mach/hardware.h> | 23 | #include <mach/hardware.h> |
23 | #include <asm/io.h> | 24 | #include <asm/io.h> |
@@ -25,7 +26,6 @@ | |||
25 | 26 | ||
26 | #include <mach/mux.h> | 27 | #include <mach/mux.h> |
27 | #include <mach/irqs.h> | 28 | #include <mach/irqs.h> |
28 | #include <mach/gpio.h> | ||
29 | #include <mach/fpga.h> | 29 | #include <mach/fpga.h> |
30 | #include <mach/usb.h> | 30 | #include <mach/usb.h> |
31 | 31 | ||
@@ -254,8 +254,8 @@ static int ohci_omap_init(struct usb_hcd *hcd) | |||
254 | 254 | ||
255 | /* gpio9 for overcurrent detction */ | 255 | /* gpio9 for overcurrent detction */ |
256 | omap_cfg_reg(W8_1610_GPIO9); | 256 | omap_cfg_reg(W8_1610_GPIO9); |
257 | omap_request_gpio(9); | 257 | gpio_request(9, "OHCI overcurrent"); |
258 | omap_set_gpio_direction(9, 1 /* IN */); | 258 | gpio_direction_input(9); |
259 | 259 | ||
260 | /* for paranoia's sake: disable USB.PUEN */ | 260 | /* for paranoia's sake: disable USB.PUEN */ |
261 | omap_cfg_reg(W4_USB_HIGHZ); | 261 | omap_cfg_reg(W4_USB_HIGHZ); |
@@ -407,7 +407,7 @@ usb_hcd_omap_remove (struct usb_hcd *hcd, struct platform_device *pdev) | |||
407 | put_device(ohci->transceiver->dev); | 407 | put_device(ohci->transceiver->dev); |
408 | } | 408 | } |
409 | if (machine_is_omap_osk()) | 409 | if (machine_is_omap_osk()) |
410 | omap_free_gpio(9); | 410 | gpio_free(9); |
411 | iounmap(hcd->regs); | 411 | iounmap(hcd->regs); |
412 | release_mem_region(hcd->rsrc_start, hcd->rsrc_len); | 412 | release_mem_region(hcd->rsrc_start, hcd->rsrc_len); |
413 | usb_put_hcd(hcd); | 413 | usb_put_hcd(hcd); |
diff --git a/drivers/usb/host/ohci-pxa27x.c b/drivers/usb/host/ohci-pxa27x.c index e294d430733b..e44dc2cbca24 100644 --- a/drivers/usb/host/ohci-pxa27x.c +++ b/drivers/usb/host/ohci-pxa27x.c | |||
@@ -296,7 +296,7 @@ int usb_hcd_pxa27x_probe (const struct hc_driver *driver, struct platform_device | |||
296 | return -ENXIO; | 296 | return -ENXIO; |
297 | } | 297 | } |
298 | 298 | ||
299 | usb_clk = clk_get(&pdev->dev, "USBCLK"); | 299 | usb_clk = clk_get(&pdev->dev, NULL); |
300 | if (IS_ERR(usb_clk)) | 300 | if (IS_ERR(usb_clk)) |
301 | return PTR_ERR(usb_clk); | 301 | return PTR_ERR(usb_clk); |
302 | 302 | ||
diff --git a/drivers/video/Kconfig b/drivers/video/Kconfig index 3f3ce13fef43..237301849075 100644 --- a/drivers/video/Kconfig +++ b/drivers/video/Kconfig | |||
@@ -362,7 +362,7 @@ endchoice | |||
362 | 362 | ||
363 | config FB_ACORN | 363 | config FB_ACORN |
364 | bool "Acorn VIDC support" | 364 | bool "Acorn VIDC support" |
365 | depends on (FB = y) && ARM && (ARCH_ACORN || ARCH_CLPS7500) | 365 | depends on (FB = y) && ARM && ARCH_ACORN |
366 | select FB_CFB_FILLRECT | 366 | select FB_CFB_FILLRECT |
367 | select FB_CFB_COPYAREA | 367 | select FB_CFB_COPYAREA |
368 | select FB_CFB_IMAGEBLIT | 368 | select FB_CFB_IMAGEBLIT |
diff --git a/drivers/video/amba-clcd.c b/drivers/video/amba-clcd.c index a7a1c891bfa2..2ac52fd8cc11 100644 --- a/drivers/video/amba-clcd.c +++ b/drivers/video/amba-clcd.c | |||
@@ -343,14 +343,14 @@ static int clcdfb_register(struct clcd_fb *fb) | |||
343 | { | 343 | { |
344 | int ret; | 344 | int ret; |
345 | 345 | ||
346 | fb->clk = clk_get(&fb->dev->dev, "CLCDCLK"); | 346 | fb->clk = clk_get(&fb->dev->dev, NULL); |
347 | if (IS_ERR(fb->clk)) { | 347 | if (IS_ERR(fb->clk)) { |
348 | ret = PTR_ERR(fb->clk); | 348 | ret = PTR_ERR(fb->clk); |
349 | goto out; | 349 | goto out; |
350 | } | 350 | } |
351 | 351 | ||
352 | fb->fb.fix.mmio_start = fb->dev->res.start; | 352 | fb->fb.fix.mmio_start = fb->dev->res.start; |
353 | fb->fb.fix.mmio_len = SZ_4K; | 353 | fb->fb.fix.mmio_len = 4096; |
354 | 354 | ||
355 | fb->regs = ioremap(fb->fb.fix.mmio_start, fb->fb.fix.mmio_len); | 355 | fb->regs = ioremap(fb->fb.fix.mmio_start, fb->fb.fix.mmio_len); |
356 | if (!fb->regs) { | 356 | if (!fb->regs) { |
diff --git a/drivers/video/pxafb.c b/drivers/video/pxafb.c index cc59c52e1103..afe7a65c5603 100644 --- a/drivers/video/pxafb.c +++ b/drivers/video/pxafb.c | |||
@@ -69,9 +69,6 @@ | |||
69 | #define LCCR3_INVALID_CONFIG_MASK (LCCR3_HSP | LCCR3_VSP |\ | 69 | #define LCCR3_INVALID_CONFIG_MASK (LCCR3_HSP | LCCR3_VSP |\ |
70 | LCCR3_PCD | LCCR3_BPP) | 70 | LCCR3_PCD | LCCR3_BPP) |
71 | 71 | ||
72 | static void (*pxafb_backlight_power)(int); | ||
73 | static void (*pxafb_lcd_power)(int, struct fb_var_screeninfo *); | ||
74 | |||
75 | static int pxafb_activate_var(struct fb_var_screeninfo *var, | 72 | static int pxafb_activate_var(struct fb_var_screeninfo *var, |
76 | struct pxafb_info *); | 73 | struct pxafb_info *); |
77 | static void set_ctrlr_state(struct pxafb_info *fbi, u_int state); | 74 | static void set_ctrlr_state(struct pxafb_info *fbi, u_int state); |
@@ -814,6 +811,7 @@ static int pxafb_smart_init(struct pxafb_info *fbi) | |||
814 | __func__); | 811 | __func__); |
815 | return PTR_ERR(fbi->smart_thread); | 812 | return PTR_ERR(fbi->smart_thread); |
816 | } | 813 | } |
814 | |||
817 | return 0; | 815 | return 0; |
818 | } | 816 | } |
819 | #else | 817 | #else |
@@ -976,16 +974,16 @@ static inline void __pxafb_backlight_power(struct pxafb_info *fbi, int on) | |||
976 | { | 974 | { |
977 | pr_debug("pxafb: backlight o%s\n", on ? "n" : "ff"); | 975 | pr_debug("pxafb: backlight o%s\n", on ? "n" : "ff"); |
978 | 976 | ||
979 | if (pxafb_backlight_power) | 977 | if (fbi->backlight_power) |
980 | pxafb_backlight_power(on); | 978 | fbi->backlight_power(on); |
981 | } | 979 | } |
982 | 980 | ||
983 | static inline void __pxafb_lcd_power(struct pxafb_info *fbi, int on) | 981 | static inline void __pxafb_lcd_power(struct pxafb_info *fbi, int on) |
984 | { | 982 | { |
985 | pr_debug("pxafb: LCD power o%s\n", on ? "n" : "ff"); | 983 | pr_debug("pxafb: LCD power o%s\n", on ? "n" : "ff"); |
986 | 984 | ||
987 | if (pxafb_lcd_power) | 985 | if (fbi->lcd_power) |
988 | pxafb_lcd_power(on, &fbi->fb.var); | 986 | fbi->lcd_power(on, &fbi->fb.var); |
989 | } | 987 | } |
990 | 988 | ||
991 | static void pxafb_setup_gpio(struct pxafb_info *fbi) | 989 | static void pxafb_setup_gpio(struct pxafb_info *fbi) |
@@ -1429,7 +1427,7 @@ static struct pxafb_info * __devinit pxafb_init_fbinfo(struct device *dev) | |||
1429 | memset(fbi, 0, sizeof(struct pxafb_info)); | 1427 | memset(fbi, 0, sizeof(struct pxafb_info)); |
1430 | fbi->dev = dev; | 1428 | fbi->dev = dev; |
1431 | 1429 | ||
1432 | fbi->clk = clk_get(dev, "LCDCLK"); | 1430 | fbi->clk = clk_get(dev, NULL); |
1433 | if (IS_ERR(fbi->clk)) { | 1431 | if (IS_ERR(fbi->clk)) { |
1434 | kfree(fbi); | 1432 | kfree(fbi); |
1435 | return NULL; | 1433 | return NULL; |
@@ -1748,8 +1746,7 @@ static int __devinit pxafb_probe(struct platform_device *dev) | |||
1748 | ret = -EINVAL; | 1746 | ret = -EINVAL; |
1749 | goto failed; | 1747 | goto failed; |
1750 | } | 1748 | } |
1751 | pxafb_backlight_power = inf->pxafb_backlight_power; | 1749 | |
1752 | pxafb_lcd_power = inf->pxafb_lcd_power; | ||
1753 | fbi = pxafb_init_fbinfo(&dev->dev); | 1750 | fbi = pxafb_init_fbinfo(&dev->dev); |
1754 | if (!fbi) { | 1751 | if (!fbi) { |
1755 | /* only reason for pxafb_init_fbinfo to fail is kmalloc */ | 1752 | /* only reason for pxafb_init_fbinfo to fail is kmalloc */ |
@@ -1758,6 +1755,9 @@ static int __devinit pxafb_probe(struct platform_device *dev) | |||
1758 | goto failed; | 1755 | goto failed; |
1759 | } | 1756 | } |
1760 | 1757 | ||
1758 | fbi->backlight_power = inf->pxafb_backlight_power; | ||
1759 | fbi->lcd_power = inf->pxafb_lcd_power; | ||
1760 | |||
1761 | r = platform_get_resource(dev, IORESOURCE_MEM, 0); | 1761 | r = platform_get_resource(dev, IORESOURCE_MEM, 0); |
1762 | if (r == NULL) { | 1762 | if (r == NULL) { |
1763 | dev_err(&dev->dev, "no I/O memory resource defined\n"); | 1763 | dev_err(&dev->dev, "no I/O memory resource defined\n"); |
diff --git a/drivers/video/pxafb.h b/drivers/video/pxafb.h index 31541b86f13d..d8eb93fa03a3 100644 --- a/drivers/video/pxafb.h +++ b/drivers/video/pxafb.h | |||
@@ -124,6 +124,9 @@ struct pxafb_info { | |||
124 | struct notifier_block freq_transition; | 124 | struct notifier_block freq_transition; |
125 | struct notifier_block freq_policy; | 125 | struct notifier_block freq_policy; |
126 | #endif | 126 | #endif |
127 | |||
128 | void (*lcd_power)(int, struct fb_var_screeninfo *); | ||
129 | void (*backlight_power)(int); | ||
127 | }; | 130 | }; |
128 | 131 | ||
129 | #define TO_INF(ptr,member) container_of(ptr,struct pxafb_info,member) | 132 | #define TO_INF(ptr,member) container_of(ptr,struct pxafb_info,member) |
diff --git a/drivers/video/sa1100fb.c b/drivers/video/sa1100fb.c index c052bd4c0b06..076f946fa0f5 100644 --- a/drivers/video/sa1100fb.c +++ b/drivers/video/sa1100fb.c | |||
@@ -114,7 +114,7 @@ | |||
114 | * - convert dma address types to dma_addr_t | 114 | * - convert dma address types to dma_addr_t |
115 | * - remove unused 'montype' stuff | 115 | * - remove unused 'montype' stuff |
116 | * - remove redundant zero inits of init_var after the initial | 116 | * - remove redundant zero inits of init_var after the initial |
117 | * memzero. | 117 | * memset. |
118 | * - remove allow_modeset (acornfb idea does not belong here) | 118 | * - remove allow_modeset (acornfb idea does not belong here) |
119 | * | 119 | * |
120 | * 2001/05/28: <rmk@arm.linux.org.uk> | 120 | * 2001/05/28: <rmk@arm.linux.org.uk> |
diff --git a/drivers/watchdog/s3c2410_wdt.c b/drivers/watchdog/s3c2410_wdt.c index f7f6ce82a5e2..e31925ee8346 100644 --- a/drivers/watchdog/s3c2410_wdt.c +++ b/drivers/watchdog/s3c2410_wdt.c | |||
@@ -42,7 +42,7 @@ | |||
42 | #undef S3C_VA_WATCHDOG | 42 | #undef S3C_VA_WATCHDOG |
43 | #define S3C_VA_WATCHDOG (0) | 43 | #define S3C_VA_WATCHDOG (0) |
44 | 44 | ||
45 | #include <asm/plat-s3c/regs-watchdog.h> | 45 | #include <plat/regs-watchdog.h> |
46 | 46 | ||
47 | #define PFX "s3c2410-wdt: " | 47 | #define PFX "s3c2410-wdt: " |
48 | 48 | ||
diff --git a/drivers/watchdog/sa1100_wdt.c b/drivers/watchdog/sa1100_wdt.c index ed01e4c2beff..d6fbb4657210 100644 --- a/drivers/watchdog/sa1100_wdt.c +++ b/drivers/watchdog/sa1100_wdt.c | |||
@@ -27,6 +27,7 @@ | |||
27 | #include <linux/init.h> | 27 | #include <linux/init.h> |
28 | #include <linux/bitops.h> | 28 | #include <linux/bitops.h> |
29 | #include <linux/uaccess.h> | 29 | #include <linux/uaccess.h> |
30 | #include <linux/timex.h> | ||
30 | 31 | ||
31 | #ifdef CONFIG_ARCH_PXA | 32 | #ifdef CONFIG_ARCH_PXA |
32 | #include <mach/pxa-regs.h> | 33 | #include <mach/pxa-regs.h> |