kernel: deprecate support for the generic "linux,part-probe" DT binding
It has been rejected upstream and instead a nice/more generic solution has been implemented. It's possible now to describe partitions format using "compatible" DT string. No OpenWrt target uses "linux,part-probe" anymore, leave it only in case some forks need it. It will be dropped with support for new kernels. Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
This commit is contained in:
		| @@ -6,6 +6,12 @@ physmap_of.c to mtdpart.c. Now all drivers can use this feature by just | |||||||
| providing a reference to their device tree node in struct | providing a reference to their device tree node in struct | ||||||
| mtd_part_parser_data. | mtd_part_parser_data. | ||||||
|  |  | ||||||
|  | THIS METHOD HAS BEEN DEPRECATED | ||||||
|  |  | ||||||
|  | Linux supports "compatible" property in the "partitions" subnode now. It | ||||||
|  | should be used to specify partitions format (and trigger proper parser | ||||||
|  | usage) if needed. | ||||||
|  |  | ||||||
| Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de> | Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de> | ||||||
| --- | --- | ||||||
|  Documentation/devicetree/bindings/mtd/nand.txt | 16 +++++++++ |  Documentation/devicetree/bindings/mtd/nand.txt | 16 +++++++++ | ||||||
| @@ -104,10 +110,13 @@ Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de> | |||||||
|  #include <linux/err.h> |  #include <linux/err.h> | ||||||
|  #include <linux/of.h> |  #include <linux/of.h> | ||||||
|   |   | ||||||
| @@ -835,6 +836,32 @@ void deregister_mtd_parser(struct mtd_pa | @@ -834,6 +835,37 @@ void deregister_mtd_parser(struct mtd_pa | ||||||
|  |  } | ||||||
|  EXPORT_SYMBOL_GPL(deregister_mtd_parser); |  EXPORT_SYMBOL_GPL(deregister_mtd_parser); | ||||||
|   |   | ||||||
|  /* | +#include <linux/version.h> | ||||||
|  | + | ||||||
|  | +/* | ||||||
| + * Parses the linux,part-probe device tree property. | + * Parses the linux,part-probe device tree property. | ||||||
| + * When a non null value is returned it has to be freed with kfree() by | + * When a non null value is returned it has to be freed with kfree() by | ||||||
| + * the caller. | + * the caller. | ||||||
| @@ -130,14 +139,16 @@ Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de> | |||||||
| +	if (count < 0) | +	if (count < 0) | ||||||
| +		return NULL; | +		return NULL; | ||||||
| + | + | ||||||
|  | +	pr_warn("Support for the generic \"linux,part-probe\" has been deprecated and will be removed soon"); | ||||||
|  | +	BUILD_BUG_ON(LINUX_VERSION_CODE >= KERNEL_VERSION(4, 15, 0)); | ||||||
|  | + | ||||||
| +	return res; | +	return res; | ||||||
| +} | +} | ||||||
| + | + | ||||||
| +/* |  /* | ||||||
|   * Do not forget to update 'parse_mtd_partitions()' kerneldoc comment if you |   * Do not forget to update 'parse_mtd_partitions()' kerneldoc comment if you | ||||||
|   * are changing this array! |   * are changing this array! | ||||||
|   */ | @@ -983,6 +1015,13 @@ int parse_mtd_partitions(struct mtd_info | ||||||
| @@ -983,6 +1010,13 @@ int parse_mtd_partitions(struct mtd_info |  | ||||||
|  	struct mtd_partitions pparts = { }; |  	struct mtd_partitions pparts = { }; | ||||||
|  	struct mtd_part_parser *parser; |  	struct mtd_part_parser *parser; | ||||||
|  	int ret, err = 0; |  	int ret, err = 0; | ||||||
| @@ -151,7 +162,7 @@ Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de> | |||||||
|   |   | ||||||
|  	if (!types) |  	if (!types) | ||||||
|  		types = mtd_is_partition(master) ? default_subpartition_types : |  		types = mtd_is_partition(master) ? default_subpartition_types : | ||||||
| @@ -1024,6 +1058,7 @@ int parse_mtd_partitions(struct mtd_info | @@ -1024,6 +1063,7 @@ int parse_mtd_partitions(struct mtd_info | ||||||
|  		if (ret < 0 && !err) |  		if (ret < 0 && !err) | ||||||
|  			err = ret; |  			err = ret; | ||||||
|  	} |  	} | ||||||
|   | |||||||
| @@ -9,7 +9,7 @@ Signed-off-by: Gabor Juhos <juhosg@openwrt.org> | |||||||
|  |  | ||||||
| --- a/drivers/mtd/mtdpart.c | --- a/drivers/mtd/mtdpart.c | ||||||
| +++ b/drivers/mtd/mtdpart.c | +++ b/drivers/mtd/mtdpart.c | ||||||
| @@ -1113,6 +1113,62 @@ void mtd_part_parser_cleanup(struct mtd_ | @@ -1118,6 +1118,62 @@ void mtd_part_parser_cleanup(struct mtd_ | ||||||
|  	} |  	} | ||||||
|  } |  } | ||||||
|   |   | ||||||
|   | |||||||
| @@ -29,7 +29,7 @@ Signed-off-by: Gabor Juhos <juhosg@openwrt.org> | |||||||
|  #ifdef CONFIG_MTD_SPLIT_FIRMWARE_NAME |  #ifdef CONFIG_MTD_SPLIT_FIRMWARE_NAME | ||||||
|  #define SPLIT_FIRMWARE_NAME	CONFIG_MTD_SPLIT_FIRMWARE_NAME |  #define SPLIT_FIRMWARE_NAME	CONFIG_MTD_SPLIT_FIRMWARE_NAME | ||||||
|  #else |  #else | ||||||
| @@ -1223,6 +1234,24 @@ int mtd_is_partition(const struct mtd_in | @@ -1228,6 +1239,24 @@ int mtd_is_partition(const struct mtd_in | ||||||
|  } |  } | ||||||
|  EXPORT_SYMBOL_GPL(mtd_is_partition); |  EXPORT_SYMBOL_GPL(mtd_is_partition); | ||||||
|   |   | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user
	 Rafał Miłecki
					Rafał Miłecki