summaryrefslogtreecommitdiffstats
path: root/extras/recipes-kernel/linux/linux-omap-psp-2.6.32/cam/0046-omap3beagle-camera-Cleanup-regulator-usage.patch
diff options
context:
space:
mode:
Diffstat (limited to 'extras/recipes-kernel/linux/linux-omap-psp-2.6.32/cam/0046-omap3beagle-camera-Cleanup-regulator-usage.patch')
-rw-r--r--extras/recipes-kernel/linux/linux-omap-psp-2.6.32/cam/0046-omap3beagle-camera-Cleanup-regulator-usage.patch172
1 files changed, 172 insertions, 0 deletions
diff --git a/extras/recipes-kernel/linux/linux-omap-psp-2.6.32/cam/0046-omap3beagle-camera-Cleanup-regulator-usage.patch b/extras/recipes-kernel/linux/linux-omap-psp-2.6.32/cam/0046-omap3beagle-camera-Cleanup-regulator-usage.patch
new file mode 100644
index 00000000..9f3cbb26
--- /dev/null
+++ b/extras/recipes-kernel/linux/linux-omap-psp-2.6.32/cam/0046-omap3beagle-camera-Cleanup-regulator-usage.patch
@@ -0,0 +1,172 @@
1From d3ea23ea580848bb5e0ed423db4d914661cd1d7d Mon Sep 17 00:00:00 2001
2From: Sergio Aguirre <saaguirre@ti.com>
3Date: Mon, 12 Jul 2010 15:53:44 -0500
4Subject: [PATCH 46/75] omap3beagle: camera: Cleanup regulator usage
5
6We were missing the point of regulator abstraction layer.
7
8Camera board file shouldn't be aware of what vaux is using, but
9just asking for a specific power supply (for cam_1v8 and cam_2v8).
10
11How is that mapped before, is something that the regulator machine
12should figure out.
13
14Signed-off-by: Sergio Aguirre <saaguirre@ti.com>
15---
16 arch/arm/mach-omap2/board-omap3beagle-camera.c | 50 ++++++++++++------------
17 arch/arm/mach-omap2/board-omap3beagle.c | 24 +++++-------
18 2 files changed, 35 insertions(+), 39 deletions(-)
19
20diff --git a/arch/arm/mach-omap2/board-omap3beagle-camera.c b/arch/arm/mach-omap2/board-omap3beagle-camera.c
21index befa7d4..c91529d 100644
22--- a/arch/arm/mach-omap2/board-omap3beagle-camera.c
23+++ b/arch/arm/mach-omap2/board-omap3beagle-camera.c
24@@ -51,8 +51,8 @@
25
26 #define LEOPARD_RESET_GPIO 98
27
28-static struct regulator *beagle_mt9v113_1_8v1;
29-static struct regulator *beagle_mt9v113_1_8v2;
30+static struct regulator *cam_1v8_reg;
31+static struct regulator *cam_2v8_reg;
32
33 /* Arbitrary memory handling limit */
34 #define MT9V113_MAX_FRAME_SIZE PAGE_ALIGN(640 * 480 * 4)
35@@ -148,10 +148,10 @@ static int mt9v113_power_set(struct v4l2_int_device *s, enum v4l2_power power)
36 case V4L2_POWER_OFF:
37 isp_set_xclk(vdev->cam->isp, 0, CAM_USE_XCLKA);
38
39- if (regulator_is_enabled(beagle_mt9v113_1_8v1))
40- regulator_disable(beagle_mt9v113_1_8v1);
41- if (regulator_is_enabled(beagle_mt9v113_1_8v2))
42- regulator_disable(beagle_mt9v113_1_8v2);
43+ if (regulator_is_enabled(cam_1v8_reg))
44+ regulator_disable(cam_1v8_reg);
45+ if (regulator_is_enabled(cam_2v8_reg))
46+ regulator_disable(cam_2v8_reg);
47
48 break;
49
50@@ -162,10 +162,10 @@ static int mt9v113_power_set(struct v4l2_int_device *s, enum v4l2_power power)
51 gpio_set_value(LEOPARD_RESET_GPIO, 0);
52
53 /* turn on VDD */
54- regulator_enable(beagle_mt9v113_1_8v1);
55+ regulator_enable(cam_1v8_reg);
56 mdelay(1);
57 /* turn on VDD_IO */
58- regulator_enable(beagle_mt9v113_1_8v2);
59+ regulator_enable(cam_2v8_reg);
60 mdelay(50);
61
62 /* Enable EXTCLK */
63@@ -201,24 +201,24 @@ struct mt9v113_platform_data mt9v113_pdata = {
64
65 static int beagle_cam_probe(struct platform_device *pdev)
66 {
67- beagle_mt9v113_1_8v1 = regulator_get(&pdev->dev, "vaux3_1");
68- if (IS_ERR(beagle_mt9v113_1_8v1)) {
69- dev_err(&pdev->dev, "vaux3_1 regulator missing\n");
70- return PTR_ERR(beagle_mt9v113_1_8v1);
71+ cam_1v8_reg = regulator_get(&pdev->dev, "cam_1v8");
72+ if (IS_ERR(cam_1v8_reg)) {
73+ dev_err(&pdev->dev, "cam_1v8 regulator missing\n");
74+ return PTR_ERR(cam_1v8_reg);
75 }
76
77- beagle_mt9v113_1_8v2 = regulator_get(&pdev->dev, "vaux4_1");
78- if (IS_ERR(beagle_mt9v113_1_8v2)) {
79- dev_err(&pdev->dev, "vaux4_1 regulator missing\n");
80- regulator_put(beagle_mt9v113_1_8v1);
81- return PTR_ERR(beagle_mt9v113_1_8v2);
82+ cam_2v8_reg = regulator_get(&pdev->dev, "cam_2v8");
83+ if (IS_ERR(cam_2v8_reg)) {
84+ dev_err(&pdev->dev, "cam_2v8 regulator missing\n");
85+ regulator_put(cam_1v8_reg);
86+ return PTR_ERR(cam_2v8_reg);
87 }
88
89 if (gpio_request(LEOPARD_RESET_GPIO, "cam_rst") != 0) {
90 dev_err(&pdev->dev, "Could not request GPIO %d",
91 LEOPARD_RESET_GPIO);
92- regulator_put(beagle_mt9v113_1_8v2);
93- regulator_put(beagle_mt9v113_1_8v1);
94+ regulator_put(cam_2v8_reg);
95+ regulator_put(cam_1v8_reg);
96 return -ENODEV;
97 }
98
99@@ -266,13 +266,13 @@ static int beagle_cam_probe(struct platform_device *pdev)
100
101 static int beagle_cam_remove(struct platform_device *pdev)
102 {
103- if (regulator_is_enabled(beagle_mt9v113_1_8v1))
104- regulator_disable(beagle_mt9v113_1_8v1);
105- regulator_put(beagle_mt9v113_1_8v1);
106+ if (regulator_is_enabled(cam_1v8_reg))
107+ regulator_disable(cam_1v8_reg);
108+ regulator_put(cam_1v8_reg);
109
110- if (regulator_is_enabled(beagle_mt9v113_1_8v2))
111- regulator_disable(beagle_mt9v113_1_8v2);
112- regulator_put(beagle_mt9v113_1_8v2);
113+ if (regulator_is_enabled(cam_2v8_reg))
114+ regulator_disable(cam_2v8_reg);
115+ regulator_put(cam_2v8_reg);
116
117 gpio_free(LEOPARD_RESET_GPIO);
118
119diff --git a/arch/arm/mach-omap2/board-omap3beagle.c b/arch/arm/mach-omap2/board-omap3beagle.c
120index d4b0b0a..b0da483 100644
121--- a/arch/arm/mach-omap2/board-omap3beagle.c
122+++ b/arch/arm/mach-omap2/board-omap3beagle.c
123@@ -414,18 +414,14 @@ static struct platform_device beagle_cam_device = {
124 .id = -1,
125 };
126
127-static struct regulator_consumer_supply beagle_vaux3_supplies[] = {
128- {
129- .supply = "vaux3_1",
130- .dev = &beagle_cam_device.dev,
131- },
132+static struct regulator_consumer_supply beagle_vaux3_supply = {
133+ .supply = "cam_1v8",
134+ .dev = &beagle_cam_device.dev,
135 };
136
137-static struct regulator_consumer_supply beagle_vaux4_supplies[] = {
138- {
139- .supply = "vaux4_1",
140- .dev = &beagle_cam_device.dev,
141- },
142+static struct regulator_consumer_supply beagle_vaux4_supply = {
143+ .supply = "cam_2v8",
144+ .dev = &beagle_cam_device.dev,
145 };
146
147 /* VAUX3 for CAM_1V8 */
148@@ -439,8 +435,8 @@ static struct regulator_init_data beagle_vaux3 = {
149 .valid_ops_mask = REGULATOR_CHANGE_MODE
150 | REGULATOR_CHANGE_STATUS,
151 },
152- .num_consumer_supplies = ARRAY_SIZE(beagle_vaux3_supplies),
153- .consumer_supplies = beagle_vaux3_supplies,
154+ .num_consumer_supplies = 1,
155+ .consumer_supplies = &beagle_vaux3_supply,
156 };
157
158 /* VAUX4 for CAM_2V8 */
159@@ -454,8 +450,8 @@ static struct regulator_init_data beagle_vaux4 = {
160 .valid_ops_mask = REGULATOR_CHANGE_MODE
161 | REGULATOR_CHANGE_STATUS,
162 },
163- .num_consumer_supplies = ARRAY_SIZE(beagle_vaux4_supplies),
164- .consumer_supplies = beagle_vaux4_supplies,
165+ .num_consumer_supplies = 1,
166+ .consumer_supplies = &beagle_vaux4_supply,
167 };
168
169 /* VMMC1 for MMC1 pins CMD, CLK, DAT0..DAT3 (20 mA, plus card == max 220 mA) */
170--
1711.6.6.1
172