17.08.2021 11:24, Ulf Hansson пишет:
quoted
+int tegra_partition_forced_gpt(struct parsed_partitions *state)
+{
+ struct gendisk *disk = state->disk;
+ struct block_device *bdev = disk->part0;
+ struct mmc_card *card = mmc_bdev_to_card(bdev);
+ int ret, boot_offset;
+
+ if (!soc_is_tegra())
+ return 0;
+
+ /* filter out unrelated and untested boot sources */
+ if (!card || card->ext_csd.rev < 3 ||
+ !mmc_card_is_blockaddr(card) ||
+ mmc_card_is_removable(card->host) ||
+ bdev_logical_block_size(bdev) != SZ_512 ||
+ !of_match_node(tegra_sdhci_match, card->host->parent->of_node)) {
I think you need to convince Rob Herring that the location of the GPT
table in the eMMC flash memory is allowed to depend on the compatible
string of the sdhci controller.
I'll CC Rob on the next revision, although I think he doesn't care much
about this.
In any case, I think Christoph raised some interesting ideas in his
reply. Moving more of this code into the mmc core/block layer seems
reasonable to me as well.
Will prepare v5, thanks.