Some NVIDIA Tegra devices have GPT entry at a wrong location and others may even not have it at all. So either a custom workaround for GPT parsing or TegraPT support is needed for those devices if we want to support them in upstream kernel. The former solution was already rejected [1], let's try the latter. [1] https://patchwork.ozlabs.org/patch/1240809/ Big thanks to everyone who helped with figuring out the TegraPT format! Dmitry Osipenko (3): mmc: core: Add raw_boot_mult field to mmc_ext_csd mmc: block: Add mmc_bdev_to_card() helper partitions: Introduce NVIDIA Tegra Partition Table arch/arm/mach-tegra/tegra.c | 35 +++ block/partitions/Kconfig | 8 + block/partitions/Makefile | 1 + block/partitions/check.c | 4 + block/partitions/tegra.c | 373 ++++++++++++++++++++++++++++ block/partitions/tegra.h | 71 ++++++ drivers/mmc/core/block.c | 14 ++ drivers/mmc/core/mmc.c | 2 + include/linux/mmc/card.h | 4 + include/soc/tegra/bct.h | 42 ++++ include/soc/tegra/common.h | 9 + include/soc/tegra/partition_table.h | 18 ++ 12 files changed, 581 insertions(+) create mode 100644 block/partitions/tegra.c create mode 100644 block/partitions/tegra.h create mode 100644 include/soc/tegra/bct.h create mode 100644 include/soc/tegra/partition_table.h -- 2.24.0