This series adds the most minimal EFI partition support for NVIDIA Tegra consumer devices, like Android tablets and game consoles, making theirs eMMC accessible out-of-the-box using downstream bootloader and mainline Linux kernel. eMMC now works on Acer A500 tablet and Ouya game console that are already well supported in mainline and internal storage is the only biggest thing left to support. Changelog: v5: - Implemented alternative_gpt_sector() blk/mmc callback that was suggested by Christoph Hellwig in a comment to v4. - mmc_bdev_to_card() now checks blk fops instead of the major number, like it was suggested by Christoph Hellwig in a comment to v4. - Emailed Rob Herring, which was asked by Ulf Hansson in a comment to v4. Although the of-match change is gone now in v5, the matching is transformed into the new SDHCI quirk of the Tegra driver. v4: - Rebased on top of recent linux-next. v3: - Removed unnecessary v1 hunk that was left by accident in efi.c of v2. v2: - This is continuation of [1] where Davidlohr Bueso suggested that it should be better to avoid supporting in mainline the custom gpt_sector kernel cmdline parameter that downstream Android kernels use. We can do this for the devices that are already mainlined, so I dropped the cmdline from the v2 and left only the variant with a fixed GPT address. [1] https://lore.kernel.org/linux-efi/20210327212100.3834-3-digetx@xxxxxxxxx/T/ Dmitry Osipenko (5): block: Add alternative_gpt_sector() operation mmc: block: Support alternative_gpt_sector() operation mmc: core: Add raw_boot_mult field to mmc_ext_csd mmc: sdhci-tegra: Implement alternative_gpt_sector() partitions/efi: Support non-standard GPT location block/partitions/efi.c | 13 +++++++++++ drivers/mmc/core/block.c | 30 ++++++++++++++++++++++++ drivers/mmc/core/mmc.c | 2 ++ drivers/mmc/host/sdhci-tegra.c | 42 ++++++++++++++++++++++++++++++++++ include/linux/blkdev.h | 1 + include/linux/mmc/card.h | 1 + include/linux/mmc/host.h | 4 ++++ 7 files changed, 93 insertions(+) -- 2.32.0