diff options
author | Denys Dmytriyenko <denys@ti.com> | 2013-09-28 16:37:39 -0400 |
---|---|---|
committer | Denys Dmytriyenko <denys@ti.com> | 2013-09-30 16:36:04 -0400 |
commit | c168b9dca4ec2b10df5c67fc8d0db4b57eb822f7 (patch) | |
tree | c3f254bd317e699f56d8abda4e6bc852fc1fbb8a /recipes-kernel/linux/linux-3.0/sakoman | |
parent | 8c96f41ba6e3160d0826e112599285cf64541257 (diff) | |
download | meta-ti-c168b9dca4ec2b10df5c67fc8d0db4b57eb822f7.tar.gz |
linux-3.0: remove old beagleboard-specific 3.0 and 3.1rc kernel recipes
Beagleboard is supported by newer 3.2 and 3.3.7 kernel recipes.
Signed-off-by: Denys Dmytriyenko <denys@ti.com>
Acked-by: Franklin Cooper Jr. <fcooper@ti.com>
Diffstat (limited to 'recipes-kernel/linux/linux-3.0/sakoman')
14 files changed, 0 insertions, 635 deletions
diff --git a/recipes-kernel/linux/linux-3.0/sakoman/0001-mmc-don-t-display-single-block-read-console-messages.patch b/recipes-kernel/linux/linux-3.0/sakoman/0001-mmc-don-t-display-single-block-read-console-messages.patch deleted file mode 100644 index 8c1fabaf..00000000 --- a/recipes-kernel/linux/linux-3.0/sakoman/0001-mmc-don-t-display-single-block-read-console-messages.patch +++ /dev/null | |||
@@ -1,28 +0,0 @@ | |||
1 | From cc8c276d530520ce822a1d0e8d748f7b9e54a2d5 Mon Sep 17 00:00:00 2001 | ||
2 | From: Steve Sakoman <steve@sakoman.com> | ||
3 | Date: Mon, 4 Jan 2010 19:20:25 -0800 | ||
4 | Subject: [PATCH 01/14] mmc: don't display single block read console messages | ||
5 | |||
6 | mmc: don't display single block read console messages | ||
7 | --- | ||
8 | drivers/mmc/card/block.c | 4 ++-- | ||
9 | 1 files changed, 2 insertions(+), 2 deletions(-) | ||
10 | |||
11 | diff --git a/drivers/mmc/card/block.c b/drivers/mmc/card/block.c | ||
12 | index f85e422..0025735 100644 | ||
13 | --- a/drivers/mmc/card/block.c | ||
14 | +++ b/drivers/mmc/card/block.c | ||
15 | @@ -812,8 +812,8 @@ static int mmc_blk_issue_rw_rq(struct mmc_queue *mq, struct request *req) | ||
16 | brq.data.error || brq.stop.error) { | ||
17 | if (brq.data.blocks > 1 && rq_data_dir(req) == READ) { | ||
18 | /* Redo read one sector at a time */ | ||
19 | - printk(KERN_WARNING "%s: retrying using single " | ||
20 | - "block read\n", req->rq_disk->disk_name); | ||
21 | + /* printk(KERN_WARNING "%s: retrying using single " | ||
22 | + "block read\n", req->rq_disk->disk_name); */ | ||
23 | disable_multi = 1; | ||
24 | continue; | ||
25 | } | ||
26 | -- | ||
27 | 1.7.2.5 | ||
28 | |||
diff --git a/recipes-kernel/linux/linux-3.0/sakoman/0002-omap-Change-omap_device-activate-dectivate-latency-m.patch b/recipes-kernel/linux/linux-3.0/sakoman/0002-omap-Change-omap_device-activate-dectivate-latency-m.patch deleted file mode 100644 index 54305bde..00000000 --- a/recipes-kernel/linux/linux-3.0/sakoman/0002-omap-Change-omap_device-activate-dectivate-latency-m.patch +++ /dev/null | |||
@@ -1,49 +0,0 @@ | |||
1 | From a2e59d4041e8c42e21d90c0696ea8437a0cfc866 Mon Sep 17 00:00:00 2001 | ||
2 | From: Steve Sakoman <steve@sakoman.com> | ||
3 | Date: Mon, 23 May 2011 12:16:50 -0700 | ||
4 | Subject: [PATCH 02/14] omap: Change omap_device activate/dectivate latency messages from pr_warning to pr_debug | ||
5 | |||
6 | Messages can be safely ignored, so reduce console noise | ||
7 | |||
8 | Signed-off-by: Steve Sakoman <steve@sakoman.com> | ||
9 | --- | ||
10 | arch/arm/plat-omap/omap_device.c | 8 ++++---- | ||
11 | 1 files changed, 4 insertions(+), 4 deletions(-) | ||
12 | |||
13 | diff --git a/arch/arm/plat-omap/omap_device.c b/arch/arm/plat-omap/omap_device.c | ||
14 | index be45147..e3d9520 100644 | ||
15 | --- a/arch/arm/plat-omap/omap_device.c | ||
16 | +++ b/arch/arm/plat-omap/omap_device.c | ||
17 | @@ -146,12 +146,12 @@ static int _omap_device_activate(struct omap_device *od, u8 ignore_lat) | ||
18 | odpl->activate_lat_worst = act_lat; | ||
19 | if (odpl->flags & OMAP_DEVICE_LATENCY_AUTO_ADJUST) { | ||
20 | odpl->activate_lat = act_lat; | ||
21 | - pr_warning("omap_device: %s.%d: new worst case " | ||
22 | + pr_debug("omap_device: %s.%d: new worst case " | ||
23 | "activate latency %d: %llu\n", | ||
24 | od->pdev.name, od->pdev.id, | ||
25 | od->pm_lat_level, act_lat); | ||
26 | } else | ||
27 | - pr_warning("omap_device: %s.%d: activate " | ||
28 | + pr_debug("omap_device: %s.%d: activate " | ||
29 | "latency %d higher than exptected. " | ||
30 | "(%llu > %d)\n", | ||
31 | od->pdev.name, od->pdev.id, | ||
32 | @@ -214,12 +214,12 @@ static int _omap_device_deactivate(struct omap_device *od, u8 ignore_lat) | ||
33 | odpl->deactivate_lat_worst = deact_lat; | ||
34 | if (odpl->flags & OMAP_DEVICE_LATENCY_AUTO_ADJUST) { | ||
35 | odpl->deactivate_lat = deact_lat; | ||
36 | - pr_warning("omap_device: %s.%d: new worst case " | ||
37 | + pr_debug("omap_device: %s.%d: new worst case " | ||
38 | "deactivate latency %d: %llu\n", | ||
39 | od->pdev.name, od->pdev.id, | ||
40 | od->pm_lat_level, deact_lat); | ||
41 | } else | ||
42 | - pr_warning("omap_device: %s.%d: deactivate " | ||
43 | + pr_debug("omap_device: %s.%d: deactivate " | ||
44 | "latency %d higher than exptected. " | ||
45 | "(%llu > %d)\n", | ||
46 | od->pdev.name, od->pdev.id, | ||
47 | -- | ||
48 | 1.7.2.5 | ||
49 | |||
diff --git a/recipes-kernel/linux/linux-3.0/sakoman/0003-OMAP-DSS2-add-bootarg-for-selecting-svideo-or-compos.patch b/recipes-kernel/linux/linux-3.0/sakoman/0003-OMAP-DSS2-add-bootarg-for-selecting-svideo-or-compos.patch deleted file mode 100644 index 43562874..00000000 --- a/recipes-kernel/linux/linux-3.0/sakoman/0003-OMAP-DSS2-add-bootarg-for-selecting-svideo-or-compos.patch +++ /dev/null | |||
@@ -1,75 +0,0 @@ | |||
1 | From 630557c2785955cc0abbe4bf29b22f703a404e02 Mon Sep 17 00:00:00 2001 | ||
2 | From: Steve Sakoman <steve@sakoman.com> | ||
3 | Date: Tue, 19 Jan 2010 21:19:15 -0800 | ||
4 | Subject: [PATCH 03/14] OMAP: DSS2: add bootarg for selecting svideo or composite for tv output | ||
5 | |||
6 | also add pal-16 and ntsc-16 omapfb.mode settings for 16bpp | ||
7 | --- | ||
8 | drivers/video/omap2/dss/venc.c | 22 ++++++++++++++++++++++ | ||
9 | drivers/video/omap2/omapfb/omapfb-main.c | 10 +++++++++- | ||
10 | 2 files changed, 31 insertions(+), 1 deletions(-) | ||
11 | |||
12 | diff --git a/drivers/video/omap2/dss/venc.c b/drivers/video/omap2/dss/venc.c | ||
13 | index 980f919..4fb594d 100644 | ||
14 | --- a/drivers/video/omap2/dss/venc.c | ||
15 | +++ b/drivers/video/omap2/dss/venc.c | ||
16 | @@ -85,6 +85,11 @@ | ||
17 | #define VENC_OUTPUT_TEST 0xC8 | ||
18 | #define VENC_DAC_B__DAC_C 0xC8 | ||
19 | |||
20 | +static char *tv_connection; | ||
21 | + | ||
22 | +module_param_named(tvcable, tv_connection, charp, 0); | ||
23 | +MODULE_PARM_DESC(tvcable, "TV connection type (svideo, composite)"); | ||
24 | + | ||
25 | struct venc_config { | ||
26 | u32 f_control; | ||
27 | u32 vidout_ctrl; | ||
28 | @@ -461,6 +466,23 @@ static int venc_panel_probe(struct omap_dss_device *dssdev) | ||
29 | { | ||
30 | dssdev->panel.timings = omap_dss_pal_timings; | ||
31 | |||
32 | + /* Allow the TV output to be overriden */ | ||
33 | + if (tv_connection) { | ||
34 | + if (strcmp(tv_connection, "svideo") == 0) { | ||
35 | + printk(KERN_INFO | ||
36 | + "omapdss: tv output is svideo.\n"); | ||
37 | + dssdev->phy.venc.type = OMAP_DSS_VENC_TYPE_SVIDEO; | ||
38 | + } else if (strcmp(tv_connection, "composite") == 0) { | ||
39 | + printk(KERN_INFO | ||
40 | + "omapdss: tv output is composite.\n"); | ||
41 | + dssdev->phy.venc.type = OMAP_DSS_VENC_TYPE_COMPOSITE; | ||
42 | + } else { | ||
43 | + printk(KERN_INFO | ||
44 | + "omapdss: unsupported output type'%s'.\n", | ||
45 | + tv_connection); | ||
46 | + } | ||
47 | + } | ||
48 | + | ||
49 | return 0; | ||
50 | } | ||
51 | |||
52 | diff --git a/drivers/video/omap2/omapfb/omapfb-main.c b/drivers/video/omap2/omapfb/omapfb-main.c | ||
53 | index 505bc12..c35c1f8 100644 | ||
54 | --- a/drivers/video/omap2/omapfb/omapfb-main.c | ||
55 | +++ b/drivers/video/omap2/omapfb/omapfb-main.c | ||
56 | @@ -2002,7 +2002,15 @@ static int omapfb_mode_to_timings(const char *mode_str, | ||
57 | int r; | ||
58 | |||
59 | #ifdef CONFIG_OMAP2_DSS_VENC | ||
60 | - if (strcmp(mode_str, "pal") == 0) { | ||
61 | + if (strcmp(mode_str, "pal-16") == 0) { | ||
62 | + *timings = omap_dss_pal_timings; | ||
63 | + *bpp = 16; | ||
64 | + return 0; | ||
65 | + } else if (strcmp(mode_str, "ntsc-16") == 0) { | ||
66 | + *timings = omap_dss_ntsc_timings; | ||
67 | + *bpp = 16; | ||
68 | + return 0; | ||
69 | + } else if (strcmp(mode_str, "pal") == 0) { | ||
70 | *timings = omap_dss_pal_timings; | ||
71 | *bpp = 24; | ||
72 | return 0; | ||
73 | -- | ||
74 | 1.7.2.5 | ||
75 | |||
diff --git a/recipes-kernel/linux/linux-3.0/sakoman/0004-mtd-nand-Eliminate-noisey-uncorrectable-error-messag.patch b/recipes-kernel/linux/linux-3.0/sakoman/0004-mtd-nand-Eliminate-noisey-uncorrectable-error-messag.patch deleted file mode 100644 index 94d629b4..00000000 --- a/recipes-kernel/linux/linux-3.0/sakoman/0004-mtd-nand-Eliminate-noisey-uncorrectable-error-messag.patch +++ /dev/null | |||
@@ -1,28 +0,0 @@ | |||
1 | From bf974dd3f24e623f04422b8013d047d78d430f0e Mon Sep 17 00:00:00 2001 | ||
2 | From: Steve Sakoman <steve@sakoman.com> | ||
3 | Date: Fri, 1 Jul 2011 10:00:03 -0700 | ||
4 | Subject: [PATCH 04/14] mtd: nand: Eliminate noisey "uncorrectable error" messages | ||
5 | |||
6 | Other layers of the stack give more informative messages when __nand_correct_data() fails | ||
7 | |||
8 | Signed-off-by: Steve Sakoman <steve@sakoman.com> | ||
9 | --- | ||
10 | drivers/mtd/nand/nand_ecc.c | 2 +- | ||
11 | 1 files changed, 1 insertions(+), 1 deletions(-) | ||
12 | |||
13 | diff --git a/drivers/mtd/nand/nand_ecc.c b/drivers/mtd/nand/nand_ecc.c | ||
14 | index 271b8e7..ad55e55 100644 | ||
15 | --- a/drivers/mtd/nand/nand_ecc.c | ||
16 | +++ b/drivers/mtd/nand/nand_ecc.c | ||
17 | @@ -507,7 +507,7 @@ int __nand_correct_data(unsigned char *buf, | ||
18 | if ((bitsperbyte[b0] + bitsperbyte[b1] + bitsperbyte[b2]) == 1) | ||
19 | return 1; /* error in ecc data; no action needed */ | ||
20 | |||
21 | - printk(KERN_ERR "uncorrectable error : "); | ||
22 | + // printk(KERN_ERR "uncorrectable error : "); | ||
23 | return -1; | ||
24 | } | ||
25 | EXPORT_SYMBOL(__nand_correct_data); | ||
26 | -- | ||
27 | 1.7.2.5 | ||
28 | |||
diff --git a/recipes-kernel/linux/linux-3.0/sakoman/0005-video-add-timings-for-hd720.patch b/recipes-kernel/linux/linux-3.0/sakoman/0005-video-add-timings-for-hd720.patch deleted file mode 100644 index 2b474d64..00000000 --- a/recipes-kernel/linux/linux-3.0/sakoman/0005-video-add-timings-for-hd720.patch +++ /dev/null | |||
@@ -1,27 +0,0 @@ | |||
1 | From fbc33b30b663ec8c0d4374ba08f0608a7cc4b977 Mon Sep 17 00:00:00 2001 | ||
2 | From: Steve Sakoman <steve@sakoman.com> | ||
3 | Date: Sat, 19 Dec 2009 06:52:43 -0800 | ||
4 | Subject: [PATCH 05/14] video: add timings for hd720 | ||
5 | |||
6 | --- | ||
7 | drivers/video/modedb.c | 4 ++++ | ||
8 | 1 files changed, 4 insertions(+), 0 deletions(-) | ||
9 | |||
10 | diff --git a/drivers/video/modedb.c b/drivers/video/modedb.c | ||
11 | index cb175fe..9baead4 100644 | ||
12 | --- a/drivers/video/modedb.c | ||
13 | +++ b/drivers/video/modedb.c | ||
14 | @@ -103,6 +103,10 @@ static const struct fb_videomode modedb[] = { | ||
15 | { NULL, 70, 1024, 768, 13333, 144, 24, 29, 3, 136, 6, 0, | ||
16 | FB_VMODE_NONINTERLACED }, | ||
17 | |||
18 | + /* 1280x720 @ 60 Hz, 45 kHz hsync, CEA 681-E Format 4 */ | ||
19 | + { "hd720", 60, 1280, 720, 13468, 220, 110, 20, 5, 40, 5, 0, | ||
20 | + FB_VMODE_NONINTERLACED }, | ||
21 | + | ||
22 | /* 1280x1024 @ 87 Hz interlaced, 51 kHz hsync */ | ||
23 | { NULL, 87, 1280, 1024, 12500, 56, 16, 128, 1, 216, 12, 0, | ||
24 | FB_VMODE_INTERLACED }, | ||
25 | -- | ||
26 | 1.7.2.5 | ||
27 | |||
diff --git a/recipes-kernel/linux/linux-3.0/sakoman/0006-drivers-net-smsc911x-return-ENODEV-if-device-is-not-.patch b/recipes-kernel/linux/linux-3.0/sakoman/0006-drivers-net-smsc911x-return-ENODEV-if-device-is-not-.patch deleted file mode 100644 index b8fdba24..00000000 --- a/recipes-kernel/linux/linux-3.0/sakoman/0006-drivers-net-smsc911x-return-ENODEV-if-device-is-not-.patch +++ /dev/null | |||
@@ -1,29 +0,0 @@ | |||
1 | From 948bbae38457af6a11232375f9d95fc69641e9f4 Mon Sep 17 00:00:00 2001 | ||
2 | From: Steve Sakoman <sakoman@gmail.com> | ||
3 | Date: Tue, 15 Dec 2009 15:17:44 -0800 | ||
4 | Subject: [PATCH 06/14] drivers: net: smsc911x: return ENODEV if device is not found | ||
5 | |||
6 | Signed-off-by: Steve Sakoman <sakoman@gmail.com> | ||
7 | --- | ||
8 | drivers/net/smsc911x.c | 4 +++- | ||
9 | 1 files changed, 3 insertions(+), 1 deletions(-) | ||
10 | |||
11 | diff --git a/drivers/net/smsc911x.c b/drivers/net/smsc911x.c | ||
12 | index c6d47d1..0c7c4a2 100644 | ||
13 | --- a/drivers/net/smsc911x.c | ||
14 | +++ b/drivers/net/smsc911x.c | ||
15 | @@ -2169,8 +2169,10 @@ static int __devinit smsc911x_drv_probe(struct platform_device *pdev) | ||
16 | pdata->ops = &shifted_smsc911x_ops; | ||
17 | |||
18 | retval = smsc911x_init(dev); | ||
19 | - if (retval < 0) | ||
20 | + if (retval < 0) { | ||
21 | + retval = -ENODEV; | ||
22 | goto out_unmap_io_3; | ||
23 | + } | ||
24 | |||
25 | /* configure irq polarity and type before connecting isr */ | ||
26 | if (pdata->config.irq_polarity == SMSC911X_IRQ_POLARITY_ACTIVE_HIGH) | ||
27 | -- | ||
28 | 1.7.2.5 | ||
29 | |||
diff --git a/recipes-kernel/linux/linux-3.0/sakoman/0007-drivers-input-touchscreen-ads7846-return-ENODEV-if-d.patch b/recipes-kernel/linux/linux-3.0/sakoman/0007-drivers-input-touchscreen-ads7846-return-ENODEV-if-d.patch deleted file mode 100644 index 158c0ad6..00000000 --- a/recipes-kernel/linux/linux-3.0/sakoman/0007-drivers-input-touchscreen-ads7846-return-ENODEV-if-d.patch +++ /dev/null | |||
@@ -1,45 +0,0 @@ | |||
1 | From 34f40fe736113c2066bf86ca163a4aff8b6d061f Mon Sep 17 00:00:00 2001 | ||
2 | From: Steve Sakoman <sakoman@gmail.com> | ||
3 | Date: Tue, 15 Dec 2009 15:24:10 -0800 | ||
4 | Subject: [PATCH 07/14] drivers: input: touchscreen: ads7846: return ENODEV if device is not found | ||
5 | |||
6 | Signed-off-by: Steve Sakoman <sakoman@gmail.com> | ||
7 | --- | ||
8 | drivers/input/touchscreen/ads7846.c | 13 ++++++++++--- | ||
9 | 1 files changed, 10 insertions(+), 3 deletions(-) | ||
10 | |||
11 | diff --git a/drivers/input/touchscreen/ads7846.c b/drivers/input/touchscreen/ads7846.c | ||
12 | index 5196861..b0bd1ba 100644 | ||
13 | --- a/drivers/input/touchscreen/ads7846.c | ||
14 | +++ b/drivers/input/touchscreen/ads7846.c | ||
15 | @@ -1349,9 +1349,16 @@ static int __devinit ads7846_probe(struct spi_device *spi) | ||
16 | * the touchscreen, in case it's not connected. | ||
17 | */ | ||
18 | if (ts->model == 7845) | ||
19 | - ads7845_read12_ser(&spi->dev, PWRDOWN); | ||
20 | + err = ads7845_read12_ser(&spi->dev, PWRDOWN); | ||
21 | else | ||
22 | - (void) ads7846_read12_ser(&spi->dev, READ_12BIT_SER(vaux)); | ||
23 | + err = ads7846_read12_ser(&spi->dev, READ_12BIT_SER(vaux)); | ||
24 | + | ||
25 | + /* if sample is all 0's or all 1's then there is no device on spi */ | ||
26 | + if ( (err == 0x000) || (err == 0xfff)) { | ||
27 | + dev_info(&spi->dev, "no device detected, test read result was 0x%08X\n", err); | ||
28 | + err = -ENODEV; | ||
29 | + goto err_free_irq; | ||
30 | + } | ||
31 | |||
32 | err = sysfs_create_group(&spi->dev.kobj, &ads784x_attr_group); | ||
33 | if (err) | ||
34 | @@ -1376,7 +1383,7 @@ static int __devinit ads7846_probe(struct spi_device *spi) | ||
35 | err_put_regulator: | ||
36 | regulator_put(ts->reg); | ||
37 | err_free_gpio: | ||
38 | - if (!ts->get_pendown_state) | ||
39 | + if (!ts->get_pendown_state && ts->gpio_pendown != -1) | ||
40 | gpio_free(ts->gpio_pendown); | ||
41 | err_cleanup_filter: | ||
42 | if (ts->filter_cleanup) | ||
43 | -- | ||
44 | 1.7.2.5 | ||
45 | |||
diff --git a/recipes-kernel/linux/linux-3.0/sakoman/0008-Revert-omap2_mcspi-Flush-posted-writes.patch b/recipes-kernel/linux/linux-3.0/sakoman/0008-Revert-omap2_mcspi-Flush-posted-writes.patch deleted file mode 100644 index 8058b5c3..00000000 --- a/recipes-kernel/linux/linux-3.0/sakoman/0008-Revert-omap2_mcspi-Flush-posted-writes.patch +++ /dev/null | |||
@@ -1,27 +0,0 @@ | |||
1 | From baf40f002836b7c0fe9aeeba92ba483f6e9d2384 Mon Sep 17 00:00:00 2001 | ||
2 | From: Steve Sakoman <steve@sakoman.com> | ||
3 | Date: Thu, 3 Mar 2011 13:29:30 -0800 | ||
4 | Subject: [PATCH 08/14] Revert "omap2_mcspi: Flush posted writes" | ||
5 | |||
6 | This reverts commit a330ce2001b290c59fe98c37e981683ef0a75fdf. | ||
7 | |||
8 | The above commit breaks the ads7846 driver | ||
9 | --- | ||
10 | drivers/spi/omap2_mcspi.c | 1 - | ||
11 | 1 files changed, 0 insertions(+), 1 deletions(-) | ||
12 | |||
13 | diff --git a/drivers/spi/omap2_mcspi.c b/drivers/spi/omap2_mcspi.c | ||
14 | index 969cdd2..da981ee 100644 | ||
15 | --- a/drivers/spi/omap2_mcspi.c | ||
16 | +++ b/drivers/spi/omap2_mcspi.c | ||
17 | @@ -195,7 +195,6 @@ static inline void mcspi_write_chconf0(const struct spi_device *spi, u32 val) | ||
18 | |||
19 | cs->chconf0 = val; | ||
20 | mcspi_write_cs_reg(spi, OMAP2_MCSPI_CHCONF0, val); | ||
21 | - mcspi_read_cs_reg(spi, OMAP2_MCSPI_CHCONF0); | ||
22 | } | ||
23 | |||
24 | static void omap2_mcspi_set_dma_req(const struct spi_device *spi, | ||
25 | -- | ||
26 | 1.7.2.5 | ||
27 | |||
diff --git a/recipes-kernel/linux/linux-3.0/sakoman/0009-rtc-twl-Use-threaded-IRQ-remove-IRQ-enable-in-interr.patch b/recipes-kernel/linux/linux-3.0/sakoman/0009-rtc-twl-Use-threaded-IRQ-remove-IRQ-enable-in-interr.patch deleted file mode 100644 index 220f9749..00000000 --- a/recipes-kernel/linux/linux-3.0/sakoman/0009-rtc-twl-Use-threaded-IRQ-remove-IRQ-enable-in-interr.patch +++ /dev/null | |||
@@ -1,57 +0,0 @@ | |||
1 | From 3532a9ceb9eb81147eab751b8c124b59acc87374 Mon Sep 17 00:00:00 2001 | ||
2 | From: Todd Poynor <toddpoynor@google.com> | ||
3 | Date: Wed, 27 Jul 2011 07:07:20 +0000 | ||
4 | Subject: [PATCH 09/14] rtc: twl: Use threaded IRQ, remove IRQ enable in interrupt handler | ||
5 | |||
6 | IRQs disabled on entry to twl_rtc_interrupt is not a consequence | ||
7 | of LOCKDEP; both twl6030 and twl4030 explicitly disable IRQs | ||
8 | before calling the module IRQ handlers. | ||
9 | |||
10 | The ISR should not be enabling IRQs; use a threaded IRQ handler | ||
11 | instead. | ||
12 | |||
13 | Also fixes warnings: | ||
14 | |||
15 | WARNING: at kernel/irq/handle.c:130 handle_irq_event_percpu+nnn | ||
16 | irq nnn handler twl_rtc_interrupt+nnn enabled interrupts | ||
17 | |||
18 | Signed-off-by: Todd Poynor <toddpoynor@google.com> | ||
19 | --- | ||
20 | drivers/rtc/rtc-twl.c | 14 +++----------- | ||
21 | 1 files changed, 3 insertions(+), 11 deletions(-) | ||
22 | |||
23 | diff --git a/drivers/rtc/rtc-twl.c b/drivers/rtc/rtc-twl.c | ||
24 | index f9a2799..3fee95e 100644 | ||
25 | --- a/drivers/rtc/rtc-twl.c | ||
26 | +++ b/drivers/rtc/rtc-twl.c | ||
27 | @@ -362,14 +362,6 @@ static irqreturn_t twl_rtc_interrupt(int irq, void *rtc) | ||
28 | int res; | ||
29 | u8 rd_reg; | ||
30 | |||
31 | -#ifdef CONFIG_LOCKDEP | ||
32 | - /* WORKAROUND for lockdep forcing IRQF_DISABLED on us, which | ||
33 | - * we don't want and can't tolerate. Although it might be | ||
34 | - * friendlier not to borrow this thread context... | ||
35 | - */ | ||
36 | - local_irq_enable(); | ||
37 | -#endif | ||
38 | - | ||
39 | res = twl_rtc_read_u8(&rd_reg, REG_RTC_STATUS_REG); | ||
40 | if (res) | ||
41 | goto out; | ||
42 | @@ -462,9 +454,9 @@ static int __devinit twl_rtc_probe(struct platform_device *pdev) | ||
43 | if (ret < 0) | ||
44 | goto out1; | ||
45 | |||
46 | - ret = request_irq(irq, twl_rtc_interrupt, | ||
47 | - IRQF_TRIGGER_RISING, | ||
48 | - dev_name(&rtc->dev), rtc); | ||
49 | + ret = request_threaded_irq(irq, NULL, twl_rtc_interrupt, | ||
50 | + IRQF_TRIGGER_RISING, | ||
51 | + dev_name(&rtc->dev), rtc); | ||
52 | if (ret < 0) { | ||
53 | dev_err(&pdev->dev, "IRQ is not free.\n"); | ||
54 | goto out1; | ||
55 | -- | ||
56 | 1.7.2.5 | ||
57 | |||
diff --git a/recipes-kernel/linux/linux-3.0/sakoman/0010-rtc-twl-Fix-registration-vs.-init-order.patch b/recipes-kernel/linux/linux-3.0/sakoman/0010-rtc-twl-Fix-registration-vs.-init-order.patch deleted file mode 100644 index d710643a..00000000 --- a/recipes-kernel/linux/linux-3.0/sakoman/0010-rtc-twl-Fix-registration-vs.-init-order.patch +++ /dev/null | |||
@@ -1,122 +0,0 @@ | |||
1 | From 2cc62887b37d504df009d7241e6cebc3c65c32a5 Mon Sep 17 00:00:00 2001 | ||
2 | From: Todd Poynor <toddpoynor@google.com> | ||
3 | Date: Wed, 27 Jul 2011 07:07:21 +0000 | ||
4 | Subject: [PATCH 10/14] rtc: twl: Fix registration vs. init order | ||
5 | |||
6 | Only register as an RTC device after the hardware has been | ||
7 | successfully initialized. The RTC class driver will call | ||
8 | back to this driver to read a pending alarm, and other | ||
9 | drivers watching for new devices on the RTC class may | ||
10 | read the RTC time upon registration. Such access might | ||
11 | occur while the RTC is stopped, prior to clearing | ||
12 | pending alarms, etc. | ||
13 | |||
14 | The new ordering also avoids leaving the platform | ||
15 | device drvdata set to an unregistered struct rtc_device * | ||
16 | on probe errors. | ||
17 | |||
18 | Signed-off-by: Todd Poynor <toddpoynor@google.com> | ||
19 | --- | ||
20 | drivers/rtc/rtc-twl.c | 52 ++++++++++++++++++++++-------------------------- | ||
21 | 1 files changed, 24 insertions(+), 28 deletions(-) | ||
22 | |||
23 | diff --git a/drivers/rtc/rtc-twl.c b/drivers/rtc/rtc-twl.c | ||
24 | index 3fee95e..a64494e 100644 | ||
25 | --- a/drivers/rtc/rtc-twl.c | ||
26 | +++ b/drivers/rtc/rtc-twl.c | ||
27 | @@ -420,24 +420,12 @@ static struct rtc_class_ops twl_rtc_ops = { | ||
28 | static int __devinit twl_rtc_probe(struct platform_device *pdev) | ||
29 | { | ||
30 | struct rtc_device *rtc; | ||
31 | - int ret = 0; | ||
32 | + int ret = -EINVAL; | ||
33 | int irq = platform_get_irq(pdev, 0); | ||
34 | u8 rd_reg; | ||
35 | |||
36 | if (irq <= 0) | ||
37 | - return -EINVAL; | ||
38 | - | ||
39 | - rtc = rtc_device_register(pdev->name, | ||
40 | - &pdev->dev, &twl_rtc_ops, THIS_MODULE); | ||
41 | - if (IS_ERR(rtc)) { | ||
42 | - ret = PTR_ERR(rtc); | ||
43 | - dev_err(&pdev->dev, "can't register RTC device, err %ld\n", | ||
44 | - PTR_ERR(rtc)); | ||
45 | - goto out0; | ||
46 | - | ||
47 | - } | ||
48 | - | ||
49 | - platform_set_drvdata(pdev, rtc); | ||
50 | + goto out1; | ||
51 | |||
52 | ret = twl_rtc_read_u8(&rd_reg, REG_RTC_STATUS_REG); | ||
53 | if (ret < 0) | ||
54 | @@ -454,14 +442,6 @@ static int __devinit twl_rtc_probe(struct platform_device *pdev) | ||
55 | if (ret < 0) | ||
56 | goto out1; | ||
57 | |||
58 | - ret = request_threaded_irq(irq, NULL, twl_rtc_interrupt, | ||
59 | - IRQF_TRIGGER_RISING, | ||
60 | - dev_name(&rtc->dev), rtc); | ||
61 | - if (ret < 0) { | ||
62 | - dev_err(&pdev->dev, "IRQ is not free.\n"); | ||
63 | - goto out1; | ||
64 | - } | ||
65 | - | ||
66 | if (twl_class_is_6030()) { | ||
67 | twl6030_interrupt_unmask(TWL6030_RTC_INT_MASK, | ||
68 | REG_INT_MSK_LINE_A); | ||
69 | @@ -472,28 +452,44 @@ static int __devinit twl_rtc_probe(struct platform_device *pdev) | ||
70 | /* Check RTC module status, Enable if it is off */ | ||
71 | ret = twl_rtc_read_u8(&rd_reg, REG_RTC_CTRL_REG); | ||
72 | if (ret < 0) | ||
73 | - goto out2; | ||
74 | + goto out1; | ||
75 | |||
76 | if (!(rd_reg & BIT_RTC_CTRL_REG_STOP_RTC_M)) { | ||
77 | dev_info(&pdev->dev, "Enabling TWL-RTC.\n"); | ||
78 | rd_reg = BIT_RTC_CTRL_REG_STOP_RTC_M; | ||
79 | ret = twl_rtc_write_u8(rd_reg, REG_RTC_CTRL_REG); | ||
80 | if (ret < 0) | ||
81 | - goto out2; | ||
82 | + goto out1; | ||
83 | } | ||
84 | |||
85 | /* init cached IRQ enable bits */ | ||
86 | ret = twl_rtc_read_u8(&rtc_irq_bits, REG_RTC_INTERRUPTS_REG); | ||
87 | if (ret < 0) | ||
88 | + goto out1; | ||
89 | + | ||
90 | + rtc = rtc_device_register(pdev->name, | ||
91 | + &pdev->dev, &twl_rtc_ops, THIS_MODULE); | ||
92 | + if (IS_ERR(rtc)) { | ||
93 | + ret = PTR_ERR(rtc); | ||
94 | + dev_err(&pdev->dev, "can't register RTC device, err %ld\n", | ||
95 | + PTR_ERR(rtc)); | ||
96 | + goto out1; | ||
97 | + } | ||
98 | + | ||
99 | + ret = request_threaded_irq(irq, NULL, twl_rtc_interrupt, | ||
100 | + IRQF_TRIGGER_RISING, | ||
101 | + dev_name(&rtc->dev), rtc); | ||
102 | + if (ret < 0) { | ||
103 | + dev_err(&pdev->dev, "IRQ is not free.\n"); | ||
104 | goto out2; | ||
105 | + } | ||
106 | |||
107 | - return ret; | ||
108 | + platform_set_drvdata(pdev, rtc); | ||
109 | + return 0; | ||
110 | |||
111 | out2: | ||
112 | - free_irq(irq, rtc); | ||
113 | -out1: | ||
114 | rtc_device_unregister(rtc); | ||
115 | -out0: | ||
116 | +out1: | ||
117 | return ret; | ||
118 | } | ||
119 | |||
120 | -- | ||
121 | 1.7.2.5 | ||
122 | |||
diff --git a/recipes-kernel/linux/linux-3.0/sakoman/0011-soc-codecs-Enable-audio-capture-by-default-for-twl40.patch b/recipes-kernel/linux/linux-3.0/sakoman/0011-soc-codecs-Enable-audio-capture-by-default-for-twl40.patch deleted file mode 100644 index 4a903b2a..00000000 --- a/recipes-kernel/linux/linux-3.0/sakoman/0011-soc-codecs-Enable-audio-capture-by-default-for-twl40.patch +++ /dev/null | |||
@@ -1,27 +0,0 @@ | |||
1 | From 76ab79b5491dd823477cd181b57795aa6b55f53c Mon Sep 17 00:00:00 2001 | ||
2 | From: Steve Sakoman <steve@sakoman.com> | ||
3 | Date: Thu, 17 Dec 2009 12:45:20 -0800 | ||
4 | Subject: [PATCH 11/14] soc: codecs: Enable audio capture by default for twl4030 | ||
5 | |||
6 | --- | ||
7 | sound/soc/codecs/twl4030.c | 4 ++-- | ||
8 | 1 files changed, 2 insertions(+), 2 deletions(-) | ||
9 | |||
10 | diff --git a/sound/soc/codecs/twl4030.c b/sound/soc/codecs/twl4030.c | ||
11 | index bec788b..158ea04 100644 | ||
12 | --- a/sound/soc/codecs/twl4030.c | ||
13 | +++ b/sound/soc/codecs/twl4030.c | ||
14 | @@ -55,8 +55,8 @@ static const u8 twl4030_reg[TWL4030_CACHEREGNUM] = { | ||
15 | 0x00, /* REG_OPTION (0x2) */ | ||
16 | 0x00, /* REG_UNKNOWN (0x3) */ | ||
17 | 0x00, /* REG_MICBIAS_CTL (0x4) */ | ||
18 | - 0x00, /* REG_ANAMICL (0x5) */ | ||
19 | - 0x00, /* REG_ANAMICR (0x6) */ | ||
20 | + 0x34, /* REG_ANAMICL (0x5) */ | ||
21 | + 0x14, /* REG_ANAMICR (0x6) */ | ||
22 | 0x00, /* REG_AVADC_CTL (0x7) */ | ||
23 | 0x00, /* REG_ADCMICSEL (0x8) */ | ||
24 | 0x00, /* REG_DIGMIXING (0x9) */ | ||
25 | -- | ||
26 | 1.7.2.5 | ||
27 | |||
diff --git a/recipes-kernel/linux/linux-3.0/sakoman/0012-soc-codecs-twl4030-Turn-on-mic-bias-by-default.patch b/recipes-kernel/linux/linux-3.0/sakoman/0012-soc-codecs-twl4030-Turn-on-mic-bias-by-default.patch deleted file mode 100644 index 199a0f03..00000000 --- a/recipes-kernel/linux/linux-3.0/sakoman/0012-soc-codecs-twl4030-Turn-on-mic-bias-by-default.patch +++ /dev/null | |||
@@ -1,25 +0,0 @@ | |||
1 | From 31ec83c7092588f41b69e024f0ddd585c1981094 Mon Sep 17 00:00:00 2001 | ||
2 | From: Steve Sakoman <steve@sakoman.com> | ||
3 | Date: Wed, 29 Dec 2010 11:39:16 -0800 | ||
4 | Subject: [PATCH 12/14] soc: codecs: twl4030: Turn on mic bias by default | ||
5 | |||
6 | --- | ||
7 | sound/soc/codecs/twl4030.c | 2 +- | ||
8 | 1 files changed, 1 insertions(+), 1 deletions(-) | ||
9 | |||
10 | diff --git a/sound/soc/codecs/twl4030.c b/sound/soc/codecs/twl4030.c | ||
11 | index 158ea04..9bbf301 100644 | ||
12 | --- a/sound/soc/codecs/twl4030.c | ||
13 | +++ b/sound/soc/codecs/twl4030.c | ||
14 | @@ -54,7 +54,7 @@ static const u8 twl4030_reg[TWL4030_CACHEREGNUM] = { | ||
15 | 0x00, /* REG_CODEC_MODE (0x1) */ | ||
16 | 0x00, /* REG_OPTION (0x2) */ | ||
17 | 0x00, /* REG_UNKNOWN (0x3) */ | ||
18 | - 0x00, /* REG_MICBIAS_CTL (0x4) */ | ||
19 | + 0x03, /* REG_MICBIAS_CTL (0x4) */ | ||
20 | 0x34, /* REG_ANAMICL (0x5) */ | ||
21 | 0x14, /* REG_ANAMICR (0x6) */ | ||
22 | 0x00, /* REG_AVADC_CTL (0x7) */ | ||
23 | -- | ||
24 | 1.7.2.5 | ||
25 | |||
diff --git a/recipes-kernel/linux/linux-3.0/sakoman/0013-omap-mmc-twl4030-move-clock-input-selection-prior-to.patch b/recipes-kernel/linux/linux-3.0/sakoman/0013-omap-mmc-twl4030-move-clock-input-selection-prior-to.patch deleted file mode 100644 index 016323de..00000000 --- a/recipes-kernel/linux/linux-3.0/sakoman/0013-omap-mmc-twl4030-move-clock-input-selection-prior-to.patch +++ /dev/null | |||
@@ -1,39 +0,0 @@ | |||
1 | From 23d7e04b5d71feafdd920f4bf4b735cc452fef59 Mon Sep 17 00:00:00 2001 | ||
2 | From: Steve Sakoman <steve@sakoman.com> | ||
3 | Date: Sun, 24 Jan 2010 09:33:56 -0800 | ||
4 | Subject: [PATCH 13/14] omap: mmc-twl4030: move clock input selection prior to vcc test | ||
5 | |||
6 | otherwise it is not executed on systems that use non-twl regulators | ||
7 | --- | ||
8 | arch/arm/mach-omap2/hsmmc.c | 14 ++++++-------- | ||
9 | 1 files changed, 6 insertions(+), 8 deletions(-) | ||
10 | |||
11 | diff --git a/arch/arm/mach-omap2/hsmmc.c b/arch/arm/mach-omap2/hsmmc.c | ||
12 | index 66868c5..48a6cfb 100644 | ||
13 | --- a/arch/arm/mach-omap2/hsmmc.c | ||
14 | +++ b/arch/arm/mach-omap2/hsmmc.c | ||
15 | @@ -192,15 +192,13 @@ static void hsmmc23_before_set_reg(struct device *dev, int slot, | ||
16 | if (mmc->slots[0].remux) | ||
17 | mmc->slots[0].remux(dev, slot, power_on); | ||
18 | |||
19 | - if (power_on) { | ||
20 | - /* Only MMC2 supports a CLKIN */ | ||
21 | - if (mmc->slots[0].internal_clock) { | ||
22 | - u32 reg; | ||
23 | + /* Only MMC2 supports a CLKIN */ | ||
24 | + if (mmc->slots[0].internal_clock) { | ||
25 | + u32 reg; | ||
26 | |||
27 | - reg = omap_ctrl_readl(control_devconf1_offset); | ||
28 | - reg |= OMAP2_MMCSDIO2ADPCLKISEL; | ||
29 | - omap_ctrl_writel(reg, control_devconf1_offset); | ||
30 | - } | ||
31 | + reg = omap_ctrl_readl(control_devconf1_offset); | ||
32 | + reg |= OMAP2_MMCSDIO2ADPCLKISEL; | ||
33 | + omap_ctrl_writel(reg, control_devconf1_offset); | ||
34 | } | ||
35 | } | ||
36 | |||
37 | -- | ||
38 | 1.7.2.5 | ||
39 | |||
diff --git a/recipes-kernel/linux/linux-3.0/sakoman/0014-rtc-twl-add-support-for-backup-battery-recharge.patch b/recipes-kernel/linux/linux-3.0/sakoman/0014-rtc-twl-add-support-for-backup-battery-recharge.patch deleted file mode 100644 index f44b3d05..00000000 --- a/recipes-kernel/linux/linux-3.0/sakoman/0014-rtc-twl-add-support-for-backup-battery-recharge.patch +++ /dev/null | |||
@@ -1,57 +0,0 @@ | |||
1 | From 55f8fd15557b03c2b336c8214d44de9753d0ba5f Mon Sep 17 00:00:00 2001 | ||
2 | From: Steve Sakoman <steve@sakoman.com> | ||
3 | Date: Thu, 4 Feb 2010 12:26:22 -0800 | ||
4 | Subject: [PATCH 14/14] rtc-twl: add support for backup battery recharge | ||
5 | |||
6 | --- | ||
7 | drivers/rtc/rtc-twl.c | 27 ++++++++++++++++++++++++++- | ||
8 | 1 files changed, 26 insertions(+), 1 deletions(-) | ||
9 | |||
10 | diff --git a/drivers/rtc/rtc-twl.c b/drivers/rtc/rtc-twl.c | ||
11 | index a64494e..552446b 100644 | ||
12 | --- a/drivers/rtc/rtc-twl.c | ||
13 | +++ b/drivers/rtc/rtc-twl.c | ||
14 | @@ -30,7 +30,24 @@ | ||
15 | |||
16 | #include <linux/i2c/twl.h> | ||
17 | |||
18 | - | ||
19 | +/* | ||
20 | + * PM_RECEIVER block register offsets (use TWL4030_MODULE_PM_RECEIVER) | ||
21 | + */ | ||
22 | +#define REG_BB_CFG 0x12 | ||
23 | + | ||
24 | +/* PM_RECEIVER BB_CFG bitfields */ | ||
25 | +#define BIT_PM_RECEIVER_BB_CFG_BBCHEN 0x10 | ||
26 | +#define BIT_PM_RECEIVER_BB_CFG_BBSEL 0x0C | ||
27 | +#define BIT_PM_RECEIVER_BB_CFG_BBSEL_2V5 0x00 | ||
28 | +#define BIT_PM_RECEIVER_BB_CFG_BBSEL_3V0 0x04 | ||
29 | +#define BIT_PM_RECEIVER_BB_CFG_BBSEL_3V1 0x08 | ||
30 | +#define BIT_PM_RECEIVER_BB_CFG_BBSEL_3v2 0x0c | ||
31 | +#define BIT_PM_RECEIVER_BB_CFG_BBISEL 0x03 | ||
32 | +#define BIT_PM_RECEIVER_BB_CFG_BBISEL_25UA 0x00 | ||
33 | +#define BIT_PM_RECEIVER_BB_CFG_BBISEL_150UA 0x01 | ||
34 | +#define BIT_PM_RECEIVER_BB_CFG_BBISEL_500UA 0x02 | ||
35 | +#define BIT_PM_RECEIVER_BB_CFG_BBISEL_1MA 0x03 | ||
36 | + | ||
37 | /* | ||
38 | * RTC block register offsets (use TWL_MODULE_RTC) | ||
39 | */ | ||
40 | @@ -484,6 +501,14 @@ static int __devinit twl_rtc_probe(struct platform_device *pdev) | ||
41 | goto out2; | ||
42 | } | ||
43 | |||
44 | + /* enable backup battery charging */ | ||
45 | + /* use a conservative 25uA @ 3.1V */ | ||
46 | + ret = twl_i2c_write_u8(TWL4030_MODULE_PM_RECEIVER, | ||
47 | + BIT_PM_RECEIVER_BB_CFG_BBCHEN | | ||
48 | + BIT_PM_RECEIVER_BB_CFG_BBSEL_3V1 | | ||
49 | + BIT_PM_RECEIVER_BB_CFG_BBISEL_25UA, | ||
50 | + REG_BB_CFG); | ||
51 | + | ||
52 | platform_set_drvdata(pdev, rtc); | ||
53 | return 0; | ||
54 | |||
55 | -- | ||
56 | 1.7.2.5 | ||
57 | |||