xref: /openbmc/u-boot/fs/btrfs/dev.c (revision e8f80a5a)
1*83d290c5STom Rini // SPDX-License-Identifier: GPL-2.0+
221a14facSMarek Behún /*
321a14facSMarek Behún  * BTRFS filesystem implementation for U-Boot
421a14facSMarek Behún  *
521a14facSMarek Behún  * 2017 Marek Behun, CZ.NIC, marek.behun@nic.cz
621a14facSMarek Behún  */
721a14facSMarek Behún 
821a14facSMarek Behún #include <common.h>
921a14facSMarek Behún #include <compiler.h>
1021a14facSMarek Behún #include <fs_internal.h>
1121a14facSMarek Behún 
1221a14facSMarek Behún struct blk_desc *btrfs_blk_desc;
1321a14facSMarek Behún disk_partition_t *btrfs_part_info;
1421a14facSMarek Behún 
btrfs_devread(u64 address,int byte_len,void * buf)1521a14facSMarek Behún int btrfs_devread(u64 address, int byte_len, void *buf)
1621a14facSMarek Behún {
1721a14facSMarek Behún 	lbaint_t sector;
1821a14facSMarek Behún 	int byte_offset;
1921a14facSMarek Behún 
2021a14facSMarek Behún 	sector = address >> btrfs_blk_desc->log2blksz;
2121a14facSMarek Behún 	byte_offset = address % btrfs_blk_desc->blksz;
2221a14facSMarek Behún 
2321a14facSMarek Behún 	return fs_devread(btrfs_blk_desc, btrfs_part_info, sector, byte_offset,
2421a14facSMarek Behún 			  byte_len, buf);
2521a14facSMarek Behún }
26