aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@linux-foundation.org>2017-01-17 11:50:59 -0500
committerLinus Torvalds <torvalds@linux-foundation.org>2017-01-17 11:50:59 -0500
commit7d8b8c09d71dab6747c519d869cc93352b359af3 (patch)
tree51d0c04d038b08fb9fe3e1fca25f0d5c4b73b093
parent5cf7a0f3442b2312326c39f571d637669a478235 (diff)
parent5bdee5496978c6738dd90869b54c0f30c0344ccf (diff)
Merge tag 'for-linus-20170116' of git://git.infradead.org/linux-mtd
Pull MTD fixes from Brian Norris: "Just NAND updates from Boris: - avoid compiling xway NAND controller driver as a module (which didn't work) - fix tango NAND DT binding and make sure the controller is in a clean state at probe time - add dependency on HAS_IOMEM to the oxnas NAND driver - fix irq number validity check in the lpc32xx driver" * tag 'for-linus-20170116' of git://git.infradead.org/linux-mtd: mtd: nand: lpc32xx: fix invalid error handling of a requested irq mtd: nand: tango: Reset pbus to raw mode in probe mtd: nand: tango: Update DT binding description mtd: nand: oxnas_nand: fix build errors on arch/um, require HAS_IOMEM mtd: nand: xway: fix build because of module functions mtd: nand: xway: disable module support
-rw-r--r--Documentation/devicetree/bindings/mtd/tango-nand.txt6
-rw-r--r--drivers/mtd/nand/Kconfig3
-rw-r--r--drivers/mtd/nand/lpc32xx_mlc.c2
-rw-r--r--drivers/mtd/nand/tango_nand.c4
-rw-r--r--drivers/mtd/nand/xway_nand.c5
5 files changed, 10 insertions, 10 deletions
diff --git a/Documentation/devicetree/bindings/mtd/tango-nand.txt b/Documentation/devicetree/bindings/mtd/tango-nand.txt
index ad5a02f2ac8c..cd1bf2ac9055 100644
--- a/Documentation/devicetree/bindings/mtd/tango-nand.txt
+++ b/Documentation/devicetree/bindings/mtd/tango-nand.txt
@@ -5,7 +5,7 @@ Required properties:
5- compatible: "sigma,smp8758-nand" 5- compatible: "sigma,smp8758-nand"
6- reg: address/size of nfc_reg, nfc_mem, and pbus_reg 6- reg: address/size of nfc_reg, nfc_mem, and pbus_reg
7- dmas: reference to the DMA channel used by the controller 7- dmas: reference to the DMA channel used by the controller
8- dma-names: "nfc_sbox" 8- dma-names: "rxtx"
9- clocks: reference to the system clock 9- clocks: reference to the system clock
10- #address-cells: <1> 10- #address-cells: <1>
11- #size-cells: <0> 11- #size-cells: <0>
@@ -17,9 +17,9 @@ Example:
17 17
18 nandc: nand-controller@2c000 { 18 nandc: nand-controller@2c000 {
19 compatible = "sigma,smp8758-nand"; 19 compatible = "sigma,smp8758-nand";
20 reg = <0x2c000 0x30 0x2d000 0x800 0x20000 0x1000>; 20 reg = <0x2c000 0x30>, <0x2d000 0x800>, <0x20000 0x1000>;
21 dmas = <&dma0 3>; 21 dmas = <&dma0 3>;
22 dma-names = "nfc_sbox"; 22 dma-names = "rxtx";
23 clocks = <&clkgen SYS_CLK>; 23 clocks = <&clkgen SYS_CLK>;
24 #address-cells = <1>; 24 #address-cells = <1>;
25 #size-cells = <0>; 25 #size-cells = <0>;
diff --git a/drivers/mtd/nand/Kconfig b/drivers/mtd/nand/Kconfig
index 353a9ddf6b97..9ce5dcb4abd0 100644
--- a/drivers/mtd/nand/Kconfig
+++ b/drivers/mtd/nand/Kconfig
@@ -426,6 +426,7 @@ config MTD_NAND_ORION
426 426
427config MTD_NAND_OXNAS 427config MTD_NAND_OXNAS
428 tristate "NAND Flash support for Oxford Semiconductor SoC" 428 tristate "NAND Flash support for Oxford Semiconductor SoC"
429 depends on HAS_IOMEM
429 help 430 help
430 This enables the NAND flash controller on Oxford Semiconductor SoCs. 431 This enables the NAND flash controller on Oxford Semiconductor SoCs.
431 432
@@ -540,7 +541,7 @@ config MTD_NAND_FSMC
540 Flexible Static Memory Controller (FSMC) 541 Flexible Static Memory Controller (FSMC)
541 542
542config MTD_NAND_XWAY 543config MTD_NAND_XWAY
543 tristate "Support for NAND on Lantiq XWAY SoC" 544 bool "Support for NAND on Lantiq XWAY SoC"
544 depends on LANTIQ && SOC_TYPE_XWAY 545 depends on LANTIQ && SOC_TYPE_XWAY
545 help 546 help
546 Enables support for NAND Flash chips on Lantiq XWAY SoCs. NAND is attached 547 Enables support for NAND Flash chips on Lantiq XWAY SoCs. NAND is attached
diff --git a/drivers/mtd/nand/lpc32xx_mlc.c b/drivers/mtd/nand/lpc32xx_mlc.c
index 5553a5d9efd1..846a66c1b133 100644
--- a/drivers/mtd/nand/lpc32xx_mlc.c
+++ b/drivers/mtd/nand/lpc32xx_mlc.c
@@ -775,7 +775,7 @@ static int lpc32xx_nand_probe(struct platform_device *pdev)
775 init_completion(&host->comp_controller); 775 init_completion(&host->comp_controller);
776 776
777 host->irq = platform_get_irq(pdev, 0); 777 host->irq = platform_get_irq(pdev, 0);
778 if ((host->irq < 0) || (host->irq >= NR_IRQS)) { 778 if (host->irq < 0) {
779 dev_err(&pdev->dev, "failed to get platform irq\n"); 779 dev_err(&pdev->dev, "failed to get platform irq\n");
780 res = -EINVAL; 780 res = -EINVAL;
781 goto err_exit3; 781 goto err_exit3;
diff --git a/drivers/mtd/nand/tango_nand.c b/drivers/mtd/nand/tango_nand.c
index 28c7f474be77..4a5e948c62df 100644
--- a/drivers/mtd/nand/tango_nand.c
+++ b/drivers/mtd/nand/tango_nand.c
@@ -632,11 +632,13 @@ static int tango_nand_probe(struct platform_device *pdev)
632 if (IS_ERR(nfc->pbus_base)) 632 if (IS_ERR(nfc->pbus_base))
633 return PTR_ERR(nfc->pbus_base); 633 return PTR_ERR(nfc->pbus_base);
634 634
635 writel_relaxed(MODE_RAW, nfc->pbus_base + PBUS_PAD_MODE);
636
635 clk = clk_get(&pdev->dev, NULL); 637 clk = clk_get(&pdev->dev, NULL);
636 if (IS_ERR(clk)) 638 if (IS_ERR(clk))
637 return PTR_ERR(clk); 639 return PTR_ERR(clk);
638 640
639 nfc->chan = dma_request_chan(&pdev->dev, "nfc_sbox"); 641 nfc->chan = dma_request_chan(&pdev->dev, "rxtx");
640 if (IS_ERR(nfc->chan)) 642 if (IS_ERR(nfc->chan))
641 return PTR_ERR(nfc->chan); 643 return PTR_ERR(nfc->chan);
642 644
diff --git a/drivers/mtd/nand/xway_nand.c b/drivers/mtd/nand/xway_nand.c
index 1f2948c0c458..895101a5e686 100644
--- a/drivers/mtd/nand/xway_nand.c
+++ b/drivers/mtd/nand/xway_nand.c
@@ -232,7 +232,6 @@ static const struct of_device_id xway_nand_match[] = {
232 { .compatible = "lantiq,nand-xway" }, 232 { .compatible = "lantiq,nand-xway" },
233 {}, 233 {},
234}; 234};
235MODULE_DEVICE_TABLE(of, xway_nand_match);
236 235
237static struct platform_driver xway_nand_driver = { 236static struct platform_driver xway_nand_driver = {
238 .probe = xway_nand_probe, 237 .probe = xway_nand_probe,
@@ -243,6 +242,4 @@ static struct platform_driver xway_nand_driver = {
243 }, 242 },
244}; 243};
245 244
246module_platform_driver(xway_nand_driver); 245builtin_platform_driver(xway_nand_driver);
247
248MODULE_LICENSE("GPL");