aboutsummaryrefslogtreecommitdiffstats
path: root/arch/sh
diff options
context:
space:
mode:
Diffstat (limited to 'arch/sh')
-rw-r--r--arch/sh/boards/mach-ap325rxa/setup.c10
-rw-r--r--arch/sh/boards/mach-migor/setup.c4
-rw-r--r--arch/sh/drivers/dma/dma-sysfs.c1
-rw-r--r--arch/sh/drivers/pci/pci.c1
-rw-r--r--arch/sh/kernel/cpu/shmobile/cpuidle.c29
-rw-r--r--arch/sh/kernel/perf_event.c1
-rw-r--r--arch/sh/kernel/topology.c1
-rw-r--r--arch/sh/mm/init.c1
8 files changed, 29 insertions, 19 deletions
diff --git a/arch/sh/boards/mach-ap325rxa/setup.c b/arch/sh/boards/mach-ap325rxa/setup.c
index d36265758911..7030f4c8cf11 100644
--- a/arch/sh/boards/mach-ap325rxa/setup.c
+++ b/arch/sh/boards/mach-ap325rxa/setup.c
@@ -345,9 +345,10 @@ static struct soc_camera_platform_info camera_info = {
345 .width = 640, 345 .width = 640,
346 .height = 480, 346 .height = 480,
347 }, 347 },
348 .bus_param = SOCAM_PCLK_SAMPLE_RISING | SOCAM_HSYNC_ACTIVE_HIGH | 348 .mbus_param = V4L2_MBUS_PCLK_SAMPLE_RISING | V4L2_MBUS_MASTER |
349 SOCAM_VSYNC_ACTIVE_HIGH | SOCAM_MASTER | SOCAM_DATAWIDTH_8 | 349 V4L2_MBUS_VSYNC_ACTIVE_HIGH | V4L2_MBUS_HSYNC_ACTIVE_HIGH |
350 SOCAM_DATA_ACTIVE_HIGH, 350 V4L2_MBUS_DATA_ACTIVE_HIGH,
351 .mbus_type = V4L2_MBUS_PARALLEL,
351 .set_capture = camera_set_capture, 352 .set_capture = camera_set_capture,
352}; 353};
353 354
@@ -501,8 +502,7 @@ static struct i2c_board_info ap325rxa_i2c_camera[] = {
501}; 502};
502 503
503static struct ov772x_camera_info ov7725_info = { 504static struct ov772x_camera_info ov7725_info = {
504 .flags = OV772X_FLAG_VFLIP | OV772X_FLAG_HFLIP | \ 505 .flags = OV772X_FLAG_VFLIP | OV772X_FLAG_HFLIP,
505 OV772X_FLAG_8BIT,
506 .edgectrl = OV772X_AUTO_EDGECTRL(0xf, 0), 506 .edgectrl = OV772X_AUTO_EDGECTRL(0xf, 0),
507}; 507};
508 508
diff --git a/arch/sh/boards/mach-migor/setup.c b/arch/sh/boards/mach-migor/setup.c
index 2d4c9c8c6664..e4c81195929c 100644
--- a/arch/sh/boards/mach-migor/setup.c
+++ b/arch/sh/boards/mach-migor/setup.c
@@ -448,9 +448,7 @@ static struct i2c_board_info migor_i2c_camera[] = {
448 }, 448 },
449}; 449};
450 450
451static struct ov772x_camera_info ov7725_info = { 451static struct ov772x_camera_info ov7725_info;
452 .flags = OV772X_FLAG_8BIT,
453};
454 452
455static struct soc_camera_link ov7725_link = { 453static struct soc_camera_link ov7725_link = {
456 .power = ov7725_power, 454 .power = ov7725_power,
diff --git a/arch/sh/drivers/dma/dma-sysfs.c b/arch/sh/drivers/dma/dma-sysfs.c
index 1ee631d3725e..83cc704770d7 100644
--- a/arch/sh/drivers/dma/dma-sysfs.c
+++ b/arch/sh/drivers/dma/dma-sysfs.c
@@ -11,6 +11,7 @@
11 */ 11 */
12#include <linux/kernel.h> 12#include <linux/kernel.h>
13#include <linux/init.h> 13#include <linux/init.h>
14#include <linux/stat.h>
14#include <linux/sysdev.h> 15#include <linux/sysdev.h>
15#include <linux/platform_device.h> 16#include <linux/platform_device.h>
16#include <linux/err.h> 17#include <linux/err.h>
diff --git a/arch/sh/drivers/pci/pci.c b/arch/sh/drivers/pci/pci.c
index 194231cb5a70..c2691afe8f79 100644
--- a/arch/sh/drivers/pci/pci.c
+++ b/arch/sh/drivers/pci/pci.c
@@ -20,6 +20,7 @@
20#include <linux/io.h> 20#include <linux/io.h>
21#include <linux/mutex.h> 21#include <linux/mutex.h>
22#include <linux/spinlock.h> 22#include <linux/spinlock.h>
23#include <linux/export.h>
23 24
24unsigned long PCIBIOS_MIN_IO = 0x0000; 25unsigned long PCIBIOS_MIN_IO = 0x0000;
25unsigned long PCIBIOS_MIN_MEM = 0; 26unsigned long PCIBIOS_MIN_MEM = 0;
diff --git a/arch/sh/kernel/cpu/shmobile/cpuidle.c b/arch/sh/kernel/cpu/shmobile/cpuidle.c
index e4469e7233cb..1cc257c9b1e3 100644
--- a/arch/sh/kernel/cpu/shmobile/cpuidle.c
+++ b/arch/sh/kernel/cpu/shmobile/cpuidle.c
@@ -14,6 +14,7 @@
14#include <linux/io.h> 14#include <linux/io.h>
15#include <linux/suspend.h> 15#include <linux/suspend.h>
16#include <linux/cpuidle.h> 16#include <linux/cpuidle.h>
17#include <linux/export.h>
17#include <asm/suspend.h> 18#include <asm/suspend.h>
18#include <asm/uaccess.h> 19#include <asm/uaccess.h>
19#include <asm/hwblk.h> 20#include <asm/hwblk.h>
@@ -25,11 +26,12 @@ static unsigned long cpuidle_mode[] = {
25}; 26};
26 27
27static int cpuidle_sleep_enter(struct cpuidle_device *dev, 28static int cpuidle_sleep_enter(struct cpuidle_device *dev,
28 struct cpuidle_state *state) 29 struct cpuidle_driver *drv,
30 int index)
29{ 31{
30 unsigned long allowed_mode = arch_hwblk_sleep_mode(); 32 unsigned long allowed_mode = arch_hwblk_sleep_mode();
31 ktime_t before, after; 33 ktime_t before, after;
32 int requested_state = state - &dev->states[0]; 34 int requested_state = index;
33 int allowed_state; 35 int allowed_state;
34 int k; 36 int k;
35 37
@@ -46,11 +48,13 @@ static int cpuidle_sleep_enter(struct cpuidle_device *dev,
46 */ 48 */
47 k = min_t(int, allowed_state, requested_state); 49 k = min_t(int, allowed_state, requested_state);
48 50
49 dev->last_state = &dev->states[k];
50 before = ktime_get(); 51 before = ktime_get();
51 sh_mobile_call_standby(cpuidle_mode[k]); 52 sh_mobile_call_standby(cpuidle_mode[k]);
52 after = ktime_get(); 53 after = ktime_get();
53 return ktime_to_ns(ktime_sub(after, before)) >> 10; 54
55 dev->last_residency = (int)ktime_to_ns(ktime_sub(after, before)) >> 10;
56
57 return k;
54} 58}
55 59
56static struct cpuidle_device cpuidle_dev; 60static struct cpuidle_device cpuidle_dev;
@@ -62,19 +66,19 @@ static struct cpuidle_driver cpuidle_driver = {
62void sh_mobile_setup_cpuidle(void) 66void sh_mobile_setup_cpuidle(void)
63{ 67{
64 struct cpuidle_device *dev = &cpuidle_dev; 68 struct cpuidle_device *dev = &cpuidle_dev;
69 struct cpuidle_driver *drv = &cpuidle_driver;
65 struct cpuidle_state *state; 70 struct cpuidle_state *state;
66 int i; 71 int i;
67 72
68 cpuidle_register_driver(&cpuidle_driver);
69 73
70 for (i = 0; i < CPUIDLE_STATE_MAX; i++) { 74 for (i = 0; i < CPUIDLE_STATE_MAX; i++) {
71 dev->states[i].name[0] = '\0'; 75 drv->states[i].name[0] = '\0';
72 dev->states[i].desc[0] = '\0'; 76 drv->states[i].desc[0] = '\0';
73 } 77 }
74 78
75 i = CPUIDLE_DRIVER_STATE_START; 79 i = CPUIDLE_DRIVER_STATE_START;
76 80
77 state = &dev->states[i++]; 81 state = &drv->states[i++];
78 snprintf(state->name, CPUIDLE_NAME_LEN, "C1"); 82 snprintf(state->name, CPUIDLE_NAME_LEN, "C1");
79 strncpy(state->desc, "SuperH Sleep Mode", CPUIDLE_DESC_LEN); 83 strncpy(state->desc, "SuperH Sleep Mode", CPUIDLE_DESC_LEN);
80 state->exit_latency = 1; 84 state->exit_latency = 1;
@@ -84,10 +88,10 @@ void sh_mobile_setup_cpuidle(void)
84 state->flags |= CPUIDLE_FLAG_TIME_VALID; 88 state->flags |= CPUIDLE_FLAG_TIME_VALID;
85 state->enter = cpuidle_sleep_enter; 89 state->enter = cpuidle_sleep_enter;
86 90
87 dev->safe_state = state; 91 drv->safe_state_index = i-1;
88 92
89 if (sh_mobile_sleep_supported & SUSP_SH_SF) { 93 if (sh_mobile_sleep_supported & SUSP_SH_SF) {
90 state = &dev->states[i++]; 94 state = &drv->states[i++];
91 snprintf(state->name, CPUIDLE_NAME_LEN, "C2"); 95 snprintf(state->name, CPUIDLE_NAME_LEN, "C2");
92 strncpy(state->desc, "SuperH Sleep Mode [SF]", 96 strncpy(state->desc, "SuperH Sleep Mode [SF]",
93 CPUIDLE_DESC_LEN); 97 CPUIDLE_DESC_LEN);
@@ -100,7 +104,7 @@ void sh_mobile_setup_cpuidle(void)
100 } 104 }
101 105
102 if (sh_mobile_sleep_supported & SUSP_SH_STANDBY) { 106 if (sh_mobile_sleep_supported & SUSP_SH_STANDBY) {
103 state = &dev->states[i++]; 107 state = &drv->states[i++];
104 snprintf(state->name, CPUIDLE_NAME_LEN, "C3"); 108 snprintf(state->name, CPUIDLE_NAME_LEN, "C3");
105 strncpy(state->desc, "SuperH Mobile Standby Mode [SF]", 109 strncpy(state->desc, "SuperH Mobile Standby Mode [SF]",
106 CPUIDLE_DESC_LEN); 110 CPUIDLE_DESC_LEN);
@@ -112,7 +116,10 @@ void sh_mobile_setup_cpuidle(void)
112 state->enter = cpuidle_sleep_enter; 116 state->enter = cpuidle_sleep_enter;
113 } 117 }
114 118
119 drv->state_count = i;
115 dev->state_count = i; 120 dev->state_count = i;
116 121
122 cpuidle_register_driver(&cpuidle_driver);
123
117 cpuidle_register_device(dev); 124 cpuidle_register_device(dev);
118} 125}
diff --git a/arch/sh/kernel/perf_event.c b/arch/sh/kernel/perf_event.c
index 2ee21a47b5af..10b14e3a7eb8 100644
--- a/arch/sh/kernel/perf_event.c
+++ b/arch/sh/kernel/perf_event.c
@@ -25,6 +25,7 @@
25#include <linux/io.h> 25#include <linux/io.h>
26#include <linux/irq.h> 26#include <linux/irq.h>
27#include <linux/perf_event.h> 27#include <linux/perf_event.h>
28#include <linux/export.h>
28#include <asm/processor.h> 29#include <asm/processor.h>
29 30
30struct cpu_hw_events { 31struct cpu_hw_events {
diff --git a/arch/sh/kernel/topology.c b/arch/sh/kernel/topology.c
index ecc2d3d0f54a..4649a6ff0cfe 100644
--- a/arch/sh/kernel/topology.c
+++ b/arch/sh/kernel/topology.c
@@ -14,6 +14,7 @@
14#include <linux/topology.h> 14#include <linux/topology.h>
15#include <linux/node.h> 15#include <linux/node.h>
16#include <linux/nodemask.h> 16#include <linux/nodemask.h>
17#include <linux/export.h>
17 18
18static DEFINE_PER_CPU(struct cpu, cpu_devices); 19static DEFINE_PER_CPU(struct cpu, cpu_devices);
19 20
diff --git a/arch/sh/mm/init.c b/arch/sh/mm/init.c
index c9dbace35b16..939ca0f356f6 100644
--- a/arch/sh/mm/init.c
+++ b/arch/sh/mm/init.c
@@ -18,6 +18,7 @@
18#include <linux/io.h> 18#include <linux/io.h>
19#include <linux/memblock.h> 19#include <linux/memblock.h>
20#include <linux/dma-mapping.h> 20#include <linux/dma-mapping.h>
21#include <linux/export.h>
21#include <asm/mmu_context.h> 22#include <asm/mmu_context.h>
22#include <asm/mmzone.h> 23#include <asm/mmzone.h>
23#include <asm/kexec.h> 24#include <asm/kexec.h>