Browse Source

ipq806x: replace linux,part-probe with a proper partitions subnode

This solution is more upstream compatible as it only requires specifying
of_match_table in the parser code and doesn't depend on linux,part-probe
which is solution made generic by a LEDE downstream patch that can't be
upstreamed.

Signed-off-by: Rafał Miłecki <[email protected]>
Tested-by: Stefan Lippers-Hollmann <[email protected]>
Acked-by: John Crispin <[email protected]>
Rafał Miłecki 8 years ago
parent
commit
31aaa670d4

+ 6 - 2
target/linux/ipq806x/files-4.9/arch/arm/boot/dts/qcom-ipq8064-ap148.dts

@@ -122,7 +122,9 @@
 					spi-max-frequency = <50000000>;
 					reg = <0>;
 
-					linux,part-probe = "qcom-smem";
+					partitions {
+						compatible = "qcom,smem";
+					};
 				};
 			};
 		};
@@ -182,7 +184,9 @@
 				nand-bus-width = <8>;
 				nand-ecc-step-size = <512>;
 
-				linux,part-probe = "qcom-smem";
+				partitions {
+					compatible = "qcom,smem";
+				};
 			};
 		};
 

+ 3 - 1
target/linux/ipq806x/files-4.9/arch/arm/boot/dts/qcom-ipq8065-nbg6817.dts

@@ -182,7 +182,9 @@
 					spi-max-frequency = <51200000>;
 					reg = <0>;
 
-					linux,part-probe = "qcom-smem";
+					partitions {
+						compatible = "qcom,smem";
+					};
 				};
 			};
 		};

+ 3 - 1
target/linux/ipq806x/files-4.9/arch/arm/boot/dts/qcom-ipq8065-r7800.dts

@@ -234,7 +234,9 @@
 					spi-max-frequency = <50000000>;
 					reg = <0>;
 
-					linux,part-probe = "qcom-smem";
+					partitions {
+						compatible = "qcom,smem";
+					};
 				};
 			};
 		};

+ 8 - 1
target/linux/ipq806x/patches-4.9/0031-mtd-add-SMEM-parser-for-QCOM-platforms.patch

@@ -34,7 +34,7 @@ Signed-off-by: Ram Chandra Jangir <[email protected]>
  #
 --- /dev/null
 +++ b/drivers/mtd/qcom_smem_part.c
-@@ -0,0 +1,228 @@
+@@ -0,0 +1,235 @@
 +/*
 + * Copyright (c) 2015, The Linux Foundation. All rights reserved.
 + *
@@ -240,10 +240,17 @@ Signed-off-by: Ram Chandra Jangir <[email protected]>
 +	return smem_parts->len;
 +}
 +
++static const struct of_device_id qcom_smem_of_match_table[] = {
++	{ .compatible = "qcom,smem" },
++	{},
++};
++MODULE_DEVICE_TABLE(of, qcom_smem_of_match_table);
++
 +static struct mtd_part_parser qcom_smem_parser = {
 +	.owner = THIS_MODULE,
 +	.parse_fn = parse_qcom_smem_partitions,
 +	.name = "qcom-smem",
++	.of_match_table = qcom_smem_of_match_table,
 +};
 +
 +static int __init qcom_smem_parser_init(void)