kernel: backport support for m25p80 compatible="jedec,spi-nor" in DT
Signed-off-by: Felix Fietkau <nbd@openwrt.org> SVN-Revision: 47716
This commit is contained in:
parent
e4d186b109
commit
2a68bea073
1 changed files with 39 additions and 0 deletions
|
@ -0,0 +1,39 @@
|
|||
--- a/drivers/mtd/devices/m25p80.c
|
||||
+++ b/drivers/mtd/devices/m25p80.c
|
||||
@@ -310,11 +310,21 @@ static const struct spi_device_id m25p_i
|
||||
};
|
||||
MODULE_DEVICE_TABLE(spi, m25p_ids);
|
||||
|
||||
+static const struct of_device_id m25p_of_table[] = {
|
||||
+ /*
|
||||
+ * Generic compatibility for SPI NOR that can be identified by the
|
||||
+ * JEDEC READ ID opcode (0x9F). Use this, if possible.
|
||||
+ */
|
||||
+ { .compatible = "jedec,spi-nor" },
|
||||
+ {}
|
||||
+};
|
||||
+MODULE_DEVICE_TABLE(of, m25p_of_table);
|
||||
|
||||
static struct spi_driver m25p80_driver = {
|
||||
.driver = {
|
||||
.name = "m25p80",
|
||||
.owner = THIS_MODULE,
|
||||
+ .of_match_table = m25p_of_table,
|
||||
},
|
||||
.id_table = m25p_ids,
|
||||
.probe = m25p_probe,
|
||||
--- a/drivers/mtd/spi-nor/spi-nor.c
|
||||
+++ b/drivers/mtd/spi-nor/spi-nor.c
|
||||
@@ -927,8 +927,11 @@ int spi_nor_scan(struct spi_nor *nor, co
|
||||
if (ret)
|
||||
return ret;
|
||||
|
||||
- id = spi_nor_match_id(name);
|
||||
+ if (name)
|
||||
+ id = spi_nor_match_id(name);
|
||||
if (!id)
|
||||
+ id = nor->read_id(nor);
|
||||
+ if (IS_ERR_OR_NULL(id))
|
||||
return -ENOENT;
|
||||
|
||||
info = (void *)id->driver_data;
|
Loading…
Reference in a new issue