Merge tag 'nfs-for-3.12-1' of git://git.linux-nfs.org/projects/trondmy/linux-nfs
[firefly-linux-kernel-4.4.55.git] / drivers / gpio / gpio-mcp23s08.c
index d96bf8a76f5cf430795073389147d401dae5601d..2deb0c5e54a443a7546c7e4c63bf1e6a833c0d50 100644 (file)
@@ -483,10 +483,21 @@ fail:
 #ifdef CONFIG_SPI_MASTER
 static struct of_device_id mcp23s08_spi_of_match[] = {
        {
-               .compatible = "mcp,mcp23s08", .data = (void *) MCP_TYPE_S08,
+               .compatible = "microchip,mcp23s08",
+               .data = (void *) MCP_TYPE_S08,
        },
        {
-               .compatible = "mcp,mcp23s17", .data = (void *) MCP_TYPE_S17,
+               .compatible = "microchip,mcp23s17",
+               .data = (void *) MCP_TYPE_S17,
+       },
+/* NOTE: The use of the mcp prefix is deprecated and will be removed. */
+       {
+               .compatible = "mcp,mcp23s08",
+               .data = (void *) MCP_TYPE_S08,
+       },
+       {
+               .compatible = "mcp,mcp23s17",
+               .data = (void *) MCP_TYPE_S17,
        },
        { },
 };
@@ -496,10 +507,21 @@ MODULE_DEVICE_TABLE(of, mcp23s08_spi_of_match);
 #if IS_ENABLED(CONFIG_I2C)
 static struct of_device_id mcp23s08_i2c_of_match[] = {
        {
-               .compatible = "mcp,mcp23008", .data = (void *) MCP_TYPE_008,
+               .compatible = "microchip,mcp23008",
+               .data = (void *) MCP_TYPE_008,
+       },
+       {
+               .compatible = "microchip,mcp23017",
+               .data = (void *) MCP_TYPE_017,
        },
+/* NOTE: The use of the mcp prefix is deprecated and will be removed. */
        {
-               .compatible = "mcp,mcp23017", .data = (void *) MCP_TYPE_017,
+               .compatible = "mcp,mcp23008",
+               .data = (void *) MCP_TYPE_008,
+       },
+       {
+               .compatible = "mcp,mcp23017",
+               .data = (void *) MCP_TYPE_017,
        },
        { },
 };
@@ -620,10 +642,15 @@ static int mcp23s08_probe(struct spi_device *spi)
        if (match) {
                type = (int)match->data;
                status = of_property_read_u32(spi->dev.of_node,
-                               "mcp,spi-present-mask", &spi_present_mask);
+                           "microchip,spi-present-mask", &spi_present_mask);
                if (status) {
-                       dev_err(&spi->dev, "DT has no spi-present-mask\n");
-                       return -ENODEV;
+                       status = of_property_read_u32(spi->dev.of_node,
+                                   "mcp,spi-present-mask", &spi_present_mask);
+                       if (status) {
+                               dev_err(&spi->dev,
+                                       "DT has no spi-present-mask\n");
+                               return -ENODEV;
+                       }
                }
                if ((spi_present_mask <= 0) || (spi_present_mask >= 256)) {
                        dev_err(&spi->dev, "invalid spi-present-mask\n");