Commit 7d8b8c09 authored by Linus Torvalds's avatar Linus Torvalds

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
parents 5cf7a0f3 5bdee549
...@@ -5,7 +5,7 @@ Required properties: ...@@ -5,7 +5,7 @@ Required properties:
- compatible: "sigma,smp8758-nand" - compatible: "sigma,smp8758-nand"
- reg: address/size of nfc_reg, nfc_mem, and pbus_reg - reg: address/size of nfc_reg, nfc_mem, and pbus_reg
- dmas: reference to the DMA channel used by the controller - dmas: reference to the DMA channel used by the controller
- dma-names: "nfc_sbox" - dma-names: "rxtx"
- clocks: reference to the system clock - clocks: reference to the system clock
- #address-cells: <1> - #address-cells: <1>
- #size-cells: <0> - #size-cells: <0>
...@@ -17,9 +17,9 @@ Example: ...@@ -17,9 +17,9 @@ Example:
nandc: nand-controller@2c000 { nandc: nand-controller@2c000 {
compatible = "sigma,smp8758-nand"; compatible = "sigma,smp8758-nand";
reg = <0x2c000 0x30 0x2d000 0x800 0x20000 0x1000>; reg = <0x2c000 0x30>, <0x2d000 0x800>, <0x20000 0x1000>;
dmas = <&dma0 3>; dmas = <&dma0 3>;
dma-names = "nfc_sbox"; dma-names = "rxtx";
clocks = <&clkgen SYS_CLK>; clocks = <&clkgen SYS_CLK>;
#address-cells = <1>; #address-cells = <1>;
#size-cells = <0>; #size-cells = <0>;
......
...@@ -426,6 +426,7 @@ config MTD_NAND_ORION ...@@ -426,6 +426,7 @@ config MTD_NAND_ORION
config MTD_NAND_OXNAS config MTD_NAND_OXNAS
tristate "NAND Flash support for Oxford Semiconductor SoC" tristate "NAND Flash support for Oxford Semiconductor SoC"
depends on HAS_IOMEM
help help
This enables the NAND flash controller on Oxford Semiconductor SoCs. This enables the NAND flash controller on Oxford Semiconductor SoCs.
...@@ -540,7 +541,7 @@ config MTD_NAND_FSMC ...@@ -540,7 +541,7 @@ config MTD_NAND_FSMC
Flexible Static Memory Controller (FSMC) Flexible Static Memory Controller (FSMC)
config MTD_NAND_XWAY config MTD_NAND_XWAY
tristate "Support for NAND on Lantiq XWAY SoC" bool "Support for NAND on Lantiq XWAY SoC"
depends on LANTIQ && SOC_TYPE_XWAY depends on LANTIQ && SOC_TYPE_XWAY
help help
Enables support for NAND Flash chips on Lantiq XWAY SoCs. NAND is attached Enables support for NAND Flash chips on Lantiq XWAY SoCs. NAND is attached
......
...@@ -775,7 +775,7 @@ static int lpc32xx_nand_probe(struct platform_device *pdev) ...@@ -775,7 +775,7 @@ static int lpc32xx_nand_probe(struct platform_device *pdev)
init_completion(&host->comp_controller); init_completion(&host->comp_controller);
host->irq = platform_get_irq(pdev, 0); host->irq = platform_get_irq(pdev, 0);
if ((host->irq < 0) || (host->irq >= NR_IRQS)) { if (host->irq < 0) {
dev_err(&pdev->dev, "failed to get platform irq\n"); dev_err(&pdev->dev, "failed to get platform irq\n");
res = -EINVAL; res = -EINVAL;
goto err_exit3; goto err_exit3;
......
...@@ -632,11 +632,13 @@ static int tango_nand_probe(struct platform_device *pdev) ...@@ -632,11 +632,13 @@ static int tango_nand_probe(struct platform_device *pdev)
if (IS_ERR(nfc->pbus_base)) if (IS_ERR(nfc->pbus_base))
return PTR_ERR(nfc->pbus_base); return PTR_ERR(nfc->pbus_base);
writel_relaxed(MODE_RAW, nfc->pbus_base + PBUS_PAD_MODE);
clk = clk_get(&pdev->dev, NULL); clk = clk_get(&pdev->dev, NULL);
if (IS_ERR(clk)) if (IS_ERR(clk))
return PTR_ERR(clk); return PTR_ERR(clk);
nfc->chan = dma_request_chan(&pdev->dev, "nfc_sbox"); nfc->chan = dma_request_chan(&pdev->dev, "rxtx");
if (IS_ERR(nfc->chan)) if (IS_ERR(nfc->chan))
return PTR_ERR(nfc->chan); return PTR_ERR(nfc->chan);
......
...@@ -232,7 +232,6 @@ static const struct of_device_id xway_nand_match[] = { ...@@ -232,7 +232,6 @@ static const struct of_device_id xway_nand_match[] = {
{ .compatible = "lantiq,nand-xway" }, { .compatible = "lantiq,nand-xway" },
{}, {},
}; };
MODULE_DEVICE_TABLE(of, xway_nand_match);
static struct platform_driver xway_nand_driver = { static struct platform_driver xway_nand_driver = {
.probe = xway_nand_probe, .probe = xway_nand_probe,
...@@ -243,6 +242,4 @@ static struct platform_driver xway_nand_driver = { ...@@ -243,6 +242,4 @@ static struct platform_driver xway_nand_driver = {
}, },
}; };
module_platform_driver(xway_nand_driver); builtin_platform_driver(xway_nand_driver);
MODULE_LICENSE("GPL");
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment