1 // SPDX-License-Identifier: GPL-2.0-only
3 * Out-of-line map I/O functions for simple maps when CONFIG_COMPLEX_MAPPINGS
7 #include <linux/kernel.h>
8 #include <linux/module.h>
10 #include <linux/mtd/map.h>
11 #include <linux/mtd/xip.h>
13 static map_word __xipram
simple_map_read(struct map_info
*map
, unsigned long ofs
)
15 return inline_map_read(map
, ofs
);
18 static void __xipram
simple_map_write(struct map_info
*map
, const map_word datum
, unsigned long ofs
)
20 inline_map_write(map
, datum
, ofs
);
23 static void __xipram
simple_map_copy_from(struct map_info
*map
, void *to
, unsigned long from
, ssize_t len
)
25 inline_map_copy_from(map
, to
, from
, len
);
28 static void __xipram
simple_map_copy_to(struct map_info
*map
, unsigned long to
, const void *from
, ssize_t len
)
30 inline_map_copy_to(map
, to
, from
, len
);
33 void simple_map_init(struct map_info
*map
)
35 BUG_ON(!map_bankwidth_supported(map
->bankwidth
));
37 map
->read
= simple_map_read
;
38 map
->write
= simple_map_write
;
39 map
->copy_from
= simple_map_copy_from
;
40 map
->copy_to
= simple_map_copy_to
;
43 EXPORT_SYMBOL(simple_map_init
);
44 MODULE_LICENSE("GPL");