aboutsummaryrefslogtreecommitdiffstats
path: root/recipes-kernel/linux/linux-yocto-3.14/collie
diff options
context:
space:
mode:
Diffstat (limited to 'recipes-kernel/linux/linux-yocto-3.14/collie')
-rw-r--r--recipes-kernel/linux/linux-yocto-3.14/collie/arm-sa1100-add-cpu-clock.patch95
-rw-r--r--recipes-kernel/linux/linux-yocto-3.14/collie/arm-sa1100-dummy-clk_set_rate.patch33
-rw-r--r--recipes-kernel/linux/linux-yocto-3.14/collie/collie-LH28F640BF.patch97
-rw-r--r--recipes-kernel/linux/linux-yocto-3.14/collie/collie-add-bootblock.patch29
-rw-r--r--recipes-kernel/linux/linux-yocto-3.14/collie/collie-cfi-probe-again.patch29
-rw-r--r--recipes-kernel/linux/linux-yocto-3.14/collie/collie-irda.patch88
-rw-r--r--recipes-kernel/linux/linux-yocto-3.14/collie/collie-mtd-resize.patch41
-rw-r--r--recipes-kernel/linux/linux-yocto-3.14/collie/collie-use-gpio-charger.patch113
-rw-r--r--recipes-kernel/linux/linux-yocto-3.14/collie/defconfig379
-rw-r--r--recipes-kernel/linux/linux-yocto-3.14/collie/fbdev-sa1100fb-make-use-of-device-clock.patch112
-rw-r--r--recipes-kernel/linux/linux-yocto-3.14/collie/locomo-fix-SCL-SDA.patch28
-rw-r--r--recipes-kernel/linux/linux-yocto-3.14/collie/locomo_kbd_tweak-r2.patch84
-rw-r--r--recipes-kernel/linux/linux-yocto-3.14/collie/locomolcd-suspend-resume.patch92
-rw-r--r--recipes-kernel/linux/linux-yocto-3.14/collie/pcmcia-sa1100-device-clock.patch91
-rw-r--r--recipes-kernel/linux/linux-yocto-3.14/collie/revert-arm-sa1100-dummy-clk_get_rate.patch32
15 files changed, 0 insertions, 1343 deletions
diff --git a/recipes-kernel/linux/linux-yocto-3.14/collie/arm-sa1100-add-cpu-clock.patch b/recipes-kernel/linux/linux-yocto-3.14/collie/arm-sa1100-add-cpu-clock.patch
deleted file mode 100644
index b14727e..0000000
--- a/recipes-kernel/linux/linux-yocto-3.14/collie/arm-sa1100-add-cpu-clock.patch
+++ /dev/null
@@ -1,95 +0,0 @@
-From 6abd8c6c642b7f5da4a8065fa6b29c4c90df308d Mon Sep 17 00:00:00 2001
-From: Dmitry Eremin-Solenikov <dbaryshkov@gmail.com>
-Date: Mon, 11 Nov 2013 22:53:36 +0400
-Subject: [PATCH] arm: sa1100: add cpu clock
-
-Both SA1100 framebuffer and PCMCIA drivers require knowledge of cpu
-frequency to correctly program timings. Currently they receive timing
-information by calling cpufreq_get(0). However if cpu frequency driver
-is not enabled (e.g. due to unsupported DRAM chip/board on sa1110)
-cpufreq_get(0) returns 0, causing incorrect timings to be programmed.
-
-Add cpu clock returning cpu frequency, to be used by sa11x0 fb and
-pcmcia drivers.
-
-Signed-off-by: Dmitry Eremin-Solenikov <dbaryshkov@gmail.com>
----
- arch/arm/mach-sa1100/clock.c | 34 ++++++++++++++++++++++++++++++++++
- 1 file changed, 34 insertions(+)
-
-diff --git a/arch/arm/mach-sa1100/clock.c b/arch/arm/mach-sa1100/clock.c
-index 172ebd0..abf1dc1 100644
---- a/arch/arm/mach-sa1100/clock.c
-+++ b/arch/arm/mach-sa1100/clock.c
-@@ -15,10 +15,12 @@
- #include <linux/clkdev.h>
-
- #include <mach/hardware.h>
-+#include <mach/generic.h>
-
- struct clkops {
- void (*enable)(struct clk *);
- void (*disable)(struct clk *);
-+ unsigned long (*get_rate)(struct clk *);
- };
-
- struct clk {
-@@ -51,6 +53,19 @@ static void clk_gpio27_disable(struct clk *clk)
- GAFR &= ~GPIO_32_768kHz;
- }
-
-+static void clk_cpu_enable(struct clk *clk)
-+{
-+}
-+
-+static void clk_cpu_disable(struct clk *clk)
-+{
-+}
-+
-+static unsigned long clk_cpu_get_rate(struct clk *clk)
-+{
-+ return sa11x0_getspeed(0) * 1000;
-+}
-+
- int clk_enable(struct clk *clk)
- {
- unsigned long flags;
-@@ -80,16 +95,35 @@ void clk_disable(struct clk *clk)
- }
- EXPORT_SYMBOL(clk_disable);
-
-+unsigned long clk_get_rate(struct clk *clk)
-+{
-+ if (clk && clk->ops && clk->ops->get_rate)
-+ return clk->ops->get_rate(clk);
-+ else
-+ return 0;
-+}
-+EXPORT_SYMBOL(clk_get_rate);
-+
- const struct clkops clk_gpio27_ops = {
- .enable = clk_gpio27_enable,
- .disable = clk_gpio27_disable,
- };
-
-+const struct clkops clk_cpu_ops = {
-+ .enable = clk_cpu_enable,
-+ .disable = clk_cpu_disable,
-+ .get_rate = clk_cpu_get_rate,
-+};
-+
- static DEFINE_CLK(gpio27, &clk_gpio27_ops);
-
-+static DEFINE_CLK(cpu, &clk_cpu_ops);
-+
- static struct clk_lookup sa11xx_clkregs[] = {
- CLKDEV_INIT("sa1111.0", NULL, &clk_gpio27),
- CLKDEV_INIT("sa1100-rtc", NULL, NULL),
-+ CLKDEV_INIT("sa11x0-fb", NULL, &clk_cpu),
-+ CLKDEV_INIT("sa11x0-pcmcia", NULL, &clk_cpu),
- };
-
- static int __init sa11xx_clk_init(void)
---
-1.8.4.2
-
diff --git a/recipes-kernel/linux/linux-yocto-3.14/collie/arm-sa1100-dummy-clk_set_rate.patch b/recipes-kernel/linux/linux-yocto-3.14/collie/arm-sa1100-dummy-clk_set_rate.patch
deleted file mode 100644
index 95f8ed1..0000000
--- a/recipes-kernel/linux/linux-yocto-3.14/collie/arm-sa1100-dummy-clk_set_rate.patch
+++ /dev/null
@@ -1,33 +0,0 @@
-From f05a8d9d9f20283ba5cb58c519f5aed1b89ebc9a Mon Sep 17 00:00:00 2001
-From: Andrea Adami <andrea.adami@gmail.com>
-Date: Sat, 5 Apr 2014 16:44:07 +0200
-Subject: [PATCH] ARM: SA1100: Create dummy clk_set_rate() function
-
-MODPOST 247 modules
-ERROR: "clk_set_rate" [drivers/usb/phy/phy-generic.ko] undefined!
-
-Signed-off-by: Andrea Adami <andrea.adami@gmail.com>
----
- arch/arm/mach-sa1100/clock.c | 6 ++++++
- 1 file changed, 6 insertions(+)
-
-diff --git a/arch/arm/mach-sa1100/clock.c b/arch/arm/mach-sa1100/clock.c
-index abf1dc1..1872521 100644
---- a/arch/arm/mach-sa1100/clock.c
-+++ b/arch/arm/mach-sa1100/clock.c
-@@ -104,6 +104,12 @@ unsigned long clk_get_rate(struct clk *clk)
- }
- EXPORT_SYMBOL(clk_get_rate);
-
-+int clk_set_rate(struct clk *clk, unsigned long rate)
-+{
-+ return -EINVAL;
-+}
-+EXPORT_SYMBOL_GPL(clk_set_rate);
-+
- const struct clkops clk_gpio27_ops = {
- .enable = clk_gpio27_enable,
- .disable = clk_gpio27_disable,
---
-1.8.1.5
-
diff --git a/recipes-kernel/linux/linux-yocto-3.14/collie/collie-LH28F640BF.patch b/recipes-kernel/linux/linux-yocto-3.14/collie/collie-LH28F640BF.patch
deleted file mode 100644
index ce3e1b9..0000000
--- a/recipes-kernel/linux/linux-yocto-3.14/collie/collie-LH28F640BF.patch
+++ /dev/null
@@ -1,97 +0,0 @@
-From 4a141aadc97f6493d3af58238acb681c41ef496d Mon Sep 17 00:00:00 2001
-From: Andrea Adami <andrea.adami@gmail.com>
-Date: Sat, 31 May 2014 00:23:51 +0200
-Subject: [PATCH] mtd: cfi_cmdset_0001.c: add support for Sharp LH28F640BF NOR
-
-This family of chips was long ago supported by the pre-cfi driver.
-CFI code tested on several Zaurus SL-5500 (Collie) 2x16 on 32 bit bus.
-
-Function is_LH28F640BF() mimics is_m29ew() from cmdset_0002.c
-
-Buffer write fixes as seen in 2007 patch c/o
-Anti Sullin <anti.sullin <at> artecdesign.ee>
-http://comments.gmane.org/gmane.linux.ports.arm.kernel/36733
-
-Signed-off-by: Andrea Adami <andrea.adami@gmail.com>
----
- drivers/mtd/chips/cfi_cmdset_0001.c | 43 +++++++++++++++++++++++++++++++++++++
- 1 file changed, 43 insertions(+)
-
-diff --git a/drivers/mtd/chips/cfi_cmdset_0001.c b/drivers/mtd/chips/cfi_cmdset_0001.c
-index e4ec355..a7543ba 100644
---- a/drivers/mtd/chips/cfi_cmdset_0001.c
-+++ b/drivers/mtd/chips/cfi_cmdset_0001.c
-@@ -52,6 +52,11 @@
- /* Atmel chips */
- #define AT49BV640D 0x02de
- #define AT49BV640DT 0x02db
-+/* Sharp chips */
-+#define LH28F640BFHE_PTTL90 0x00b0
-+#define LH28F640BFHE_PBTL90 0x00b1
-+#define LH28F640BFHE_PTTL70A 0x00b2
-+#define LH28F640BFHE_PBTL70A 0x00b3
-
- static int cfi_intelext_read (struct mtd_info *, loff_t, size_t, size_t *, u_char *);
- static int cfi_intelext_write_words(struct mtd_info *, loff_t, size_t, size_t *, const u_char *);
-@@ -258,6 +263,36 @@ static void fixup_st_m28w320cb(struct mtd_info *mtd)
- (cfi->cfiq->EraseRegionInfo[1] & 0xffff0000) | 0x3e;
- };
-
-+static int is_LH28F640BF(struct cfi_private *cfi)
-+{
-+ /* Sharp LH28F640BF Family */
-+ if (cfi->mfr == CFI_MFR_SHARP && (
-+ cfi->id == LH28F640BFHE_PTTL90 || cfi->id == LH28F640BFHE_PBTL90 ||
-+ cfi->id == LH28F640BFHE_PTTL70A || cfi->id == LH28F640BFHE_PBTL70A))
-+ return 1;
-+ return 0;
-+}
-+
-+static void fixup_LH28F640BF(struct mtd_info *mtd)
-+{
-+ struct map_info *map = mtd->priv;
-+ struct cfi_private *cfi = map->fldrv_priv;
-+ struct cfi_pri_intelext *extp = cfi->cmdset_priv;
-+
-+ /* Reset the Partition Configuration Register on LH28F640BF
-+ * to a single partition (PCR = 0x000): PCR is embedded into A0-A15. */
-+ if (is_LH28F640BF(cfi)) {
-+ printk(KERN_INFO "Reset Partition Config. Register: 1 Partition of 4 planes\n");
-+ map_write(map, CMD(0x60), 0);
-+ map_write(map, CMD(0x04), 0);
-+
-+ /* We have set one single partition thus
-+ * Simultaneous Operations are not allowed */
-+ printk(KERN_INFO "cfi_cmdset_0001: Simultaneous Operations disabled\n");
-+ extp->FeatureSupport &= ~512;
-+ }
-+}
-+
- static void fixup_use_point(struct mtd_info *mtd)
- {
- struct map_info *map = mtd->priv;
-@@ -309,6 +344,8 @@ static struct cfi_fixup cfi_fixup_table[] = {
- { CFI_MFR_ST, 0x00ba, /* M28W320CT */ fixup_st_m28w320ct },
- { CFI_MFR_ST, 0x00bb, /* M28W320CB */ fixup_st_m28w320cb },
- { CFI_MFR_INTEL, CFI_ID_ANY, fixup_unlock_powerup_lock },
-+ { CFI_MFR_SHARP, CFI_ID_ANY, fixup_unlock_powerup_lock },
-+ { CFI_MFR_SHARP, CFI_ID_ANY, fixup_LH28F640BF },
- { 0, 0, NULL }
- };
-
-@@ -1649,6 +1686,12 @@ static int __xipram do_write_buffer(struct map_info *map, struct flchip *chip,
- initial_adr = adr;
- cmd_adr = adr & ~(wbufsize-1);
-
-+ /* Sharp LH28F640BF chips need the first address for the
-+ * Page Buffer Program command. See Table 5 of
-+ * LH28F320BF, LH28F640BF, LH28F128BF Series (Appendix FUM00701) */
-+ if (is_LH28F640BF(cfi))
-+ cmd_adr = adr;
-+
- /* Let's determine this according to the interleave only once */
- write_cmd = (cfi->cfiq->P_ID != P_ID_INTEL_PERFORMANCE) ? CMD(0xe8) : CMD(0xe9);
-
---
-1.9.1
-
diff --git a/recipes-kernel/linux/linux-yocto-3.14/collie/collie-add-bootblock.patch b/recipes-kernel/linux/linux-yocto-3.14/collie/collie-add-bootblock.patch
deleted file mode 100644
index 9f5aaa7..0000000
--- a/recipes-kernel/linux/linux-yocto-3.14/collie/collie-add-bootblock.patch
+++ /dev/null
@@ -1,29 +0,0 @@
-From 0b6559d7a3e28c89c3093fd193076a5d7d7c699b Mon Sep 17 00:00:00 2001
-From: Andrea Adami <andrea.adami@gmail.com>
-Date: Sat, 9 Nov 2013 16:30:01 +0100
-Subject: [PATCH] linux-yocto: collie: add top boot partition
-
-Signed-off-by: Andrea Adami <andrea.adami@gmail.com>
----
- arch/arm/mach-sa1100/collie.c | 5 +++++
- 1 file changed, 5 insertions(+)
-
-diff --git a/arch/arm/mach-sa1100/collie.c b/arch/arm/mach-sa1100/collie.c
-index 946fa71..2785e6e 100644
---- a/arch/arm/mach-sa1100/collie.c
-+++ b/arch/arm/mach-sa1100/collie.c
-@@ -294,6 +294,11 @@ static struct mtd_partition collie_partitions[] = {
- .name = "rootfs",
- .offset = MTDPART_OFS_APPEND,
- .size = 0x00e20000,
-+ }, {
-+ .name = "bootblock",
-+ .offset = MTDPART_OFS_APPEND,
-+ .size = 0x00020000,
-+ .mask_flags = MTD_WRITEABLE
- }
- };
-
---
-1.8.1.5
-
diff --git a/recipes-kernel/linux/linux-yocto-3.14/collie/collie-cfi-probe-again.patch b/recipes-kernel/linux/linux-yocto-3.14/collie/collie-cfi-probe-again.patch
deleted file mode 100644
index 3054106..0000000
--- a/recipes-kernel/linux/linux-yocto-3.14/collie/collie-cfi-probe-again.patch
+++ /dev/null
@@ -1,29 +0,0 @@
-From 35957eda21bdd2f22c84fa269c1b856f5039c308 Mon Sep 17 00:00:00 2001
-From: Andrea Adami <andrea.adami@gmail.com>
-Date: Tue, 12 Nov 2013 22:32:26 +0100
-Subject: [PATCH] sa1100: collie: detect NOR again with cfi_probe
-
-Ehile the detection is still forced we switch away from jedec:
-the CFI code allows us to set the necessary fixups.
-
-Signed-off-by: Andrea Adami <andrea.adami@gmail.com>
----
- arch/arm/mach-sa1100/collie.c | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/arch/arm/mach-sa1100/collie.c b/arch/arm/mach-sa1100/collie.c
-index 799902d..8c088cc 100644
---- a/arch/arm/mach-sa1100/collie.c
-+++ b/arch/arm/mach-sa1100/collie.c
-@@ -326,7 +326,7 @@ static void collie_flash_exit(void)
- }
-
- static struct flash_platform_data collie_flash_data = {
-- .map_name = "jedec_probe",
-+ .map_name = "cfi_probe",
- .init = collie_flash_init,
- .set_vpp = collie_set_vpp,
- .exit = collie_flash_exit,
---
-1.8.1.5
-
diff --git a/recipes-kernel/linux/linux-yocto-3.14/collie/collie-irda.patch b/recipes-kernel/linux/linux-yocto-3.14/collie/collie-irda.patch
deleted file mode 100644
index 46ad808..0000000
--- a/recipes-kernel/linux/linux-yocto-3.14/collie/collie-irda.patch
+++ /dev/null
@@ -1,88 +0,0 @@
-From c6fb61edf283f255c3763a57366bb89bb36ad79c Mon Sep 17 00:00:00 2001
-From: Dmitry Eremin-Solenikov <dbaryshkov@gmail.com>
-Date: Fri, 8 Nov 2013 17:57:32 +0400
-Subject: [PATCH] collie: add support for IrDA transceiver
-
-Collie has onboard IrDA transceiver controlled via active-low gpio. Add
-corresponding platform data.
-
-Signed-off-by: Dmitry Eremin-Solenikov <dbaryshkov@gmail.com>
----
- arch/arm/mach-sa1100/collie.c | 33 ++++++++++++++++++++++++++++++
- arch/arm/mach-sa1100/include/mach/collie.h | 2 +-
- 2 files changed, 34 insertions(+), 1 deletion(-)
-
-diff --git a/arch/arm/mach-sa1100/collie.c b/arch/arm/mach-sa1100/collie.c
-index 2349dee..1b9473d 100644
---- a/arch/arm/mach-sa1100/collie.c
-+++ b/arch/arm/mach-sa1100/collie.c
-@@ -41,6 +41,7 @@
- #include <asm/mach/arch.h>
- #include <asm/mach/flash.h>
- #include <asm/mach/map.h>
-+#include <asm/mach/irda.h>
-
- #include <asm/hardware/scoop.h>
- #include <asm/mach/sharpsl_param.h>
-@@ -94,6 +95,37 @@ static struct mcp_plat_data collie_mcp_data = {
- .codec_pdata = &collie_ucb1x00_data,
- };
-
-+int collie_ir_startup(struct device *dev)
-+{
-+ int rc = gpio_request(COLLIE_GPIO_IR_ON, "IrDA");
-+ if (rc)
-+ return rc;
-+ rc = gpio_direction_output(COLLIE_GPIO_IR_ON, 1);
-+
-+ if (!rc)
-+ return 0;
-+
-+ gpio_free(COLLIE_GPIO_IR_ON);
-+ return rc;
-+}
-+
-+void collie_ir_shutdown(struct device *dev)
-+{
-+ gpio_free(COLLIE_GPIO_IR_ON);
-+}
-+
-+static int collie_ir_set_power(struct device *dev, unsigned int state)
-+{
-+ gpio_set_value(COLLIE_GPIO_IR_ON, !state);
-+ return 0;
-+}
-+
-+static struct irda_platform_data collie_ir_data = {
-+ .startup = collie_ir_startup,
-+ .shutdown = collie_ir_shutdown,
-+ .set_power = collie_ir_set_power,
-+};
-+
- /*
- * Collie AC IN
- */
-@@ -323,6 +355,7 @@ static void __init collie_init(void)
- sa11x0_register_mtd(&collie_flash_data, collie_flash_resources,
- ARRAY_SIZE(collie_flash_resources));
- sa11x0_register_mcp(&collie_mcp_data);
-+ sa11x0_register_irda(&collie_ir_data);
-
- sharpsl_save_param();
- }
-diff --git a/arch/arm/mach-sa1100/include/mach/collie.h b/arch/arm/mach-sa1100/include/mach/collie.h
-index f33679d..0ef22f9 100644
---- a/arch/arm/mach-sa1100/include/mach/collie.h
-+++ b/arch/arm/mach-sa1100/include/mach/collie.h
-@@ -78,7 +78,7 @@ extern void locomolcd_power(int on);
- #define COLLIE_TC35143_GPIO_VERSION0 UCB_IO_0
- #define COLLIE_TC35143_GPIO_TBL_CHK UCB_IO_1
- #define COLLIE_TC35143_GPIO_VPEN_ON UCB_IO_2
--#define COLLIE_TC35143_GPIO_IR_ON UCB_IO_3
-+#define COLLIE_GPIO_IR_ON (COLLIE_TC35143_GPIO_BASE + 3)
- #define COLLIE_TC35143_GPIO_AMP_ON UCB_IO_4
- #define COLLIE_TC35143_GPIO_VERSION1 UCB_IO_5
- #define COLLIE_TC35143_GPIO_FS8KLPF UCB_IO_5
---
-1.8.4.rc3
-
diff --git a/recipes-kernel/linux/linux-yocto-3.14/collie/collie-mtd-resize.patch b/recipes-kernel/linux/linux-yocto-3.14/collie/collie-mtd-resize.patch
deleted file mode 100644
index bfb3564..0000000
--- a/recipes-kernel/linux/linux-yocto-3.14/collie/collie-mtd-resize.patch
+++ /dev/null
@@ -1,41 +0,0 @@
-From 85f5a57b9bdd94fa7a20280c31f4f8b148368215 Mon Sep 17 00:00:00 2001
-From: Andrea Adami <andrea.adami@gmail.com>
-Date: Thu, 7 Nov 2013 23:00:31 +0100
-Subject: [PATCH] ARM: SA1100: resize collie mtd to SZ_16M
-
-The end-user models have all 2x8 = 16 Megabytes of NOR.
-It seems that only some dev models/prototype had 32M.
-With current code, giving size of 32M can confuse the detection.
-
-JEDEC:
-sa1100-0: Found 2 x16 devices at 0x0 in 32-bit bank
-sa1100-0: Found different chip or no chip at all (mfr 0x4, id 0x3001) at 0x1000000
-SA1100 flash: CFI device at 0x00000000, 16MiB, 32-bit
-
-CFI:
-sa1100-0: Found 2 x16 devices at 0x0 in 32-bit bank. Manufacturer ID 0x0000b0 Chip ID 0x0000b0
-sa1100-0: Found 2 x16 devices at 0x1000000 in 32-bit bank
-Intel/Sharp Extended Query Table at 0x0039
-...
-sa1100-0: 2 set(s) of 2 interleaved chips --> 2 partitions of 16384 KiB
-SA1100 flash: CFI device at 0x00000000, 32MiB, 32-bit
-
-
-Signed-off-by: Andrea Adami <andrea.adami@gmail.com>
----
- arch/arm/mach-sa1100/collie.c | 2 +-
- 2 files changed, 230404 insertions(+), 1604 deletions(-)
-
-diff --git a/arch/arm/mach-sa1100/collie.c b/arch/arm/mach-sa1100/collie.c
-index 7fb96eb..c1005ef 100644
---- a/arch/arm/mach-sa1100/collie.c
-+++ b/arch/arm/mach-sa1100/collie.c
-@@ -298,7 +298,7 @@ static struct flash_platform_data collie_flash_data = {
- };
-
- static struct resource collie_flash_resources[] = {
-- DEFINE_RES_MEM(SA1100_CS0_PHYS, SZ_32M),
-+ DEFINE_RES_MEM(SA1100_CS0_PHYS, SZ_16M),
- };
-
- static struct sa1100fb_mach_info collie_lcd_info = {
diff --git a/recipes-kernel/linux/linux-yocto-3.14/collie/collie-use-gpio-charger.patch b/recipes-kernel/linux/linux-yocto-3.14/collie/collie-use-gpio-charger.patch
deleted file mode 100644
index a474a67..0000000
--- a/recipes-kernel/linux/linux-yocto-3.14/collie/collie-use-gpio-charger.patch
+++ /dev/null
@@ -1,113 +0,0 @@
-From 062827350692bcc82343579df1437872593a208c Mon Sep 17 00:00:00 2001
-From: Dmitry Eremin-Solenikov <dbaryshkov@gmail.com>
-Date: Fri, 1 Nov 2013 23:50:26 +0400
-Subject: [PATCH] ARM: sa1100 collie: use gpio-charger instead of pda-power
-
-Use gpio-charger driver instead of pda-power: it automatically cares
-about used gpio and since collie does not differentiate between usb and
-ac chargers, pda-power is an overkill for it.
-
-As a bonus this allows us to remove gpio_to_irq calls from machine init
-call - it is fragile. These gpio_to_irq calls will fail if gpios are
-registered later, via device driver mechanisms.
-
-Signed-off-by: Dmitry Eremin-Solenikov <dbaryshkov@gmail.com>
----
- arch/arm/mach-sa1100/collie.c | 55 ++++++-------------------------------------
- 1 file changed, 7 insertions(+), 48 deletions(-)
-
-diff --git a/arch/arm/mach-sa1100/collie.c b/arch/arm/mach-sa1100/collie.c
-index 7fb96eb..f902b8e 100644
---- a/arch/arm/mach-sa1100/collie.c
-+++ b/arch/arm/mach-sa1100/collie.c
-@@ -28,7 +28,7 @@
- #include <linux/mtd/partitions.h>
- #include <linux/timer.h>
- #include <linux/gpio.h>
--#include <linux/pda_power.h>
-+#include <linux/power/gpio-charger.h>
-
- #include <video/sa1100fb.h>
-
-@@ -97,62 +97,24 @@ static struct mcp_plat_data collie_mcp_data = {
- /*
- * Collie AC IN
- */
--static int collie_power_init(struct device *dev)
--{
-- int ret = gpio_request(COLLIE_GPIO_AC_IN, "ac in");
-- if (ret)
-- goto err_gpio_req;
--
-- ret = gpio_direction_input(COLLIE_GPIO_AC_IN);
-- if (ret)
-- goto err_gpio_in;
--
-- return 0;
--
--err_gpio_in:
-- gpio_free(COLLIE_GPIO_AC_IN);
--err_gpio_req:
-- return ret;
--}
--
--static void collie_power_exit(struct device *dev)
--{
-- gpio_free(COLLIE_GPIO_AC_IN);
--}
--
--static int collie_power_ac_online(void)
--{
-- return gpio_get_value(COLLIE_GPIO_AC_IN) == 2;
--}
--
- static char *collie_ac_supplied_to[] = {
- "main-battery",
- "backup-battery",
- };
-
--static struct pda_power_pdata collie_power_data = {
-- .init = collie_power_init,
-- .is_ac_online = collie_power_ac_online,
-- .exit = collie_power_exit,
-+
-+static struct gpio_charger_platform_data collie_power_data = {
-+ .name = "charger",
-+ .type = POWER_SUPPLY_TYPE_MAINS,
-+ .gpio = COLLIE_GPIO_AC_IN,
- .supplied_to = collie_ac_supplied_to,
- .num_supplicants = ARRAY_SIZE(collie_ac_supplied_to),
- };
-
--static struct resource collie_power_resource[] = {
-- {
-- .name = "ac",
-- .flags = IORESOURCE_IRQ |
-- IORESOURCE_IRQ_HIGHEDGE |
-- IORESOURCE_IRQ_LOWEDGE,
-- },
--};
--
- static struct platform_device collie_power_device = {
-- .name = "pda-power",
-+ .name = "gpio-charger",
- .id = -1,
- .dev.platform_data = &collie_power_data,
-- .resource = collie_power_resource,
-- .num_resources = ARRAY_SIZE(collie_power_resource),
- };
-
- #ifdef CONFIG_SHARP_LOCOMO
-@@ -348,9 +310,6 @@ static void __init collie_init(void)
-
- GPSR |= _COLLIE_GPIO_UCB1x00_RESET;
-
-- collie_power_resource[0].start = gpio_to_irq(COLLIE_GPIO_AC_IN);
-- collie_power_resource[0].end = gpio_to_irq(COLLIE_GPIO_AC_IN);
--
- sa11x0_ppc_configure_mcp();
-
-
---
-1.8.5.2
-
diff --git a/recipes-kernel/linux/linux-yocto-3.14/collie/defconfig b/recipes-kernel/linux/linux-yocto-3.14/collie/defconfig
deleted file mode 100644
index 55cbd91..0000000
--- a/recipes-kernel/linux/linux-yocto-3.14/collie/defconfig
+++ /dev/null
@@ -1,379 +0,0 @@
-CONFIG_LOCALVERSION="-yocto-standard"
-# CONFIG_LOCALVERSION_AUTO is not set
-CONFIG_KERNEL_LZMA=y
-CONFIG_SYSVIPC=y
-CONFIG_POSIX_MQUEUE=y
-CONFIG_FHANDLE=y
-CONFIG_NO_HZ=y
-CONFIG_HIGH_RES_TIMERS=y
-CONFIG_BSD_PROCESS_ACCT=y
-CONFIG_BSD_PROCESS_ACCT_V3=y
-CONFIG_IKCONFIG=y
-CONFIG_IKCONFIG_PROC=y
-CONFIG_LOG_BUF_SHIFT=14
-CONFIG_CGROUPS=y
-CONFIG_CGROUP_DEBUG=y
-CONFIG_CGROUP_FREEZER=y
-CONFIG_CGROUP_DEVICE=y
-CONFIG_CPUSETS=y
-CONFIG_CGROUP_CPUACCT=y
-CONFIG_RESOURCE_COUNTERS=y
-CONFIG_MEMCG=y
-CONFIG_MEMCG_SWAP=y
-CONFIG_MEMCG_KMEM=y
-CONFIG_CGROUP_SCHED=y
-CONFIG_RT_GROUP_SCHED=y
-CONFIG_BLK_CGROUP=y
-CONFIG_NAMESPACES=y
-CONFIG_USER_NS=y
-CONFIG_RELAY=y
-CONFIG_BLK_DEV_INITRD=y
-CONFIG_RD_BZIP2=y
-CONFIG_RD_LZMA=y
-CONFIG_RD_XZ=y
-CONFIG_RD_LZO=y
-CONFIG_CC_OPTIMIZE_FOR_SIZE=y
-CONFIG_EMBEDDED=y
-CONFIG_PERF_EVENTS=y
-CONFIG_SLAB=y
-CONFIG_MODULES=y
-CONFIG_MODULE_UNLOAD=y
-CONFIG_MODULE_FORCE_UNLOAD=y
-CONFIG_PARTITION_ADVANCED=y
-# CONFIG_EFI_PARTITION is not set
-CONFIG_ARCH_SA1100=y
-CONFIG_SA1100_COLLIE=y
-CONFIG_PCCARD=y
-CONFIG_PCMCIA_SA1100=y
-CONFIG_PREEMPT=y
-CONFIG_AEABI=y
-CONFIG_OABI_COMPAT=y
-CONFIG_ZBOOT_ROM_TEXT=0x0
-CONFIG_ZBOOT_ROM_BSS=0x0
-CONFIG_CMDLINE="console=ttySA0,115200n8 console=tty1 mem=64M fbcon=rotate:1 loglevel=3"
-CONFIG_KEXEC=y
-CONFIG_BINFMT_MISC=m
-CONFIG_PM_RUNTIME=y
-CONFIG_APM_EMULATION=y
-CONFIG_NET=y
-CONFIG_PACKET=m
-CONFIG_UNIX=y
-CONFIG_XFRM_USER=m
-CONFIG_XFRM_SUB_POLICY=y
-CONFIG_NET_KEY=m
-CONFIG_NET_KEY_MIGRATE=y
-CONFIG_INET=y
-CONFIG_IP_MULTICAST=y
-CONFIG_IP_ADVANCED_ROUTER=y
-CONFIG_IP_MULTIPLE_TABLES=y
-CONFIG_IP_ROUTE_MULTIPATH=y
-CONFIG_IP_ROUTE_VERBOSE=y
-CONFIG_NET_IPIP=m
-CONFIG_NET_IPVTI=m
-CONFIG_INET_AH=m
-CONFIG_INET_ESP=m
-CONFIG_INET_IPCOMP=m
-CONFIG_INET_XFRM_MODE_TRANSPORT=m
-CONFIG_INET_XFRM_MODE_TUNNEL=m
-CONFIG_INET_XFRM_MODE_BEET=m
-CONFIG_INET_LRO=m
-CONFIG_INET_DIAG=m
-CONFIG_INET_UDP_DIAG=m
-CONFIG_IPV6_ROUTER_PREF=y
-CONFIG_INET6_AH=m
-CONFIG_INET6_ESP=m
-CONFIG_INET6_IPCOMP=m
-CONFIG_IPV6_MIP6=m
-CONFIG_INET6_XFRM_MODE_ROUTEOPTIMIZATION=m
-CONFIG_IPV6_VTI=m
-CONFIG_IPV6_MULTIPLE_TABLES=y
-CONFIG_NETFILTER=y
-# CONFIG_NETFILTER_ADVANCED is not set
-# CONFIG_NETFILTER_NETLINK_LOG is not set
-# CONFIG_NF_CONNTRACK is not set
-# CONFIG_NETFILTER_XT_MARK is not set
-# CONFIG_NETFILTER_XT_TARGET_LOG is not set
-# CONFIG_NETFILTER_XT_TARGET_NFLOG is not set
-# CONFIG_NETFILTER_XT_TARGET_TCPMSS is not set
-# CONFIG_NETFILTER_XT_MATCH_POLICY is not set
-CONFIG_IP_NF_RAW=m
-# CONFIG_IP6_NF_TARGET_REJECT is not set
-CONFIG_IP6_NF_RAW=m
-CONFIG_IP_SCTP=m
-CONFIG_TIPC=m
-CONFIG_BRIDGE=m
-CONFIG_VLAN_8021Q=m
-CONFIG_NET_SCHED=y
-CONFIG_NET_SCH_CBQ=m
-CONFIG_NET_SCH_HTB=m
-CONFIG_NET_SCH_HFSC=m
-CONFIG_NET_SCH_PRIO=m
-CONFIG_NET_SCH_RED=m
-CONFIG_NET_SCH_SFQ=m
-CONFIG_NET_SCH_TEQL=m
-CONFIG_NET_SCH_TBF=m
-CONFIG_NET_SCH_GRED=m
-CONFIG_NET_SCH_DSMARK=m
-CONFIG_NET_SCH_NETEM=m
-CONFIG_NET_SCH_CODEL=m
-CONFIG_NET_SCH_INGRESS=m
-CONFIG_NET_CLS_BASIC=y
-CONFIG_NET_CLS_U32=y
-CONFIG_NET_CLS_CGROUP=y
-CONFIG_NET_CLS_ACT=y
-CONFIG_NET_ACT_MIRRED=m
-CONFIG_NET_PKTGEN=m
-CONFIG_IRDA=m
-CONFIG_IRLAN=m
-CONFIG_IRNET=m
-CONFIG_IRCOMM=m
-CONFIG_BT=m
-CONFIG_BT_RFCOMM=m
-CONFIG_BT_RFCOMM_TTY=y
-CONFIG_BT_BNEP=m
-CONFIG_BT_BNEP_MC_FILTER=y
-CONFIG_BT_BNEP_PROTO_FILTER=y
-CONFIG_BT_HIDP=m
-CONFIG_BT_HCIBTSDIO=m
-CONFIG_BT_HCIUART=m
-CONFIG_BT_HCIUART_H4=y
-CONFIG_BT_HCIUART_BCSP=y
-CONFIG_BT_HCIUART_ATH3K=y
-CONFIG_BT_HCIUART_LL=y
-CONFIG_BT_HCIDTL1=m
-CONFIG_BT_HCIBT3C=m
-CONFIG_BT_HCIBLUECARD=m
-CONFIG_BT_HCIBTUART=m
-CONFIG_BT_HCIVHCI=m
-CONFIG_BT_MRVL=m
-CONFIG_BT_MRVL_SDIO=m
-CONFIG_CFG80211=m
-CONFIG_CFG80211_WEXT=y
-CONFIG_MAC80211=m
-CONFIG_RFKILL=y
-CONFIG_DEVTMPFS=y
-CONFIG_DEVTMPFS_MOUNT=y
-CONFIG_MTD=y
-CONFIG_MTD_CMDLINE_PARTS=y
-CONFIG_MTD_BLOCK=y
-CONFIG_MTD_CFI=y
-CONFIG_MTD_CFI_ADV_OPTIONS=y
-CONFIG_MTD_CFI_GEOMETRY=y
-# CONFIG_MTD_MAP_BANK_WIDTH_1 is not set
-# CONFIG_MTD_MAP_BANK_WIDTH_2 is not set
-# CONFIG_MTD_CFI_I1 is not set
-CONFIG_MTD_OTP=y
-CONFIG_MTD_CFI_INTELEXT=y
-CONFIG_MTD_ROM=y
-CONFIG_MTD_COMPLEX_MAPPINGS=y
-CONFIG_MTD_PHYSMAP=y
-CONFIG_MTD_SA1100=y
-CONFIG_MTD_NAND=y
-CONFIG_MTD_UBI=y
-CONFIG_BLK_DEV_LOOP=m
-CONFIG_BLK_DEV_CRYPTOLOOP=m
-CONFIG_BLK_DEV_NBD=m
-CONFIG_BLK_DEV_RAM=y
-CONFIG_BLK_DEV_SD=y
-CONFIG_ATA=y
-CONFIG_PATA_PCMCIA=y
-CONFIG_NETDEVICES=y
-CONFIG_BONDING=m
-CONFIG_DUMMY=m
-CONFIG_NETCONSOLE=y
-CONFIG_TUN=m
-# CONFIG_NET_VENDOR_3COM is not set
-# CONFIG_NET_VENDOR_AMD is not set
-# CONFIG_NET_CADENCE is not set
-# CONFIG_NET_VENDOR_BROADCOM is not set
-# CONFIG_NET_VENDOR_CIRRUS is not set
-# CONFIG_NET_VENDOR_FARADAY is not set
-# CONFIG_NET_VENDOR_FUJITSU is not set
-# CONFIG_NET_VENDOR_HP is not set
-# CONFIG_NET_VENDOR_INTEL is not set
-# CONFIG_NET_VENDOR_MARVELL is not set
-# CONFIG_NET_VENDOR_MICREL is not set
-# CONFIG_NET_VENDOR_MICROCHIP is not set
-CONFIG_PCMCIA_PCNET=m
-# CONFIG_NET_VENDOR_SEEQ is not set
-# CONFIG_NET_VENDOR_SMSC is not set
-# CONFIG_NET_VENDOR_STMICRO is not set
-# CONFIG_NET_VENDOR_WIZNET is not set
-# CONFIG_NET_VENDOR_XIRCOM is not set
-CONFIG_PPP=m
-CONFIG_PPP_BSDCOMP=m
-CONFIG_PPP_DEFLATE=m
-CONFIG_PPP_FILTER=y
-CONFIG_PPP_MULTILINK=y
-CONFIG_PPPOE=m
-CONFIG_PPP_ASYNC=m
-CONFIG_PPP_SYNC_TTY=m
-CONFIG_SLIP=m
-CONFIG_SLIP_COMPRESSED=y
-CONFIG_SLIP_SMART=y
-CONFIG_SLIP_MODE_SLIP6=y
-CONFIG_AIRO_CS=m
-CONFIG_HOSTAP=m
-CONFIG_HOSTAP_FIRMWARE=y
-CONFIG_HOSTAP_CS=m
-CONFIG_RT2X00=m
-CONFIG_INPUT_MOUSEDEV_SCREEN_X=240
-CONFIG_INPUT_MOUSEDEV_SCREEN_Y=320
-CONFIG_INPUT_EVDEV=y
-CONFIG_INPUT_APMPOWER=y
-CONFIG_KEYBOARD_GPIO=y
-CONFIG_KEYBOARD_LOCOMO=y
-CONFIG_INPUT_TOUCHSCREEN=y
-CONFIG_INPUT_MISC=y
-CONFIG_INPUT_UINPUT=m
-CONFIG_SERIAL_8250=m
-# CONFIG_SERIAL_8250_DEPRECATED_OPTIONS is not set
-CONFIG_SERIAL_8250_CS=m
-CONFIG_SERIAL_SA1100=y
-CONFIG_SERIAL_SA1100_CONSOLE=y
-CONFIG_I2C=y
-CONFIG_SPI=y
-CONFIG_GPIO_SYSFS=y
-CONFIG_POWER_SUPPLY=y
-CONFIG_APM_POWER=y
-CONFIG_BATTERY_COLLIE=y
-CONFIG_CHARGER_GPIO=y
-CONFIG_SENSORS_MAX1111=y
-CONFIG_WATCHDOG=y
-CONFIG_SOFT_WATCHDOG=m
-CONFIG_MCP_SA11X0=y
-CONFIG_MCP_UCB1200=y
-CONFIG_MCP_UCB1200_TS=y
-CONFIG_FB=y
-CONFIG_FB_SA1100=y
-CONFIG_BACKLIGHT_LCD_SUPPORT=y
-CONFIG_LCD_CLASS_DEVICE=y
-CONFIG_BACKLIGHT_CLASS_DEVICE=y
-CONFIG_FRAMEBUFFER_CONSOLE=y
-CONFIG_FRAMEBUFFER_CONSOLE_ROTATION=y
-CONFIG_LOGO=y
-CONFIG_SOUND=m
-CONFIG_SND=m
-CONFIG_SND_SEQUENCER=m
-CONFIG_SND_MIXER_OSS=m
-CONFIG_SND_PCM_OSS=m
-CONFIG_SND_SEQUENCER_OSS=y
-CONFIG_SND_SOC=m
-CONFIG_HID=m
-CONFIG_NOP_USB_XCEIV=m
-CONFIG_USB_GPIO_VBUS=m
-CONFIG_USB_ULPI=y
-CONFIG_USB_GADGET=m
-CONFIG_USB_GADGET_DEBUG_FILES=y
-CONFIG_USB_GADGET_DEBUG_FS=y
-CONFIG_USB_ZERO=m
-CONFIG_USB_ETH=m
-CONFIG_USB_ETH_EEM=y
-CONFIG_USB_GADGETFS=m
-CONFIG_USB_MASS_STORAGE=m
-CONFIG_USB_G_SERIAL=m
-CONFIG_USB_CDC_COMPOSITE=m
-CONFIG_USB_G_MULTI=m
-CONFIG_USB_G_MULTI_CDC=y
-CONFIG_MMC=y
-CONFIG_MMC_UNSAFE_RESUME=y
-CONFIG_MMC_SPI=y
-CONFIG_NEW_LEDS=y
-CONFIG_LEDS_CLASS=y
-CONFIG_LEDS_LOCOMO=y
-CONFIG_LEDS_GPIO=y
-CONFIG_LEDS_TRIGGERS=y
-CONFIG_LEDS_TRIGGER_TIMER=y
-CONFIG_LEDS_TRIGGER_HEARTBEAT=y
-CONFIG_RTC_CLASS=y
-CONFIG_RTC_DRV_SA1100=y
-CONFIG_EXT2_FS=y
-CONFIG_EXT3_FS=y
-# CONFIG_EXT3_FS_XATTR is not set
-CONFIG_EXT4_FS=y
-CONFIG_AUTOFS4_FS=y
-CONFIG_FUSE_FS=m
-CONFIG_CUSE=m
-CONFIG_VFAT_FS=y
-CONFIG_TMPFS=y
-CONFIG_TMPFS_POSIX_ACL=y
-CONFIG_JFFS2_FS=y
-CONFIG_JFFS2_SUMMARY=y
-CONFIG_JFFS2_COMPRESSION_OPTIONS=y
-CONFIG_JFFS2_LZO=y
-CONFIG_UBIFS_FS=y
-CONFIG_UBIFS_FS_ADVANCED_COMPR=y
-CONFIG_CRAMFS=y
-CONFIG_MINIX_FS=m
-CONFIG_ROMFS_FS=m
-CONFIG_NFS_FS=m
-CONFIG_NFS_V4=m
-CONFIG_NFSD=m
-CONFIG_NFSD_V4=y
-CONFIG_CIFS=m
-CONFIG_NLS_CODEPAGE_437=m
-CONFIG_NLS_CODEPAGE_737=m
-CONFIG_NLS_CODEPAGE_775=m
-CONFIG_NLS_CODEPAGE_850=m
-CONFIG_NLS_CODEPAGE_852=m
-CONFIG_NLS_CODEPAGE_855=m
-CONFIG_NLS_CODEPAGE_857=m
-CONFIG_NLS_CODEPAGE_860=m
-CONFIG_NLS_CODEPAGE_861=m
-CONFIG_NLS_CODEPAGE_862=m
-CONFIG_NLS_CODEPAGE_863=m
-CONFIG_NLS_CODEPAGE_864=m
-CONFIG_NLS_CODEPAGE_865=m
-CONFIG_NLS_CODEPAGE_866=m
-CONFIG_NLS_CODEPAGE_869=m
-CONFIG_NLS_CODEPAGE_936=m
-CONFIG_NLS_CODEPAGE_950=m
-CONFIG_NLS_CODEPAGE_932=m
-CONFIG_NLS_CODEPAGE_949=m
-CONFIG_NLS_CODEPAGE_874=m
-CONFIG_NLS_ISO8859_8=m
-CONFIG_NLS_CODEPAGE_1250=m
-CONFIG_NLS_CODEPAGE_1251=m
-CONFIG_NLS_ASCII=m
-CONFIG_NLS_ISO8859_1=m
-CONFIG_NLS_ISO8859_2=m
-CONFIG_NLS_ISO8859_3=m
-CONFIG_NLS_ISO8859_4=m
-CONFIG_NLS_ISO8859_5=m
-CONFIG_NLS_ISO8859_6=m
-CONFIG_NLS_ISO8859_7=m
-CONFIG_NLS_ISO8859_9=m
-CONFIG_NLS_ISO8859_13=m
-CONFIG_NLS_ISO8859_14=m
-CONFIG_NLS_ISO8859_15=m
-CONFIG_NLS_KOI8_R=m
-CONFIG_NLS_KOI8_U=m
-CONFIG_NLS_UTF8=m
-CONFIG_DEBUG_FS=y
-CONFIG_MAGIC_SYSRQ=y
-# CONFIG_DEBUG_BUGVERBOSE is not set
-# CONFIG_FTRACE is not set
-CONFIG_SECURITY=y
-CONFIG_CRYPTO_NULL=m
-CONFIG_CRYPTO_AUTHENC=y
-CONFIG_CRYPTO_TEST=m
-CONFIG_CRYPTO_CBC=y
-CONFIG_CRYPTO_HMAC=y
-CONFIG_CRYPTO_XCBC=m
-CONFIG_CRYPTO_MD5=y
-CONFIG_CRYPTO_SHA1=y
-CONFIG_CRYPTO_SHA512=m
-CONFIG_CRYPTO_WP512=m
-CONFIG_CRYPTO_ANUBIS=m
-CONFIG_CRYPTO_BLOWFISH=m
-CONFIG_CRYPTO_CAMELLIA=m
-CONFIG_CRYPTO_CAST5=m
-CONFIG_CRYPTO_CAST6=m
-CONFIG_CRYPTO_DES=y
-CONFIG_CRYPTO_KHAZAD=m
-CONFIG_CRYPTO_SERPENT=m
-CONFIG_CRYPTO_TEA=m
-CONFIG_CRYPTO_TWOFISH=m
-CONFIG_CRC_CCITT=y
-CONFIG_FONTS=y
-CONFIG_FONT_8x8=y
diff --git a/recipes-kernel/linux/linux-yocto-3.14/collie/fbdev-sa1100fb-make-use-of-device-clock.patch b/recipes-kernel/linux/linux-yocto-3.14/collie/fbdev-sa1100fb-make-use-of-device-clock.patch
deleted file mode 100644
index 413387e..0000000
--- a/recipes-kernel/linux/linux-yocto-3.14/collie/fbdev-sa1100fb-make-use-of-device-clock.patch
+++ /dev/null
@@ -1,112 +0,0 @@
-From 14edf9123f62bbfbfbffe38e2837b51b3a6065b5 Mon Sep 17 00:00:00 2001
-From: Dmitry Eremin-Solenikov <dbaryshkov@gmail.com>
-Date: Mon, 11 Nov 2013 22:58:02 +0400
-Subject: [PATCH] fbdev: sa1100fb: make use of device clock
-
-Use per-device clock (instead of calling cpufreq_get(0), which can
-return 0 if no cpu frequency driver is selected) to program timings.
-
-Signed-off-by: Dmitry Eremin-Solenikov <dbaryshkov@gmail.com>
----
-drivers/video/sa1100fb.c | 24 +++++++++++++++++-------
- drivers/video/sa1100fb.h | 1 +
- 2 files changed, 18 insertions(+), 7 deletions(-)
-
-diff --git a/drivers/video/sa1100fb.c b/drivers/video/sa1100fb.c
-index de76da0..05d1b37 100644
---- a/drivers/video/sa1100fb.c
-+++ b/drivers/video/sa1100fb.c
-@@ -178,6 +178,7 @@
- #include <linux/dma-mapping.h>
- #include <linux/mutex.h>
- #include <linux/io.h>
-+#include <linux/clk.h>
-
- #include <video/sa1100fb.h>
-
-@@ -413,9 +414,9 @@ sa1100fb_check_var(struct fb_var_screeninfo *var, struct fb_info *info)
- var->transp.offset);
-
- #ifdef CONFIG_CPU_FREQ
-- dev_dbg(fbi->dev, "dma period = %d ps, clock = %d kHz\n",
-+ dev_dbg(fbi->dev, "dma period = %d ps, clock = %ld kHz\n",
- sa1100fb_display_dma_period(var),
-- cpufreq_get(smp_processor_id()));
-+ clk_get_rate(fbi->clk) / 1000);
- #endif
-
- return 0;
-@@ -586,9 +587,10 @@ static struct fb_ops sa1100fb_ops = {
- * Calculate the PCD value from the clock rate (in picoseconds).
- * We take account of the PPCR clock setting.
- */
--static inline unsigned int get_pcd(unsigned int pixclock, unsigned int cpuclock)
-+static inline unsigned int get_pcd(struct sa1100fb_info *fbi,
-+ unsigned int pixclock)
- {
-- unsigned int pcd = cpuclock / 100;
-+ unsigned int pcd = clk_get_rate(fbi->clk) / 100 / 1000;
-
- pcd *= pixclock;
- pcd /= 10000000;
-@@ -667,7 +669,7 @@ static int sa1100fb_activate_var(struct fb_var_screeninfo *var, struct sa1100fb_
- LCCR2_BegFrmDel(var->upper_margin) +
- LCCR2_EndFrmDel(var->lower_margin);
-
-- pcd = get_pcd(var->pixclock, cpufreq_get(0));
-+ pcd = get_pcd(fbi, var->pixclock);
- new_regs.lccr3 = LCCR3_PixClkDiv(pcd) | fbi->inf->lccr3 |
- (var->sync & FB_SYNC_HOR_HIGH_ACT ? LCCR3_HorSnchH : LCCR3_HorSnchL) |
- (var->sync & FB_SYNC_VERT_HIGH_ACT ? LCCR3_VrtSnchH : LCCR3_VrtSnchL);
-@@ -1003,7 +1005,6 @@ sa1100fb_freq_transition(struct notifier_block *nb, unsigned long val,
- void *data)
- {
- struct sa1100fb_info *fbi = TO_INF(nb, freq_transition);
-- struct cpufreq_freqs *f = data;
- u_int pcd;
-
- switch (val) {
-@@ -1012,7 +1013,7 @@ sa1100fb_freq_transition(struct notifier_block *nb, unsigned long val,
- break;
-
- case CPUFREQ_POSTCHANGE:
-- pcd = get_pcd(fbi->fb.var.pixclock, f->new);
-+ pcd = get_pcd(fbi, fbi->fb.var.pixclock);
- fbi->reg_lccr3 = (fbi->reg_lccr3 & ~0xff) | LCCR3_PixClkDiv(pcd);
- set_ctrlr_state(fbi, C_ENABLE_CLKCHANGE);
- break;
-@@ -1219,6 +1220,13 @@ static int sa1100fb_probe(struct platform_device *pdev)
- if (!fbi)
- goto failed;
-
-+ fbi->clk = clk_get(&pdev->dev, NULL);
-+ if (IS_ERR(fbi->clk)) {
-+ ret = PTR_ERR(fbi->clk);
-+ fbi->clk = NULL;
-+ goto failed;
-+ }
-+
- fbi->base = ioremap(res->start, resource_size(res));
- if (!fbi->base)
- goto failed;
-@@ -1271,6 +1279,8 @@ static int sa1100fb_probe(struct platform_device *pdev)
- failed:
- if (fbi)
- iounmap(fbi->base);
-+ if (fbi->clk)
-+ clk_put(fbi->clk);
- kfree(fbi);
- release_mem_region(res->start, resource_size(res));
- return ret;
-diff --git a/drivers/video/sa1100fb.h b/drivers/video/sa1100fb.h
-index fc5d429..0139d13 100644
---- a/drivers/video/sa1100fb.h
-+++ b/drivers/video/sa1100fb.h
-@@ -68,6 +68,7 @@ struct sa1100fb_info {
- #endif
-
- const struct sa1100fb_mach_info *inf;
-+ struct clk *clk;
- };
-
- #define TO_INF(ptr,member) container_of(ptr,struct sa1100fb_info,member)
diff --git a/recipes-kernel/linux/linux-yocto-3.14/collie/locomo-fix-SCL-SDA.patch b/recipes-kernel/linux/linux-yocto-3.14/collie/locomo-fix-SCL-SDA.patch
deleted file mode 100644
index fbf3edd..0000000
--- a/recipes-kernel/linux/linux-yocto-3.14/collie/locomo-fix-SCL-SDA.patch
+++ /dev/null
@@ -1,28 +0,0 @@
-From acc2f94781ab11bead994bb3faaad149f9187bd4 Mon Sep 17 00:00:00 2001
-From: Andrea Adami <andrea.adami@gmail.com>
-Date: Tue, 12 Nov 2013 22:21:20 +0100
-Subject: [PATCH] linux-yocto: collie: locomo.c: fix SCL line instead
- of SDA
-
-Signed-off-by: Dmitry Eremin-Solenikov <dbaryshkov@gmail.com>
-Signed-off-by: Andrea Adami <andrea.adami@gmail.com>
----
- arch/arm/common/locomo.c | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/arch/arm/common/locomo.c b/arch/arm/common/locomo.c
-index b55c362..d827bcb 100644
---- a/arch/arm/common/locomo.c
-+++ b/arch/arm/common/locomo.c
-@@ -629,7 +629,7 @@ static void locomo_m62332_sendbit(void *mapbase, int bit)
- unsigned int r;
-
- r = locomo_readl(mapbase + LOCOMO_DAC);
-- r &= ~(LOCOMO_DAC_SCLOEB);
-+ r &= ~(LOCOMO_DAC_SDAOEB);
- locomo_writel(r, mapbase + LOCOMO_DAC);
- udelay(DAC_LOW_SETUP_TIME); /* 300 nsec */
- udelay(DAC_DATA_HOLD_TIME); /* 300 nsec */
---
-1.8.1.5
-
diff --git a/recipes-kernel/linux/linux-yocto-3.14/collie/locomo_kbd_tweak-r2.patch b/recipes-kernel/linux/linux-yocto-3.14/collie/locomo_kbd_tweak-r2.patch
deleted file mode 100644
index 441e3dc..0000000
--- a/recipes-kernel/linux/linux-yocto-3.14/collie/locomo_kbd_tweak-r2.patch
+++ /dev/null
@@ -1,84 +0,0 @@
-From c9a909cedb442a1a3d020f0c10683298dcc2246c Mon Sep 17 00:00:00 2001
-From: Andrea Adami <andrea.adami@gmail.com>
-Date: Sat, 21 Apr 2012 23:48:57 +0200
-Subject: [PATCH] locomokbd: apply tweaks for Zaurus
-
-from http://www.rpsys.net/openzaurus/patches/
-
-Signed-off-by: Richard Purdie <rpurdie@rpsys.net>
-Signed-off-by: Andrea Adami <andrea.adami@gmail.com>
-
-Upstream-Status: Inappropriate [embedded specific]
-[Patch needed for initramfs w/out keymaps like kexecboot]
----
- drivers/input/keyboard/locomokbd.c | 44 ++++++++++++++++++++++----------------
- 1 file changed, 25 insertions(+), 19 deletions(-)
-
-diff --git a/drivers/input/keyboard/locomokbd.c b/drivers/input/keyboard/locomokbd.c
-index c94d610..2b978c8 100644
---- a/drivers/input/keyboard/locomokbd.c
-+++ b/drivers/input/keyboard/locomokbd.c
-@@ -39,27 +39,33 @@ MODULE_AUTHOR("John Lenz <lenz@cs.wisc.edu>");
- MODULE_DESCRIPTION("LoCoMo keyboard driver");
- MODULE_LICENSE("GPL");
-
--#define LOCOMOKBD_NUMKEYS 128
--
--#define KEY_ACTIVITY KEY_F16
--#define KEY_CONTACT KEY_F18
--#define KEY_CENTER KEY_F15
-+#define LOCOMOKBD_NUMKEYS 128
-+
-+#define LOCOMO_KEY_CALENDER KEY_LEFTCTRL
-+#define LOCOMO_KEY_ADDRESS KEY_LEFTALT /* Needed for SysRQ */
-+#define LOCOMO_KEY_HOME KEY_SYSRQ /* Needed for SysRQ */
-+#define LOCOMO_KEY_MENU KEY_F12
-+#define LOCOMO_KEY_MAIL KEY_F10
-+#define LOCOMO_KEY_OK KEY_F11 /* Don't hardwire to KEY_RETURN */
-+#define LOCOMO_KEY_CANCEL KEY_POWER
-+#define LOCOMO_KEY_CENTER KEY_F5 /* Don't hardwire to KEY_RETURN */
-+#define LOCOMO_KEY_FN KEY_F9
-
- static const unsigned char
- locomokbd_keycode[LOCOMOKBD_NUMKEYS] = {
-- 0, KEY_ESC, KEY_ACTIVITY, 0, 0, 0, 0, 0, 0, 0, /* 0 - 9 */
-- 0, 0, 0, 0, 0, 0, 0, KEY_MENU, KEY_HOME, KEY_CONTACT, /* 10 - 19 */
-- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, /* 20 - 29 */
-- 0, 0, 0, KEY_CENTER, 0, KEY_MAIL, 0, 0, 0, 0, /* 30 - 39 */
-- 0, 0, 0, 0, 0, 0, 0, 0, 0, KEY_RIGHT, /* 40 - 49 */
-- KEY_UP, KEY_LEFT, 0, 0, KEY_P, 0, KEY_O, KEY_I, KEY_Y, KEY_T, /* 50 - 59 */
-- KEY_E, KEY_W, 0, 0, 0, 0, KEY_DOWN, KEY_ENTER, 0, 0, /* 60 - 69 */
-- KEY_BACKSPACE, 0, KEY_L, KEY_U, KEY_H, KEY_R, KEY_D, KEY_Q, 0, 0, /* 70 - 79 */
-- 0, 0, 0, 0, 0, 0, KEY_ENTER, KEY_RIGHTSHIFT, KEY_K, KEY_J, /* 80 - 89 */
-- KEY_G, KEY_F, KEY_X, KEY_S, 0, 0, 0, 0, 0, 0, /* 90 - 99 */
-- 0, 0, KEY_DOT, 0, KEY_COMMA, KEY_N, KEY_B, KEY_C, KEY_Z, KEY_A, /* 100 - 109 */
-- KEY_LEFTSHIFT, KEY_TAB, KEY_LEFTCTRL, 0, 0, 0, 0, 0, 0, 0, /* 110 - 119 */
-- KEY_M, KEY_SPACE, KEY_V, KEY_APOSTROPHE, KEY_SLASH, 0, 0, 0 /* 120 - 128 */
-+ 0, LOCOMO_KEY_CANCEL, LOCOMO_KEY_CALENDER, LOCOMO_KEY_HOME, 0, 0, 0, 0, 0, 0, /* 0 - 9 */
-+ 0, 0, 0, 0, 0, 0, 0, LOCOMO_KEY_MENU, 0, LOCOMO_KEY_ADDRESS, /* 10 - 19 */
-+ 0, 0, 0, 0, 0, LOCOMO_KEY_MAIL, 0, 0, 0, 0, /* 20 - 29 */
-+ 0, 0, 0, LOCOMO_KEY_CENTER, 0, LOCOMO_KEY_MAIL, 0, 0, 0, 0, /* 30 - 39 */
-+ 0, 0, 0, 0, 0, 0, 0, 0, 0, KEY_RIGHT, /* 40 - 49 */
-+ KEY_UP, KEY_LEFT, 0, 0, KEY_P, 0, KEY_O, KEY_I, KEY_Y, KEY_T, /* 50 - 59 */
-+ KEY_E, KEY_W, 0, 0, 0, 0, KEY_DOWN, LOCOMO_KEY_OK, 0, 0, /* 60 - 69 */
-+ KEY_BACKSPACE, 0, KEY_L, KEY_U, KEY_H, KEY_R, KEY_D, KEY_Q, 0, 0, /* 70 - 79 */
-+ 0, 0, 0, 0, 0, 0, KEY_ENTER, KEY_RIGHTSHIFT, KEY_K, KEY_J, /* 80 - 89 */
-+ KEY_G, KEY_F, KEY_X, KEY_S, 0, 0, 0, 0, 0, 0, /* 90 - 99 */
-+ 0, 0, KEY_DOT, 0, KEY_COMMA, KEY_N, KEY_B, KEY_C, KEY_Z, KEY_A, /* 100 - 109 */
-+ KEY_LEFTSHIFT, KEY_TAB, LOCOMO_KEY_FN, 0, 0, 0, 0, 0, 0, 0, /* 110 - 119 */
-+ KEY_M, KEY_SPACE, KEY_V, KEY_APOSTROPHE, KEY_SLASH, 0, 0, 0 /* 120 - 128 */
- };
-
- #define KB_ROWS 16
-@@ -68,7 +74,7 @@ locomokbd_keycode[LOCOMOKBD_NUMKEYS] = {
- #define SCANCODE(c,r) ( ((c)<<4) + (r) + 1 )
-
- #define KB_DELAY 8
--#define SCAN_INTERVAL (HZ/10)
-+#define SCAN_INTERVAL (HZ/20)
-
- struct locomokbd {
- unsigned char keycode[LOCOMOKBD_NUMKEYS];
---
-1.8.1.5
-
diff --git a/recipes-kernel/linux/linux-yocto-3.14/collie/locomolcd-suspend-resume.patch b/recipes-kernel/linux/linux-yocto-3.14/collie/locomolcd-suspend-resume.patch
deleted file mode 100644
index a3d63e0..0000000
--- a/recipes-kernel/linux/linux-yocto-3.14/collie/locomolcd-suspend-resume.patch
+++ /dev/null
@@ -1,92 +0,0 @@
-From ec4ff55857d5f48d2bf08e46f12eb4670ec6aa1a Mon Sep 17 00:00:00 2001
-From: Dmitry Eremin-Solenikov <dbaryshkov@gmail.com>
-Date: Thu, 14 Nov 2013 17:18:26 +0400
-Subject: [PATCH] backlight: locomolcd: fix suspend/resume
-
-Replace cooked suspend/resume with support from core backlight layer.
-This allows us to remove suspend/resume callbacks from locomolcd
-completely. They were not working anyway, as locomo does not support
-pm_ops handling.
-
-Signed-off-by: Dmitry Eremin-Solenikov <dmitry_eremin@mentor.com>
----
- drivers/video/backlight/locomolcd.c | 26 +++-----------------------
- 1 file changed, 3 insertions(+), 23 deletions(-)
-
-diff --git a/drivers/video/backlight/locomolcd.c b/drivers/video/backlight/locomolcd.c
-index 6c3ec42..54d2da9 100644
---- a/drivers/video/backlight/locomolcd.c
-+++ b/drivers/video/backlight/locomolcd.c
-@@ -28,8 +28,6 @@
-
- static struct backlight_device *locomolcd_bl_device;
- static struct locomo_dev *locomolcd_dev;
--static unsigned long locomolcd_flags;
--#define LOCOMOLCD_SUSPENDED 0x01
-
- static void locomolcd_on(int comadj)
- {
-@@ -117,7 +115,7 @@ static int locomolcd_set_intensity(struct backlight_device *bd)
- intensity = 0;
- if (bd->props.fb_blank != FB_BLANK_UNBLANK)
- intensity = 0;
-- if (locomolcd_flags & LOCOMOLCD_SUSPENDED)
-+ if (bd->props.state & BL_CORE_SUSPENDED)
- intensity = 0;
-
- switch (intensity) {
-@@ -155,26 +153,9 @@ static int locomolcd_get_intensity(struct backlight_device *bd)
- static const struct backlight_ops locomobl_data = {
- .get_brightness = locomolcd_get_intensity,
- .update_status = locomolcd_set_intensity,
-+ .options = BL_CORE_SUSPENDRESUME,
- };
-
--#ifdef CONFIG_PM_SLEEP
--static int locomolcd_suspend(struct device *dev)
--{
-- locomolcd_flags |= LOCOMOLCD_SUSPENDED;
-- locomolcd_set_intensity(locomolcd_bl_device);
-- return 0;
--}
--
--static int locomolcd_resume(struct device *dev)
--{
-- locomolcd_flags &= ~LOCOMOLCD_SUSPENDED;
-- locomolcd_set_intensity(locomolcd_bl_device);
-- return 0;
--}
--#endif
--
--static SIMPLE_DEV_PM_OPS(locomolcd_pm_ops, locomolcd_suspend, locomolcd_resume);
--
- static int locomolcd_probe(struct locomo_dev *ldev)
- {
- struct backlight_properties props;
-@@ -198,6 +179,7 @@ static int locomolcd_probe(struct locomo_dev *ldev)
- memset(&props, 0, sizeof(struct backlight_properties));
- props.type = BACKLIGHT_RAW;
- props.max_brightness = 4;
-+ props.brightness = 2;
- locomolcd_bl_device = backlight_device_register("locomo-bl",
- &ldev->dev, NULL,
- &locomobl_data, &props);
-@@ -206,7 +188,6 @@ static int locomolcd_probe(struct locomo_dev *ldev)
- return PTR_ERR(locomolcd_bl_device);
-
- /* Set up frontlight so that screen is readable */
-- locomolcd_bl_device->props.brightness = 2;
- locomolcd_set_intensity(locomolcd_bl_device);
-
- return 0;
-@@ -230,7 +211,6 @@ static int locomolcd_remove(struct locomo_dev *dev)
- static struct locomo_driver poodle_lcd_driver = {
- .drv = {
- .name = "locomo-backlight",
-- .pm = &locomolcd_pm_ops,
- },
- .devid = LOCOMO_DEVID_BACKLIGHT,
- .probe = locomolcd_probe,
---
-1.8.4.2
-
diff --git a/recipes-kernel/linux/linux-yocto-3.14/collie/pcmcia-sa1100-device-clock.patch b/recipes-kernel/linux/linux-yocto-3.14/collie/pcmcia-sa1100-device-clock.patch
deleted file mode 100644
index ae5a912..0000000
--- a/recipes-kernel/linux/linux-yocto-3.14/collie/pcmcia-sa1100-device-clock.patch
+++ /dev/null
@@ -1,91 +0,0 @@
-From 48558621c8a8162b6005719cc88aa1af6f74b7a2 Mon Sep 17 00:00:00 2001
-From: Dmitry Eremin-Solenikov <dbaryshkov@gmail.com>
-Date: Tue, 12 Nov 2013 07:32:10 +0400
-Subject: [PATCH] pcmcia: sa1100: make use of device clock
-
-Use per-device clock (instead of calling cpufreq_get(0), which can
-return 0 if no cpu frequency driver is selected) to program timings.
-
-Signed-off-by: Dmitry Eremin-Solenikov <dbaryshkov@gmail.com>
----
-drivers/pcmcia/sa1100_generic.c | 1 +
- drivers/pcmcia/sa11xx_base.c | 14 ++++++++++++--
- 2 files changed, 13 insertions(+), 2 deletions(-)
-
-diff --git a/drivers/pcmcia/sa1100_generic.c b/drivers/pcmcia/sa1100_generic.c
-index ff8a027..d2ab060 100644
---- a/drivers/pcmcia/sa1100_generic.c
-+++ b/drivers/pcmcia/sa1100_generic.c
-@@ -93,6 +93,7 @@ static int sa11x0_drv_pcmcia_remove(struct platform_device *dev)
- for (i = 0; i < sinfo->nskt; i++)
- soc_pcmcia_remove_one(&sinfo->skt[i]);
-
-+ clk_put(sinfo->clk);
- kfree(sinfo);
- return 0;
- }
-diff --git a/drivers/pcmcia/sa11xx_base.c b/drivers/pcmcia/sa11xx_base.c
-index 6eecd7c..aef0e69 100644
---- a/drivers/pcmcia/sa11xx_base.c
-+++ b/drivers/pcmcia/sa11xx_base.c
-@@ -38,6 +38,7 @@
- #include <linux/spinlock.h>
- #include <linux/io.h>
- #include <linux/slab.h>
-+#include <linux/clk.h>
-
- #include <mach/hardware.h>
- #include <asm/irq.h>
-@@ -138,14 +139,15 @@ sa1100_pcmcia_frequency_change(struct soc_pcmcia_socket *skt,
- static int
- sa1100_pcmcia_set_timing(struct soc_pcmcia_socket *skt)
- {
-- return sa1100_pcmcia_set_mecr(skt, cpufreq_get(0));
-+ unsigned long clk = clk_get_rate(skt->clk);
-+ return sa1100_pcmcia_set_mecr(skt, clk / 1000);
- }
-
- static int
- sa1100_pcmcia_show_timing(struct soc_pcmcia_socket *skt, char *buf)
- {
- struct soc_pcmcia_timing timing;
-- unsigned int clock = cpufreq_get(0);
-+ unsigned int clock = clk_get_rate(skt->clk);
- unsigned long mecr = MECR;
- char *p = buf;
-
-@@ -221,6 +223,11 @@ int sa11xx_drv_pcmcia_probe(struct device *dev, struct pcmcia_low_level *ops,
- struct skt_dev_info *sinfo;
- struct soc_pcmcia_socket *skt;
- int i, ret = 0;
-+ struct clk *clk;
-+
-+ clk = clk_get(dev, NULL);
-+ if (IS_ERR(clk))
-+ return -ENODEV;
-
- sa11xx_drv_pcmcia_ops(ops);
-
-@@ -229,12 +236,14 @@ int sa11xx_drv_pcmcia_probe(struct device *dev, struct pcmcia_low_level *ops,
- return -ENOMEM;
-
- sinfo->nskt = nr;
-+ sinfo->clk = clk;
-
- /* Initialize processor specific parameters */
- for (i = 0; i < nr; i++) {
- skt = &sinfo->skt[i];
-
- skt->nr = first + i;
-+ skt->clk = clk;
- soc_pcmcia_init_one(skt, ops, dev);
-
- ret = sa11xx_drv_pcmcia_add_one(skt);
-@@ -245,6 +254,7 @@ int sa11xx_drv_pcmcia_probe(struct device *dev, struct pcmcia_low_level *ops,
- if (ret) {
- while (--i >= 0)
- soc_pcmcia_remove_one(&sinfo->skt[i]);
-+ clk_put(clk);
- kfree(sinfo);
- } else {
- dev_set_drvdata(dev, sinfo);
diff --git a/recipes-kernel/linux/linux-yocto-3.14/collie/revert-arm-sa1100-dummy-clk_get_rate.patch b/recipes-kernel/linux/linux-yocto-3.14/collie/revert-arm-sa1100-dummy-clk_get_rate.patch
deleted file mode 100644
index 90df8e0..0000000
--- a/recipes-kernel/linux/linux-yocto-3.14/collie/revert-arm-sa1100-dummy-clk_get_rate.patch
+++ /dev/null
@@ -1,32 +0,0 @@
-From 856d194731b1c57b95b72927877394810d77c74c Mon Sep 17 00:00:00 2001
-From: Andrea Adami <andrea.adami@gmail.com>
-Date: Sat, 5 Apr 2014 16:08:47 +0200
-Subject: [PATCH] Revert 0ad04fb30db0341d0b1134e2f592d9146c9abb64 ARM:
- SA1100: Create dummy clk_get_rate() to avoid build failures
-
-Signed-off-by: Andrea Adami <andrea.adami@gmail.com>
----
- arch/arm/mach-sa1100/clock.c | 7 -------
- 1 file changed, 7 deletions(-)
-
-diff --git a/arch/arm/mach-sa1100/clock.c b/arch/arm/mach-sa1100/clock.c
-index 9fa6a99..172ebd0 100644
---- a/arch/arm/mach-sa1100/clock.c
-+++ b/arch/arm/mach-sa1100/clock.c
-@@ -33,13 +33,6 @@ struct clk clk_##_name = { \
-
- static DEFINE_SPINLOCK(clocks_lock);
-
--/* Dummy clk routine to build generic kernel parts that may be using them */
--unsigned long clk_get_rate(struct clk *clk)
--{
-- return 0;
--}
--EXPORT_SYMBOL(clk_get_rate);
--
- static void clk_gpio27_enable(struct clk *clk)
- {
- /*
---
-1.8.1.5
-