diff options
author | Marek Vasut <marex@denx.de> | 2016-06-20 15:28:36 +0200 |
---|---|---|
committer | Zoltan HERPAI <wigyori@uid0.hu> | 2016-06-20 15:28:36 +0200 |
commit | 870678baa7f8b9a65945237704d84d7724f42459 (patch) | |
tree | 29dba8a076d9e53752b02f768dcdbe15fa9271cd /target/linux/socfpga/patches-4.4/0028-mtd-ofpart-grab-device-tree-node-directly-from-maste.patch | |
parent | 8864b97350bde1fffe614df3c0bfc0cb34fb40d4 (diff) | |
download | master-187ad058-870678baa7f8b9a65945237704d84d7724f42459.tar.gz master-187ad058-870678baa7f8b9a65945237704d84d7724f42459.tar.bz2 master-187ad058-870678baa7f8b9a65945237704d84d7724f42459.zip |
target: socfpga: Add support for QSPI NOR boot
Add necessary kernel backports to support the Cadence QSPI controller
present on the Altera SoCFPGA SoC.
Signed-off-by: Marek Vasut <marex@denx.de>
Diffstat (limited to 'target/linux/socfpga/patches-4.4/0028-mtd-ofpart-grab-device-tree-node-directly-from-maste.patch')
-rw-r--r-- | target/linux/socfpga/patches-4.4/0028-mtd-ofpart-grab-device-tree-node-directly-from-maste.patch | 81 |
1 files changed, 81 insertions, 0 deletions
diff --git a/target/linux/socfpga/patches-4.4/0028-mtd-ofpart-grab-device-tree-node-directly-from-maste.patch b/target/linux/socfpga/patches-4.4/0028-mtd-ofpart-grab-device-tree-node-directly-from-maste.patch new file mode 100644 index 0000000000..3787607236 --- /dev/null +++ b/target/linux/socfpga/patches-4.4/0028-mtd-ofpart-grab-device-tree-node-directly-from-maste.patch @@ -0,0 +1,81 @@ +From 62b613003aa4cef3f8bf9a2ec4c7709daf4dde8a Mon Sep 17 00:00:00 2001 +From: Brian Norris <computersforpeace@gmail.com> +Date: Fri, 30 Oct 2015 20:33:21 -0700 +Subject: [PATCH 28/33] mtd: ofpart: grab device tree node directly from master + device node + +It seems more logical to use a device node directly associated with the +MTD master device (i.e., mtd->dev.of_node field) rather than requiring +auxiliary partition parser information to be passed in by the driver in +a separate struct. + +This patch supports the mtd->dev.of_node field and deprecates the parser +data 'of_node' field + +Driver conversions may now follow. + +Additional side benefit to assigning mtd->dev.of_node rather than using +parser data: the driver core will automatically create a device -> node +symlink for us. + +Signed-off-by: Brian Norris <computersforpeace@gmail.com> +Reviewed-by: Boris Brezillon <boris.brezillon@free-electrons.com> +--- + drivers/mtd/ofpart.c | 18 ++++++++++-------- + include/linux/mtd/partitions.h | 4 +++- + 2 files changed, 13 insertions(+), 9 deletions(-) + +diff --git a/drivers/mtd/ofpart.c b/drivers/mtd/ofpart.c +index 9ed6038..cf4780c 100644 +--- a/drivers/mtd/ofpart.c ++++ b/drivers/mtd/ofpart.c +@@ -37,10 +37,11 @@ static int parse_ofpart_partitions(struct mtd_info *master, + bool dedicated = true; + + +- if (!data) +- return 0; +- +- mtd_node = data->of_node; ++ /* ++ * of_node can be provided through auxiliary parser data or (preferred) ++ * by assigning the master device node ++ */ ++ mtd_node = data && data->of_node ? data->of_node : mtd_get_of_node(master); + if (!mtd_node) + return 0; + +@@ -157,10 +158,11 @@ static int parse_ofoldpart_partitions(struct mtd_info *master, + } *part; + const char *names; + +- if (!data) +- return 0; +- +- dp = data->of_node; ++ /* ++ * of_node can be provided through auxiliary parser data or (preferred) ++ * by assigning the master device node ++ */ ++ dp = data && data->of_node ? data->of_node : mtd_get_of_node(master); + if (!dp) + return 0; + +diff --git a/include/linux/mtd/partitions.h b/include/linux/mtd/partitions.h +index 6a35e6d..e742f34 100644 +--- a/include/linux/mtd/partitions.h ++++ b/include/linux/mtd/partitions.h +@@ -56,7 +56,9 @@ struct device_node; + /** + * struct mtd_part_parser_data - used to pass data to MTD partition parsers. + * @origin: for RedBoot, start address of MTD device +- * @of_node: for OF parsers, device node containing partitioning information ++ * @of_node: for OF parsers, device node containing partitioning information. ++ * This field is deprecated, as the device node should simply be ++ * assigned to the master struct device. + */ + struct mtd_part_parser_data { + unsigned long origin; +-- +2.8.1 + |