Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

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

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
Loading
Loading
Loading
Loading
+3 −3
Original line number Original line Diff line number Diff line
@@ -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:


	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>;
+2 −1
Original line number Original line Diff line number Diff line
@@ -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
	  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
+1 −1
Original line number Original line Diff line number Diff line
@@ -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;
+3 −1
Original line number Original line Diff line number Diff line
@@ -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);


+1 −4
Original line number Original line Diff line number Diff line
@@ -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 = {
	},
	},
};
};


module_platform_driver(xway_nand_driver);
builtin_platform_driver(xway_nand_driver);

MODULE_LICENSE("GPL");