- 博客(3)
- 收藏
- 关注
原创 linux clk
static DEFINE_SPINLOCK(lock);static void __init fx6_gate_clocks_init(struct device_node *np){ struct clk_onecell_data *clk_data; struct property *prop; const __be32 *p; const char *clk_parent, *clk_name; unsigned int i=0,
2024-06-19 16:47:12
207
原创 mtd块设备驱动程序调用流程
1.vfs_read->__vfs_read->new_sync_read->call_read_iter->blkdev_read_iter->generic_file_read_iter->generic_file_buffered_read->page_cache_sync_readahead->ondemand_readahead->ra_submit->__do_page_cache_readahead->read_pages->blk_finish_plug->blk_finish_plug_l
2023-06-23 17:02:18
72
1
原创 mtd字符设备驱动程序流程
1.vfs_read->__vfs_read->mtdchar_read->mtd_read->(mtd->_read),如果是分区的字符设备,这个函数就是part_read,接着调用(part->parent->_read),分区设备part的父对象part->parent,就是mtd设备。对于spi nor flash来说,在spi_nor_scan中进行注册,就是spi_nor_read。m25p_probe:先调用spi_nor_scan函数,注册mtd设备的read函数spi_nor_read。
2023-06-23 14:45:43
114
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人