mtd: mchp23k256: Add OF device ID table
authorChris Packham <chris.packham@alliedtelesis.co.nz>
Wed, 24 May 2017 23:49:12 +0000 (11:49 +1200)
committerBrian Norris <computersforpeace@gmail.com>
Thu, 1 Jun 2017 18:28:53 +0000 (11:28 -0700)
This allows registering of this device via a Device Tree.

Signed-off-by: Chris Packham <chris.packham@alliedtelesis.co.nz>
Reviewed-by: Andrew Lunn <andrew@lunn.ch>
Tested-by: Andrew Lunn <andrew@lunn.ch>
Acked-by: Boris Brezillon <boris.brezillon@free-electrons.com>
Acked-by: Rob Herring <robh@kernel.org>
Signed-off-by: Brian Norris <computersforpeace@gmail.com>
Documentation/devicetree/bindings/mtd/microchip,mchp23k256.txt [new file with mode: 0644]
drivers/mtd/devices/mchp23k256.c

diff --git a/Documentation/devicetree/bindings/mtd/microchip,mchp23k256.txt b/Documentation/devicetree/bindings/mtd/microchip,mchp23k256.txt
new file mode 100644 (file)
index 0000000..25e5ad3
--- /dev/null
@@ -0,0 +1,18 @@
+* MTD SPI driver for Microchip 23K256 (and similar) serial SRAM
+
+Required properties:
+- #address-cells, #size-cells : Must be present if the device has sub-nodes
+  representing partitions.
+- compatible : Must be "microchip,mchp23k256"
+- reg : Chip-Select number
+- spi-max-frequency : Maximum frequency of the SPI bus the chip can operate at
+
+Example:
+
+       spi-sram@0 {
+               #address-cells = <1>;
+               #size-cells = <1>;
+               compatible = "microchip,mchp23k256";
+               reg = <0>;
+               spi-max-frequency = <20000000>;
+       };
index e237db9..9d8306a 100644 (file)
@@ -19,6 +19,7 @@
 #include <linux/sizes.h>
 #include <linux/spi/flash.h>
 #include <linux/spi/spi.h>
+#include <linux/of_device.h>
 
 struct mchp23k256_flash {
        struct spi_device       *spi;
@@ -166,9 +167,16 @@ static int mchp23k256_remove(struct spi_device *spi)
        return mtd_device_unregister(&flash->mtd);
 }
 
+static const struct of_device_id mchp23k256_of_table[] = {
+       { .compatible = "microchip,mchp23k256" },
+       {}
+};
+MODULE_DEVICE_TABLE(of, mchp23k256_of_table);
+
 static struct spi_driver mchp23k256_driver = {
        .driver = {
                .name   = "mchp23k256",
+               .of_match_table = of_match_ptr(mchp23k256_of_table),
        },
        .probe          = mchp23k256_probe,
        .remove         = mchp23k256_remove,