summaryrefslogtreecommitdiffstats
path: root/recipes-kernel
diff options
context:
space:
mode:
authorKoen Kooi <koen@dominion.thruhere.net>2011-05-24 10:22:12 +0200
committerKoen Kooi <koen@dominion.thruhere.net>2011-05-24 10:22:12 +0200
commitcdd0d121a3d1b714bcc4db9bc3cc76cccf0fe487 (patch)
tree16b5e9015c23c11f7da10c2f6d74a1970fd6acf2 /recipes-kernel
parente2ccc5ca9985c70387664b5923af83c9dcb1e4aa (diff)
downloadmeta-ti-cdd0d121a3d1b714bcc4db9bc3cc76cccf0fe487.tar.gz
linux-omap 2.6.39: add base PM set back in
Signed-off-by: Koen Kooi <koen@dominion.thruhere.net>
Diffstat (limited to 'recipes-kernel')
-rw-r--r--recipes-kernel/linux/linux-omap-2.6.39/pm/linux-omap-2.6.39-ti-pm/0001-OMAP3-voltage-remove-spurious-pr_notice-for-debugfs.patch30
-rw-r--r--recipes-kernel/linux/linux-omap-2.6.39/pm/linux-omap-2.6.39-ti-pm/0002-OMAP4-PM-remove-redundant-ifdef-CONFIG_PM.patch41
-rw-r--r--recipes-kernel/linux/linux-omap-2.6.39/pm/linux-omap-2.6.39-ti-pm/0003-OMAP3-smartreflex-fix-sr_late_init-error-path-in-pro.patch30
-rw-r--r--recipes-kernel/linux/linux-omap-2.6.39/pm/linux-omap-2.6.39-ti-pm/0004-OMAP3-smartreflex-request-the-memory-region.patch36
-rw-r--r--recipes-kernel/linux/linux-omap-2.6.39/pm/linux-omap-2.6.39-ti-pm/0005-OMAP3-smartreflex-fix-ioremap-leak-on-probe-error.patch66
-rw-r--r--recipes-kernel/linux/linux-omap-2.6.39/pm/linux-omap-2.6.39-ti-pm/0006-OMAP3-smartreflex-delete-instance-from-sr_list-on-pr.patch29
-rw-r--r--recipes-kernel/linux/linux-omap-2.6.39/pm/linux-omap-2.6.39-ti-pm/0007-OMAP3-smartreflex-delete-debugfs-entries-on-probe-er.patch48
-rw-r--r--recipes-kernel/linux/linux-omap-2.6.39/pm/linux-omap-2.6.39-ti-pm/0008-OMAP3-cpuidle-remove-useless-SDP-specific-timings.patch57
-rw-r--r--recipes-kernel/linux/linux-omap-2.6.39/pm/linux-omap-2.6.39-ti-pm/0009-OMAP3-SR-make-notify-independent-of-class.patch48
-rw-r--r--recipes-kernel/linux/linux-omap-2.6.39/pm/linux-omap-2.6.39-ti-pm/0010-OMAP3-SR-disable-interrupt-by-default.patch37
-rw-r--r--recipes-kernel/linux/linux-omap-2.6.39/pm/linux-omap-2.6.39-ti-pm/0011-OMAP3-SR-enable-disable-SR-only-on-need.patch41
-rw-r--r--recipes-kernel/linux/linux-omap-2.6.39/pm/linux-omap-2.6.39-ti-pm/0012-OMAP3-SR-fix-cosmetic-indentation.patch49
-rw-r--r--recipes-kernel/linux/linux-omap_2.6.39.bb15
13 files changed, 526 insertions, 1 deletions
diff --git a/recipes-kernel/linux/linux-omap-2.6.39/pm/linux-omap-2.6.39-ti-pm/0001-OMAP3-voltage-remove-spurious-pr_notice-for-debugfs.patch b/recipes-kernel/linux/linux-omap-2.6.39/pm/linux-omap-2.6.39-ti-pm/0001-OMAP3-voltage-remove-spurious-pr_notice-for-debugfs.patch
new file mode 100644
index 00000000..f1a5bbbc
--- /dev/null
+++ b/recipes-kernel/linux/linux-omap-2.6.39/pm/linux-omap-2.6.39-ti-pm/0001-OMAP3-voltage-remove-spurious-pr_notice-for-debugfs.patch
@@ -0,0 +1,30 @@
1From 26d1f5966161349845884ae3c8f558d2580f1eb9 Mon Sep 17 00:00:00 2001
2From: Nishanth Menon <nm@ti.com>
3Date: Sat, 12 Feb 2011 17:27:14 +0530
4Subject: [PATCH 01/12] OMAP3+: voltage: remove spurious pr_notice for debugfs
5
6cat of debugfs entry for vp_volt provides voltage. The additional pr_notice
7is just spam on console and provides no additional information.
8
9Signed-off-by: Nishanth Menon <nm@ti.com>
10Signed-off-by: Kevin Hilman <khilman@ti.com>
11Signed-off-by: Koen Kooi <koen@dominion.thruhere.net>
12---
13 arch/arm/mach-omap2/voltage.c | 1 -
14 1 files changed, 0 insertions(+), 1 deletions(-)
15
16diff --git a/arch/arm/mach-omap2/voltage.c b/arch/arm/mach-omap2/voltage.c
17index 0c1552d..9ef3789 100644
18--- a/arch/arm/mach-omap2/voltage.c
19+++ b/arch/arm/mach-omap2/voltage.c
20@@ -148,7 +148,6 @@ static int vp_volt_debug_get(void *data, u64 *val)
21 }
22
23 vsel = vdd->read_reg(prm_mod_offs, vdd->vp_data->voltage);
24- pr_notice("curr_vsel = %x\n", vsel);
25
26 if (!vdd->pmic_info->vsel_to_uv) {
27 pr_warning("PMIC function to convert vsel to voltage"
28--
291.6.6.1
30
diff --git a/recipes-kernel/linux/linux-omap-2.6.39/pm/linux-omap-2.6.39-ti-pm/0002-OMAP4-PM-remove-redundant-ifdef-CONFIG_PM.patch b/recipes-kernel/linux/linux-omap-2.6.39/pm/linux-omap-2.6.39-ti-pm/0002-OMAP4-PM-remove-redundant-ifdef-CONFIG_PM.patch
new file mode 100644
index 00000000..186c6846
--- /dev/null
+++ b/recipes-kernel/linux/linux-omap-2.6.39/pm/linux-omap-2.6.39-ti-pm/0002-OMAP4-PM-remove-redundant-ifdef-CONFIG_PM.patch
@@ -0,0 +1,41 @@
1From f9e0aa8fa5538ddd92e12c5a062e78b0ae5e47e9 Mon Sep 17 00:00:00 2001
2From: Nishanth Menon <nm@ti.com>
3Date: Sun, 13 Mar 2011 09:07:23 +0530
4Subject: [PATCH 02/12] OMAP4: PM: remove redundant #ifdef CONFIG_PM
5
6pm44xx.c is built only when CONFIG_PM is setup,
7remove redundant CONFIG_PM check.
8
9This also fixes:
10https://bugzilla.kernel.org/show_bug.cgi?id=25022
11
12Reported-by: Martin Etti <ettl.martin@gmx.de>
13
14Signed-off-by: Nishanth Menon <nm@ti.com>
15Signed-off-by: Kevin Hilman <khilman@ti.com>
16Signed-off-by: Koen Kooi <koen@dominion.thruhere.net>
17---
18 arch/arm/mach-omap2/pm44xx.c | 2 --
19 1 files changed, 0 insertions(+), 2 deletions(-)
20
21diff --git a/arch/arm/mach-omap2/pm44xx.c b/arch/arm/mach-omap2/pm44xx.c
22index 76cfff2..59a870b 100644
23--- a/arch/arm/mach-omap2/pm44xx.c
24+++ b/arch/arm/mach-omap2/pm44xx.c
25@@ -105,13 +105,11 @@ static int __init omap4_pm_init(void)
26
27 pr_err("Power Management for TI OMAP4.\n");
28
29-#ifdef CONFIG_PM
30 ret = pwrdm_for_each(pwrdms_setup, NULL);
31 if (ret) {
32 pr_err("Failed to setup powerdomains\n");
33 goto err2;
34 }
35-#endif
36
37 #ifdef CONFIG_SUSPEND
38 suspend_set_ops(&omap_pm_ops);
39--
401.6.6.1
41
diff --git a/recipes-kernel/linux/linux-omap-2.6.39/pm/linux-omap-2.6.39-ti-pm/0003-OMAP3-smartreflex-fix-sr_late_init-error-path-in-pro.patch b/recipes-kernel/linux/linux-omap-2.6.39/pm/linux-omap-2.6.39-ti-pm/0003-OMAP3-smartreflex-fix-sr_late_init-error-path-in-pro.patch
new file mode 100644
index 00000000..8e6a11bb
--- /dev/null
+++ b/recipes-kernel/linux/linux-omap-2.6.39/pm/linux-omap-2.6.39-ti-pm/0003-OMAP3-smartreflex-fix-sr_late_init-error-path-in-pro.patch
@@ -0,0 +1,30 @@
1From c57f8521c772b2a934dc090d68d7ca3b33c99a46 Mon Sep 17 00:00:00 2001
2From: Aaro Koskinen <aaro.koskinen@nokia.com>
3Date: Thu, 24 Mar 2011 18:35:31 +0200
4Subject: [PATCH 03/12] OMAP3+: smartreflex: fix sr_late_init() error path in probe
5
6sr_late_init() will take care of freeing the resources.
7
8Signed-off-by: Aaro Koskinen <aaro.koskinen@nokia.com>
9Signed-off-by: Kevin Hilman <khilman@ti.com>
10Signed-off-by: Koen Kooi <koen@dominion.thruhere.net>
11---
12 arch/arm/mach-omap2/smartreflex.c | 2 +-
13 1 files changed, 1 insertions(+), 1 deletions(-)
14
15diff --git a/arch/arm/mach-omap2/smartreflex.c b/arch/arm/mach-omap2/smartreflex.c
16index 13e24f9..dbc4b6f 100644
17--- a/arch/arm/mach-omap2/smartreflex.c
18+++ b/arch/arm/mach-omap2/smartreflex.c
19@@ -883,7 +883,7 @@ static int __init omap_sr_probe(struct platform_device *pdev)
20 ret = sr_late_init(sr_info);
21 if (ret) {
22 pr_warning("%s: Error in SR late init\n", __func__);
23- goto err_release_region;
24+ return ret;
25 }
26 }
27
28--
291.6.6.1
30
diff --git a/recipes-kernel/linux/linux-omap-2.6.39/pm/linux-omap-2.6.39-ti-pm/0004-OMAP3-smartreflex-request-the-memory-region.patch b/recipes-kernel/linux/linux-omap-2.6.39/pm/linux-omap-2.6.39-ti-pm/0004-OMAP3-smartreflex-request-the-memory-region.patch
new file mode 100644
index 00000000..335f092a
--- /dev/null
+++ b/recipes-kernel/linux/linux-omap-2.6.39/pm/linux-omap-2.6.39-ti-pm/0004-OMAP3-smartreflex-request-the-memory-region.patch
@@ -0,0 +1,36 @@
1From e09d0dd5be3f582aaf4626b3be0eeba42ca598bd Mon Sep 17 00:00:00 2001
2From: Aaro Koskinen <aaro.koskinen@nokia.com>
3Date: Thu, 24 Mar 2011 18:35:32 +0200
4Subject: [PATCH 04/12] OMAP3+: smartreflex: request the memory region
5
6We are releasing the memory region, but never actually request it.
7
8Signed-off-by: Aaro Koskinen <aaro.koskinen@nokia.com>
9Signed-off-by: Kevin Hilman <khilman@ti.com>
10Signed-off-by: Koen Kooi <koen@dominion.thruhere.net>
11---
12 arch/arm/mach-omap2/smartreflex.c | 8 ++++++++
13 1 files changed, 8 insertions(+), 0 deletions(-)
14
15diff --git a/arch/arm/mach-omap2/smartreflex.c b/arch/arm/mach-omap2/smartreflex.c
16index dbc4b6f..703143a 100644
17--- a/arch/arm/mach-omap2/smartreflex.c
18+++ b/arch/arm/mach-omap2/smartreflex.c
19@@ -847,6 +847,14 @@ static int __init omap_sr_probe(struct platform_device *pdev)
20 goto err_free_devinfo;
21 }
22
23+ mem = request_mem_region(mem->start, resource_size(mem),
24+ dev_name(&pdev->dev));
25+ if (!mem) {
26+ dev_err(&pdev->dev, "%s: no mem region\n", __func__);
27+ ret = -EBUSY;
28+ goto err_free_devinfo;
29+ }
30+
31 irq = platform_get_resource(pdev, IORESOURCE_IRQ, 0);
32
33 pm_runtime_enable(&pdev->dev);
34--
351.6.6.1
36
diff --git a/recipes-kernel/linux/linux-omap-2.6.39/pm/linux-omap-2.6.39-ti-pm/0005-OMAP3-smartreflex-fix-ioremap-leak-on-probe-error.patch b/recipes-kernel/linux/linux-omap-2.6.39/pm/linux-omap-2.6.39-ti-pm/0005-OMAP3-smartreflex-fix-ioremap-leak-on-probe-error.patch
new file mode 100644
index 00000000..7783da7c
--- /dev/null
+++ b/recipes-kernel/linux/linux-omap-2.6.39/pm/linux-omap-2.6.39-ti-pm/0005-OMAP3-smartreflex-fix-ioremap-leak-on-probe-error.patch
@@ -0,0 +1,66 @@
1From ca7c837b7f6c37c86d0646774a60d82848557411 Mon Sep 17 00:00:00 2001
2From: Aaro Koskinen <aaro.koskinen@nokia.com>
3Date: Thu, 24 Mar 2011 18:35:33 +0200
4Subject: [PATCH 05/12] OMAP3+: smartreflex: fix ioremap leak on probe error
5
6Add missing iounmap() to error paths.
7
8Signed-off-by: Aaro Koskinen <aaro.koskinen@nokia.com>
9Signed-off-by: Kevin Hilman <khilman@ti.com>
10Signed-off-by: Koen Kooi <koen@dominion.thruhere.net>
11---
12 arch/arm/mach-omap2/smartreflex.c | 10 ++++++----
13 1 files changed, 6 insertions(+), 4 deletions(-)
14
15diff --git a/arch/arm/mach-omap2/smartreflex.c b/arch/arm/mach-omap2/smartreflex.c
16index 703143a..156807e 100644
17--- a/arch/arm/mach-omap2/smartreflex.c
18+++ b/arch/arm/mach-omap2/smartreflex.c
19@@ -904,7 +904,7 @@ static int __init omap_sr_probe(struct platform_device *pdev)
20 vdd_dbg_dir = omap_voltage_get_dbgdir(sr_info->voltdm);
21 if (!vdd_dbg_dir) {
22 ret = -EINVAL;
23- goto err_release_region;
24+ goto err_iounmap;
25 }
26
27 sr_info->dbg_dir = debugfs_create_dir("smartreflex", vdd_dbg_dir);
28@@ -912,7 +912,7 @@ static int __init omap_sr_probe(struct platform_device *pdev)
29 dev_err(&pdev->dev, "%s: Unable to create debugfs directory\n",
30 __func__);
31 ret = PTR_ERR(sr_info->dbg_dir);
32- goto err_release_region;
33+ goto err_iounmap;
34 }
35
36 (void) debugfs_create_file("autocomp", S_IRUGO | S_IWUSR,
37@@ -929,7 +929,7 @@ static int __init omap_sr_probe(struct platform_device *pdev)
38 dev_err(&pdev->dev, "%s: Unable to create debugfs directory"
39 "for n-values\n", __func__);
40 ret = PTR_ERR(nvalue_dir);
41- goto err_release_region;
42+ goto err_iounmap;
43 }
44
45 omap_voltage_get_volttable(sr_info->voltdm, &volt_data);
46@@ -939,7 +939,7 @@ static int __init omap_sr_probe(struct platform_device *pdev)
47 "entries for n-values\n",
48 __func__, sr_info->voltdm->name);
49 ret = -ENODATA;
50- goto err_release_region;
51+ goto err_iounmap;
52 }
53
54 for (i = 0; i < sr_info->nvalue_count; i++) {
55@@ -953,6 +953,8 @@ static int __init omap_sr_probe(struct platform_device *pdev)
56
57 return ret;
58
59+err_iounmap:
60+ iounmap(sr_info->base);
61 err_release_region:
62 release_mem_region(mem->start, resource_size(mem));
63 err_free_devinfo:
64--
651.6.6.1
66
diff --git a/recipes-kernel/linux/linux-omap-2.6.39/pm/linux-omap-2.6.39-ti-pm/0006-OMAP3-smartreflex-delete-instance-from-sr_list-on-pr.patch b/recipes-kernel/linux/linux-omap-2.6.39/pm/linux-omap-2.6.39-ti-pm/0006-OMAP3-smartreflex-delete-instance-from-sr_list-on-pr.patch
new file mode 100644
index 00000000..8c5fe19d
--- /dev/null
+++ b/recipes-kernel/linux/linux-omap-2.6.39/pm/linux-omap-2.6.39-ti-pm/0006-OMAP3-smartreflex-delete-instance-from-sr_list-on-pr.patch
@@ -0,0 +1,29 @@
1From 11af4217e7e6c2c21d1fe9e5f317a5baabf9a361 Mon Sep 17 00:00:00 2001
2From: Aaro Koskinen <aaro.koskinen@nokia.com>
3Date: Thu, 24 Mar 2011 18:35:34 +0200
4Subject: [PATCH 06/12] OMAP3+: smartreflex: delete instance from sr_list on probe error
5
6If the probe fails, the node should be deleted from sr_list.
7
8Signed-off-by: Aaro Koskinen <aaro.koskinen@nokia.com>
9Signed-off-by: Kevin Hilman <khilman@ti.com>
10Signed-off-by: Koen Kooi <koen@dominion.thruhere.net>
11---
12 arch/arm/mach-omap2/smartreflex.c | 1 +
13 1 files changed, 1 insertions(+), 0 deletions(-)
14
15diff --git a/arch/arm/mach-omap2/smartreflex.c b/arch/arm/mach-omap2/smartreflex.c
16index 156807e..f0a488a 100644
17--- a/arch/arm/mach-omap2/smartreflex.c
18+++ b/arch/arm/mach-omap2/smartreflex.c
19@@ -954,6 +954,7 @@ static int __init omap_sr_probe(struct platform_device *pdev)
20 return ret;
21
22 err_iounmap:
23+ list_del(&sr_info->node);
24 iounmap(sr_info->base);
25 err_release_region:
26 release_mem_region(mem->start, resource_size(mem));
27--
281.6.6.1
29
diff --git a/recipes-kernel/linux/linux-omap-2.6.39/pm/linux-omap-2.6.39-ti-pm/0007-OMAP3-smartreflex-delete-debugfs-entries-on-probe-er.patch b/recipes-kernel/linux/linux-omap-2.6.39/pm/linux-omap-2.6.39-ti-pm/0007-OMAP3-smartreflex-delete-debugfs-entries-on-probe-er.patch
new file mode 100644
index 00000000..1f4d43c8
--- /dev/null
+++ b/recipes-kernel/linux/linux-omap-2.6.39/pm/linux-omap-2.6.39-ti-pm/0007-OMAP3-smartreflex-delete-debugfs-entries-on-probe-er.patch
@@ -0,0 +1,48 @@
1From d4ead89805d1146f79a3204467eecb19dcdc442a Mon Sep 17 00:00:00 2001
2From: Aaro Koskinen <aaro.koskinen@nokia.com>
3Date: Thu, 24 Mar 2011 18:35:35 +0200
4Subject: [PATCH 07/12] OMAP3+: smartreflex: delete debugfs entries on probe error
5
6Delete created debugfs entries if probe fails.
7
8Signed-off-by: Aaro Koskinen <aaro.koskinen@nokia.com>
9Signed-off-by: Kevin Hilman <khilman@ti.com>
10Signed-off-by: Koen Kooi <koen@dominion.thruhere.net>
11---
12 arch/arm/mach-omap2/smartreflex.c | 6 ++++--
13 1 files changed, 4 insertions(+), 2 deletions(-)
14
15diff --git a/arch/arm/mach-omap2/smartreflex.c b/arch/arm/mach-omap2/smartreflex.c
16index f0a488a..fb7dc52 100644
17--- a/arch/arm/mach-omap2/smartreflex.c
18+++ b/arch/arm/mach-omap2/smartreflex.c
19@@ -929,7 +929,7 @@ static int __init omap_sr_probe(struct platform_device *pdev)
20 dev_err(&pdev->dev, "%s: Unable to create debugfs directory"
21 "for n-values\n", __func__);
22 ret = PTR_ERR(nvalue_dir);
23- goto err_iounmap;
24+ goto err_debugfs;
25 }
26
27 omap_voltage_get_volttable(sr_info->voltdm, &volt_data);
28@@ -939,7 +939,7 @@ static int __init omap_sr_probe(struct platform_device *pdev)
29 "entries for n-values\n",
30 __func__, sr_info->voltdm->name);
31 ret = -ENODATA;
32- goto err_iounmap;
33+ goto err_debugfs;
34 }
35
36 for (i = 0; i < sr_info->nvalue_count; i++) {
37@@ -953,6 +953,8 @@ static int __init omap_sr_probe(struct platform_device *pdev)
38
39 return ret;
40
41+err_debugfs:
42+ debugfs_remove_recursive(sr_info->dbg_dir);
43 err_iounmap:
44 list_del(&sr_info->node);
45 iounmap(sr_info->base);
46--
471.6.6.1
48
diff --git a/recipes-kernel/linux/linux-omap-2.6.39/pm/linux-omap-2.6.39-ti-pm/0008-OMAP3-cpuidle-remove-useless-SDP-specific-timings.patch b/recipes-kernel/linux/linux-omap-2.6.39/pm/linux-omap-2.6.39-ti-pm/0008-OMAP3-cpuidle-remove-useless-SDP-specific-timings.patch
new file mode 100644
index 00000000..185454e3
--- /dev/null
+++ b/recipes-kernel/linux/linux-omap-2.6.39/pm/linux-omap-2.6.39-ti-pm/0008-OMAP3-cpuidle-remove-useless-SDP-specific-timings.patch
@@ -0,0 +1,57 @@
1From 9f4d8f56ce3268ee3e2efc9489d50d66d361f32d Mon Sep 17 00:00:00 2001
2From: Jean Pihet <j-pihet@ti.com>
3Date: Fri, 29 Apr 2011 11:26:22 +0200
4Subject: [PATCH 08/12] OMAP3 cpuidle: remove useless SDP specific timings
5
6The cpuidle states settings can be overriden by some board-
7specific settings, by calling omap3_pm_init_cpuidle.
8Remove the 3430SDP specific states settings registration
9since the figures are identical to the default ones (in cpuidle34xx.c).
10
11Signed-off-by: Jean Pihet <j-pihet@ti.com>
12Signed-off-by: Kevin Hilman <khilman@ti.com>
13Signed-off-by: Koen Kooi <koen@dominion.thruhere.net>
14---
15 arch/arm/mach-omap2/board-3430sdp.c | 19 -------------------
16 1 files changed, 0 insertions(+), 19 deletions(-)
17
18diff --git a/arch/arm/mach-omap2/board-3430sdp.c b/arch/arm/mach-omap2/board-3430sdp.c
19index 9afd087..7ffad7b 100644
20--- a/arch/arm/mach-omap2/board-3430sdp.c
21+++ b/arch/arm/mach-omap2/board-3430sdp.c
22@@ -59,24 +59,6 @@
23
24 #define TWL4030_MSECURE_GPIO 22
25
26-/* FIXME: These values need to be updated based on more profiling on 3430sdp*/
27-static struct cpuidle_params omap3_cpuidle_params_table[] = {
28- /* C1 */
29- {1, 2, 2, 5},
30- /* C2 */
31- {1, 10, 10, 30},
32- /* C3 */
33- {1, 50, 50, 300},
34- /* C4 */
35- {1, 1500, 1800, 4000},
36- /* C5 */
37- {1, 2500, 7500, 12000},
38- /* C6 */
39- {1, 3000, 8500, 15000},
40- /* C7 */
41- {1, 10000, 30000, 300000},
42-};
43-
44 static uint32_t board_keymap[] = {
45 KEY(0, 0, KEY_LEFT),
46 KEY(0, 1, KEY_RIGHT),
47@@ -883,7 +865,6 @@ static void __init omap_3430sdp_init(void)
48 omap3_mux_init(board_mux, OMAP_PACKAGE_CBB);
49 omap_board_config = sdp3430_config;
50 omap_board_config_size = ARRAY_SIZE(sdp3430_config);
51- omap3_pm_init_cpuidle(omap3_cpuidle_params_table);
52 omap3430_i2c_init();
53 omap_display_init(&sdp3430_dss_data);
54 if (omap_rev() > OMAP3430_REV_ES1_0)
55--
561.6.6.1
57
diff --git a/recipes-kernel/linux/linux-omap-2.6.39/pm/linux-omap-2.6.39-ti-pm/0009-OMAP3-SR-make-notify-independent-of-class.patch b/recipes-kernel/linux/linux-omap-2.6.39/pm/linux-omap-2.6.39-ti-pm/0009-OMAP3-SR-make-notify-independent-of-class.patch
new file mode 100644
index 00000000..88a45ba3
--- /dev/null
+++ b/recipes-kernel/linux/linux-omap-2.6.39/pm/linux-omap-2.6.39-ti-pm/0009-OMAP3-SR-make-notify-independent-of-class.patch
@@ -0,0 +1,48 @@
1From 62629e3664ff1e3c9b34b94b81eafa153671e1ed Mon Sep 17 00:00:00 2001
2From: Nishanth Menon <nm@ti.com>
3Date: Mon, 14 Feb 2011 12:16:36 +0530
4Subject: [PATCH 09/12] OMAP3+: SR: make notify independent of class
5
6Interrupt notification mechanism of SmartReflex can be used by the
7choice of implementation of the class driver. For example, Class 2 and
8Class 1.5 of SmartReflex can both use the interrupt notification to
9identify the transition of voltage or other events.
10
11Hence, the actual class does not matter for notifier. Let the class
12driver's handling decide how it should be used. SmartReflex driver
13should provide just the primitives.
14
15Signed-off-by: Nishanth Menon <nm@ti.com>
16Signed-off-by: Kevin Hilman <khilman@ti.com>
17Signed-off-by: Koen Kooi <koen@dominion.thruhere.net>
18---
19 arch/arm/mach-omap2/smartreflex.c | 6 ++----
20 1 files changed, 2 insertions(+), 4 deletions(-)
21
22diff --git a/arch/arm/mach-omap2/smartreflex.c b/arch/arm/mach-omap2/smartreflex.c
23index fb7dc52..3ee7261 100644
24--- a/arch/arm/mach-omap2/smartreflex.c
25+++ b/arch/arm/mach-omap2/smartreflex.c
26@@ -143,7 +143,7 @@ static irqreturn_t sr_interrupt(int irq, void *data)
27 sr_write_reg(sr_info, IRQSTATUS, status);
28 }
29
30- if (sr_class->class_type == SR_CLASS2 && sr_class->notify)
31+ if (sr_class->notify)
32 sr_class->notify(sr_info->voltdm, status);
33
34 return IRQ_HANDLED;
35@@ -258,9 +258,7 @@ static int sr_late_init(struct omap_sr *sr_info)
36 struct resource *mem;
37 int ret = 0;
38
39- if (sr_class->class_type == SR_CLASS2 &&
40- sr_class->notify_flags && sr_info->irq) {
41-
42+ if (sr_class->notify && sr_class->notify_flags && sr_info->irq) {
43 name = kasprintf(GFP_KERNEL, "sr_%s", sr_info->voltdm->name);
44 if (name == NULL) {
45 ret = -ENOMEM;
46--
471.6.6.1
48
diff --git a/recipes-kernel/linux/linux-omap-2.6.39/pm/linux-omap-2.6.39-ti-pm/0010-OMAP3-SR-disable-interrupt-by-default.patch b/recipes-kernel/linux/linux-omap-2.6.39/pm/linux-omap-2.6.39-ti-pm/0010-OMAP3-SR-disable-interrupt-by-default.patch
new file mode 100644
index 00000000..da171b02
--- /dev/null
+++ b/recipes-kernel/linux/linux-omap-2.6.39/pm/linux-omap-2.6.39-ti-pm/0010-OMAP3-SR-disable-interrupt-by-default.patch
@@ -0,0 +1,37 @@
1From 4aa0f416a44a7053d223f80a8e4be9d0ebdd31ae Mon Sep 17 00:00:00 2001
2From: Nishanth Menon <nm@ti.com>
3Date: Mon, 14 Feb 2011 12:41:10 +0530
4Subject: [PATCH 10/12] OMAP3+: SR: disable interrupt by default
5
6We will enable and disable interrupt on a need basis in the class
7driver. We need to keep the IRQ disabled by default else the
8forceupdate or vcbypass events could trigger events that we don't
9need/expect to handle.
10
11This is a preparation for SmartReflex AVS class drivers such as
12class 2 and class 1.5 which would need to use interrupts. Existing
13SmartReflex AVS class 3 driver does not require to use interrupts
14and is not impacted by this change.
15
16Signed-off-by: Nishanth Menon <nm@ti.com>
17Signed-off-by: Kevin Hilman <khilman@ti.com>
18Signed-off-by: Koen Kooi <koen@dominion.thruhere.net>
19---
20 arch/arm/mach-omap2/smartreflex.c | 1 +
21 1 files changed, 1 insertions(+), 0 deletions(-)
22
23diff --git a/arch/arm/mach-omap2/smartreflex.c b/arch/arm/mach-omap2/smartreflex.c
24index 3ee7261..616ef62 100644
25--- a/arch/arm/mach-omap2/smartreflex.c
26+++ b/arch/arm/mach-omap2/smartreflex.c
27@@ -268,6 +268,7 @@ static int sr_late_init(struct omap_sr *sr_info)
28 0, name, (void *)sr_info);
29 if (ret)
30 goto error;
31+ disable_irq(sr_info->irq);
32 }
33
34 if (pdata && pdata->enable_on_init)
35--
361.6.6.1
37
diff --git a/recipes-kernel/linux/linux-omap-2.6.39/pm/linux-omap-2.6.39-ti-pm/0011-OMAP3-SR-enable-disable-SR-only-on-need.patch b/recipes-kernel/linux/linux-omap-2.6.39/pm/linux-omap-2.6.39-ti-pm/0011-OMAP3-SR-enable-disable-SR-only-on-need.patch
new file mode 100644
index 00000000..925beddc
--- /dev/null
+++ b/recipes-kernel/linux/linux-omap-2.6.39/pm/linux-omap-2.6.39-ti-pm/0011-OMAP3-SR-enable-disable-SR-only-on-need.patch
@@ -0,0 +1,41 @@
1From aa44b466398b8b104c07ff1b7209509300fc4f47 Mon Sep 17 00:00:00 2001
2From: Nishanth Menon <nm@ti.com>
3Date: Mon, 14 Feb 2011 21:14:17 +0530
4Subject: [PATCH 11/12] OMAP3+: SR: enable/disable SR only on need
5
6Since we already know the state of the autocomp enablement, we can
7see if the requested state is different from the current state and
8enable/disable SR only on the need basis.
9
10Signed-off-by: Nishanth Menon <nm@ti.com>
11Signed-off-by: Kevin Hilman <khilman@ti.com>
12Signed-off-by: Koen Kooi <koen@dominion.thruhere.net>
13---
14 arch/arm/mach-omap2/smartreflex.c | 11 +++++++----
15 1 files changed, 7 insertions(+), 4 deletions(-)
16
17diff --git a/arch/arm/mach-omap2/smartreflex.c b/arch/arm/mach-omap2/smartreflex.c
18index 616ef62..3bd9fac 100644
19--- a/arch/arm/mach-omap2/smartreflex.c
20+++ b/arch/arm/mach-omap2/smartreflex.c
21@@ -807,10 +807,13 @@ static int omap_sr_autocomp_store(void *data, u64 val)
22 return -EINVAL;
23 }
24
25- if (!val)
26- sr_stop_vddautocomp(sr_info);
27- else
28- sr_start_vddautocomp(sr_info);
29+ /* control enable/disable only if there is a delta in value */
30+ if (sr_info->autocomp_active != val) {
31+ if (!val)
32+ sr_stop_vddautocomp(sr_info);
33+ else
34+ sr_start_vddautocomp(sr_info);
35+ }
36
37 return 0;
38 }
39--
401.6.6.1
41
diff --git a/recipes-kernel/linux/linux-omap-2.6.39/pm/linux-omap-2.6.39-ti-pm/0012-OMAP3-SR-fix-cosmetic-indentation.patch b/recipes-kernel/linux/linux-omap-2.6.39/pm/linux-omap-2.6.39-ti-pm/0012-OMAP3-SR-fix-cosmetic-indentation.patch
new file mode 100644
index 00000000..7241112e
--- /dev/null
+++ b/recipes-kernel/linux/linux-omap-2.6.39/pm/linux-omap-2.6.39-ti-pm/0012-OMAP3-SR-fix-cosmetic-indentation.patch
@@ -0,0 +1,49 @@
1From 0ea922a6c65ea07b685ec05085dd5d3ec4ac87e2 Mon Sep 17 00:00:00 2001
2From: Nishanth Menon <nm@ti.com>
3Date: Mon, 14 Feb 2011 12:33:13 +0530
4Subject: [PATCH 12/12] OMAP3+: SR: fix cosmetic indentation
5
6Error label case seems to have a 2 tab indentation when just 1 is
7necessary.
8
9Signed-off-by: Nishanth Menon <nm@ti.com>
10Signed-off-by: Kevin Hilman <khilman@ti.com>
11Signed-off-by: Koen Kooi <koen@dominion.thruhere.net>
12---
13 arch/arm/mach-omap2/smartreflex.c | 20 ++++++++++----------
14 1 files changed, 10 insertions(+), 10 deletions(-)
15
16diff --git a/arch/arm/mach-omap2/smartreflex.c b/arch/arm/mach-omap2/smartreflex.c
17index 3bd9fac..2ce2fb7 100644
18--- a/arch/arm/mach-omap2/smartreflex.c
19+++ b/arch/arm/mach-omap2/smartreflex.c
20@@ -277,16 +277,16 @@ static int sr_late_init(struct omap_sr *sr_info)
21 return ret;
22
23 error:
24- iounmap(sr_info->base);
25- mem = platform_get_resource(sr_info->pdev, IORESOURCE_MEM, 0);
26- release_mem_region(mem->start, resource_size(mem));
27- list_del(&sr_info->node);
28- dev_err(&sr_info->pdev->dev, "%s: ERROR in registering"
29- "interrupt handler. Smartreflex will"
30- "not function as desired\n", __func__);
31- kfree(name);
32- kfree(sr_info);
33- return ret;
34+ iounmap(sr_info->base);
35+ mem = platform_get_resource(sr_info->pdev, IORESOURCE_MEM, 0);
36+ release_mem_region(mem->start, resource_size(mem));
37+ list_del(&sr_info->node);
38+ dev_err(&sr_info->pdev->dev, "%s: ERROR in registering"
39+ "interrupt handler. Smartreflex will"
40+ "not function as desired\n", __func__);
41+ kfree(name);
42+ kfree(sr_info);
43+ return ret;
44 }
45
46 static void sr_v1_disable(struct omap_sr *sr)
47--
481.6.6.1
49
diff --git a/recipes-kernel/linux/linux-omap_2.6.39.bb b/recipes-kernel/linux/linux-omap_2.6.39.bb
index 64ddd4ab..23b1e397 100644
--- a/recipes-kernel/linux/linux-omap_2.6.39.bb
+++ b/recipes-kernel/linux/linux-omap_2.6.39.bb
@@ -7,7 +7,7 @@ COMPATIBLE_MACHINE = "(beagleboard)"
7 7
8# The main PR is now using MACHINE_KERNEL_PR, for omap3 see conf/machine/include/omap3.inc 8# The main PR is now using MACHINE_KERNEL_PR, for omap3 see conf/machine/include/omap3.inc
9SRCREV_pn-${PN} = "v2.6.39" 9SRCREV_pn-${PN} = "v2.6.39"
10MACHINE_KERNEL_PR_append = "a" 10MACHINE_KERNEL_PR_append = "b"
11 11
12FILESPATHPKG_prepend = "linux-omap-2.6.39:" 12FILESPATHPKG_prepend = "linux-omap-2.6.39:"
13 13
@@ -50,6 +50,19 @@ SRC_URI_append = " \
50 file://beagle/0002-OMAP3-beagle-add-support-for-expansionboards.patch \ 50 file://beagle/0002-OMAP3-beagle-add-support-for-expansionboards.patch \
51 file://beagle/0003-OMAP3-beagle-add-MADC-support.patch \ 51 file://beagle/0003-OMAP3-beagle-add-MADC-support.patch \
52 \ 52 \
53 file://pm/linux-omap-2.6.39-ti-pm/0001-OMAP3-voltage-remove-spurious-pr_notice-for-debugfs.patch \
54 file://pm/linux-omap-2.6.39-ti-pm/0002-OMAP4-PM-remove-redundant-ifdef-CONFIG_PM.patch \
55 file://pm/linux-omap-2.6.39-ti-pm/0003-OMAP3-smartreflex-fix-sr_late_init-error-path-in-pro.patch \
56 file://pm/linux-omap-2.6.39-ti-pm/0004-OMAP3-smartreflex-request-the-memory-region.patch \
57 file://pm/linux-omap-2.6.39-ti-pm/0005-OMAP3-smartreflex-fix-ioremap-leak-on-probe-error.patch \
58 file://pm/linux-omap-2.6.39-ti-pm/0006-OMAP3-smartreflex-delete-instance-from-sr_list-on-pr.patch \
59 file://pm/linux-omap-2.6.39-ti-pm/0007-OMAP3-smartreflex-delete-debugfs-entries-on-probe-er.patch \
60 file://pm/linux-omap-2.6.39-ti-pm/0008-OMAP3-cpuidle-remove-useless-SDP-specific-timings.patch \
61 file://pm/linux-omap-2.6.39-ti-pm/0009-OMAP3-SR-make-notify-independent-of-class.patch \
62 file://pm/linux-omap-2.6.39-ti-pm/0010-OMAP3-SR-disable-interrupt-by-default.patch \
63 file://pm/linux-omap-2.6.39-ti-pm/0011-OMAP3-SR-enable-disable-SR-only-on-need.patch \
64 file://pm/linux-omap-2.6.39-ti-pm/0012-OMAP3-SR-fix-cosmetic-indentation.patch \
65 \
53 file://pm/linux-omap-2.6.39-ti-pm-wip-cpufreq/0001-OMAP-CPUfreq-ensure-driver-initializes-after-cpufreq.patch \ 66 file://pm/linux-omap-2.6.39-ti-pm-wip-cpufreq/0001-OMAP-CPUfreq-ensure-driver-initializes-after-cpufreq.patch \
54 file://pm/linux-omap-2.6.39-ti-pm-wip-cpufreq/0002-OMAP-CPUfreq-ensure-policy-is-fully-initialized.patch \ 67 file://pm/linux-omap-2.6.39-ti-pm-wip-cpufreq/0002-OMAP-CPUfreq-ensure-policy-is-fully-initialized.patch \
55 file://pm/linux-omap-2.6.39-ti-pm-wip-cpufreq/0003-OMAP3-PM-CPUFreq-driver-for-OMAP3.patch \ 68 file://pm/linux-omap-2.6.39-ti-pm-wip-cpufreq/0003-OMAP3-PM-CPUFreq-driver-for-OMAP3.patch \