From 395e56e6aa8f2169615e39daf7ff1ab69dfe3648 Mon Sep 17 00:00:00 2001 From: Ulrich Ölmann Date: Mon, 9 Dec 2019 16:20:33 +0100 Subject: mtd: spi-nor: Add support for en25qh64 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This is a port of Linux kernel commit | commit 30a2c8aa3c520d54bcaf3015ca8141b0156448b1 | Author: Roger Pueyo Centelles | Date: Thu Feb 7 20:09:35 2019 +0100 | | mtd: spi-nor: Add support for en25qh64 | | The Eon EN25QH64 is a 64 Mbit SPI NOR flash memory chip found | on recent wireless routers. Its 32, 128 and 256 Mbit siblings | are already supported. | | Tested on a COMFAST CF-E120A v3 router board. | | Signed-off-by: Roger Pueyo Centelles | Reviewed-by: Tudor Ambarus | Signed-off-by: Boris Brezillon Signed-off-by: Ulrich Ölmann Signed-off-by: Sascha Hauer --- drivers/mtd/spi-nor/spi-nor.c | 2 ++ 1 file changed, 2 insertions(+) (limited to 'drivers') diff --git a/drivers/mtd/spi-nor/spi-nor.c b/drivers/mtd/spi-nor/spi-nor.c index 1e1b69626a..038d7072aa 100644 --- a/drivers/mtd/spi-nor/spi-nor.c +++ b/drivers/mtd/spi-nor/spi-nor.c @@ -646,6 +646,8 @@ static const struct spi_device_id spi_nor_ids[] = { { "en25q32b", INFO(0x1c3016, 0, 64 * 1024, 64, 0) }, { "en25p64", INFO(0x1c2017, 0, 64 * 1024, 128, 0) }, { "en25q64", INFO(0x1c3017, 0, 64 * 1024, 128, SECT_4K) }, + { "en25qh64", INFO(0x1c7017, 0, 64 * 1024, 128, + SECT_4K | SPI_NOR_DUAL_READ) }, { "en25qh128", INFO(0x1c7018, 0, 64 * 1024, 256, 0) }, { "en25qh256", INFO(0x1c7019, 0, 64 * 1024, 512, 0) }, { "en25s64", INFO(0x1c3817, 0, 64 * 1024, 128, 0) }, -- cgit v1.2.3 From 15e92d72c79da0453933f3d321c38697f089b32f Mon Sep 17 00:00:00 2001 From: Roland Hieber Date: Tue, 10 Dec 2019 19:31:40 +0100 Subject: of: demote most debug output to loglevel 8 (vdebug) Loglevel 7 (debug) is often useful to get barebox running on new hardware; however, the heavy output of "OF:" messages makes most boards take several minutes to boot to a prompt, printing things which are probably interesting when debugging OF code itself, but not very helpful otherwise. Degrade most of the message to loglevel 8 (vdebug). Signed-off-by: Roland Hieber Signed-off-by: Sascha Hauer --- drivers/of/address.c | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) (limited to 'drivers') diff --git a/drivers/of/address.c b/drivers/of/address.c index 4e12522a0a..007c5fd9d0 100644 --- a/drivers/of/address.c +++ b/drivers/of/address.c @@ -74,7 +74,7 @@ static u64 of_bus_default_map(__be32 *addr, const __be32 *range, s = of_read_number(range + na + pna, ns); da = of_read_number(addr, na); - pr_debug("OF: default map, cp=%llx, s=%llx, da=%llx\n", + pr_vdebug("OF: default map, cp=%llx, s=%llx, da=%llx\n", (unsigned long long)cp, (unsigned long long)s, (unsigned long long)da); @@ -164,7 +164,7 @@ static u64 of_bus_pci_map(__be32 *addr, const __be32 *range, int na, int ns, s = of_read_number(range + na + pna, ns); da = of_read_number(addr + 1, na - 1); - pr_debug("OF: PCI map, cp=%llx, s=%llx, da=%llx\n", + pr_vdebug("OF: PCI map, cp=%llx, s=%llx, da=%llx\n", (unsigned long long)cp, (unsigned long long)s, (unsigned long long)da); @@ -314,18 +314,18 @@ static int of_translate_one(struct device_node *parent, struct of_bus *bus, ranges = of_get_property(parent, rprop, &rlen); #if !defined(CONFIG_PPC) if (ranges == NULL) { - pr_debug("OF: no ranges; cannot translate\n"); + pr_vdebug("OF: no ranges; cannot translate\n"); return 1; } #endif /* !defined(CONFIG_PPC) */ if (ranges == NULL || rlen == 0) { offset = of_read_number(addr, na); memset(addr, 0, pna * 4); - pr_debug("OF: empty ranges; 1:1 translation\n"); + pr_vdebug("OF: empty ranges; 1:1 translation\n"); goto finish; } - pr_debug("OF: walking ranges...\n"); + pr_vdebug("OF: walking ranges...\n"); /* Now walk through the ranges */ rlen /= 4; @@ -336,14 +336,14 @@ static int of_translate_one(struct device_node *parent, struct of_bus *bus, break; } if (offset == OF_BAD_ADDR) { - pr_debug("OF: not found !\n"); + pr_vdebug("OF: not found !\n"); return 1; } memcpy(addr, ranges + na, 4 * pna); finish: of_dump_addr("OF: parent translation for:", addr, pna); - pr_debug("OF: with offset: %llx\n", (unsigned long long)offset); + pr_vdebug("OF: with offset: %llx\n", (unsigned long long)offset); /* Translate it into parent bus space */ return pbus->translate(addr, offset, pna); @@ -368,7 +368,7 @@ static u64 __of_translate_address(struct device_node *dev, int na, ns, pna, pns; u64 result = OF_BAD_ADDR; - pr_debug("OF: ** translation for device %s **\n", dev->full_name); + pr_vdebug("OF: ** translation for device %s **\n", dev->full_name); /* Get parent & match bus type */ parent = of_get_parent(dev); @@ -379,13 +379,13 @@ static u64 __of_translate_address(struct device_node *dev, /* Count address cells & copy address locally */ bus->count_cells(dev, &na, &ns); if (!OF_CHECK_COUNTS(na, ns)) { - pr_debug("prom_parse: Bad cell count for %s\n", + pr_vdebug("prom_parse: Bad cell count for %s\n", dev->full_name); return OF_BAD_ADDR; } memcpy(addr, in_addr, na * 4); - pr_debug("OF: bus is %s (na=%d, ns=%d) on %s\n", + pr_vdebug("OF: bus is %s (na=%d, ns=%d) on %s\n", bus->name, na, ns, parent->full_name); of_dump_addr("OF: translating address:", addr, na); @@ -397,7 +397,7 @@ static u64 __of_translate_address(struct device_node *dev, /* If root, we have finished */ if (parent == NULL) { - pr_debug("OF: reached root node\n"); + pr_vdebug("OF: reached root node\n"); result = of_read_number(addr, na); break; } @@ -411,7 +411,7 @@ static u64 __of_translate_address(struct device_node *dev, break; } - pr_debug("OF: parent bus is %s (na=%d, ns=%d) on %s\n", + pr_vdebug("OF: parent bus is %s (na=%d, ns=%d) on %s\n", pbus->name, pna, pns, parent->full_name); /* Apply bus translation */ -- cgit v1.2.3 From a80b04a0ec96fcd77eeb106fb8d370d97700d427 Mon Sep 17 00:00:00 2001 From: Hubert Feurstein Date: Tue, 10 Dec 2019 15:46:57 +0100 Subject: mci: imx-esdhc: fix termination of statement Use semicolon instead of comma to terminate statement. Signed-off-by: Hubert Feurstein Signed-off-by: Sascha Hauer --- drivers/mci/imx-esdhc.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'drivers') diff --git a/drivers/mci/imx-esdhc.c b/drivers/mci/imx-esdhc.c index 4816608a23..6a9f1196cb 100644 --- a/drivers/mci/imx-esdhc.c +++ b/drivers/mci/imx-esdhc.c @@ -314,7 +314,7 @@ static int fsl_esdhc_probe(struct device_d *dev) host->mci.card_present = esdhc_card_present; host->mci.hw_dev = dev; - dev->detect = fsl_esdhc_detect, + dev->detect = fsl_esdhc_detect; rate = clk_get_rate(host->clk); host->mci.f_min = rate >> 12; -- cgit v1.2.3 From 8cd3e5007c88317735332c1a78251bf7c22d4888 Mon Sep 17 00:00:00 2001 From: Ahmad Fatoum Date: Thu, 12 Dec 2019 20:24:57 +0100 Subject: led: pca955x: remove ineffectual assignment the .num member of struct led is a 'private' member populated by led_register. Populating it has no effect because it's always overwritten. Remove the assignment. Signed-off-by: Ahmad Fatoum Signed-off-by: Sascha Hauer --- drivers/led/led-pca955x.c | 1 - 1 file changed, 1 deletion(-) (limited to 'drivers') diff --git a/drivers/led/led-pca955x.c b/drivers/led/led-pca955x.c index 9c4f7967fb..27fefce8d5 100644 --- a/drivers/led/led-pca955x.c +++ b/drivers/led/led-pca955x.c @@ -316,7 +316,6 @@ led_pca955x_pdata_of_init(struct device_node *np, struct pca955x *pca955x) pca955x_led->led_cdev.name = pca955x_led->name; pca955x_led->led_cdev.set = pca955x_led_set; - pca955x_led->led_cdev.num = pca955x_led->led_num; pca955x_led->led_cdev.max_value = 255; err = led_register(&pca955x_led->led_cdev); -- cgit v1.2.3