linux/block/partitions
Christian Marangi 2e3a191e89 block: add support for partition table defined in OF
Add support for partition table defined in Device Tree. Similar to how
it's done with MTD, add support for defining a fixed partition table in
device tree.

A common scenario for this is fixed block (eMMC) embedded devices that
have no MBR or GPT partition table to save storage space. Bootloader
access the block device with absolute address of data.

This is to complete the functionality with an equivalent implementation
with providing partition table with bootargs, for case where the booargs
can't be modified and tweaking the Device Tree is the only solution to
have an usabe partition table.

The implementation follow the fixed-partitions parser used on MTD
devices where a "partitions" node is expected to be declared with
"fixed-partitions" compatible in the OF node of the disk device
(mmc-card for eMMC for example) and each child node declare a label
and a reg with offset and size. If label is not declared, the node name
is used as fallback. Eventually is also possible to declare the read-only
property to flag the partition as read-only.

Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
Reviewed-by: Christoph Hellwig <hch@lst.de>
Link: https://lore.kernel.org/r/20241002221306.4403-6-ansuelsmth@gmail.com
Signed-off-by: Jens Axboe <axboe@kernel.dk>
2024-10-22 08:14:56 -06:00
..
acorn.c block/partitions/acorn: Remove redundant assignments 2022-04-23 07:15:26 -06:00
aix.c block: store a gendisk in struct parsed_partitions 2021-08-12 10:31:35 -06:00
amiga.c block/partition: fix signedness issue for Amiga partitions 2023-07-05 16:34:56 -06:00
atari.c block/partitions/atari: Remove redundant assignment 2022-04-23 07:15:26 -06:00
atari.h block: declare all partition detection routines in check.h 2020-03-24 07:57:08 -06:00
check.h block: add support for partition table defined in OF 2024-10-22 08:14:56 -06:00
cmdline.c block: add support for defining read-only partitions 2024-10-22 08:14:56 -06:00
core.c block: add support for partition table defined in OF 2024-10-22 08:14:56 -06:00
efi.c partitions/efi: use bdev_nr_bytes instead of open coding it 2021-10-19 06:16:50 -06:00
efi.h block: remove genhd.h 2022-02-02 07:49:59 -07:00
ibm.c partitions/ibm: Introduce defines for magic string length values 2023-10-04 08:04:08 -06:00
karma.c block: remove block/partitions/karma.h 2020-03-24 07:57:08 -06:00
Kconfig block: add support for partition table defined in OF 2024-10-22 08:14:56 -06:00
ldm.c block/partitions/ldm: convert strncpy() to strscpy() 2024-04-25 21:07:07 -07:00
ldm.h move asm/unaligned.h to linux/unaligned.h 2024-10-02 17:23:23 -04:00
mac.c block: partitions: only define function mac_fix_string for CONFIG_PPC_PMAC 2024-03-09 07:31:42 -07:00
mac.h block: declare all partition detection routines in check.h 2020-03-24 07:57:08 -06:00
Makefile block: add support for partition table defined in OF 2024-10-22 08:14:56 -06:00
msdos.c move asm/unaligned.h to linux/unaligned.h 2024-10-02 17:23:23 -04:00
of.c block: add support for partition table defined in OF 2024-10-22 08:14:56 -06:00
osf.c block: remove block/partitions/osf.h 2020-03-24 07:57:08 -06:00
sgi.c block: store a gendisk in struct parsed_partitions 2021-08-12 10:31:35 -06:00
sun.c block: store a gendisk in struct parsed_partitions 2021-08-12 10:31:35 -06:00
sysv68.c block: declare all partition detection routines in check.h 2020-03-24 07:57:08 -06:00
ultrix.c block: declare all partition detection routines in check.h 2020-03-24 07:57:08 -06:00