随笔分类 - linux driver
摘要:apm-emulation driver framework 在suspend_prepare()里会call error = __pm_notifier_call_chain(PM_SUSPEND_PREPARE, -1, &nr_calls); 因为apm-emulation有注册关于此的cal
阅读全文
摘要:linux kernel input event处理流程 input驱动会调用input_register_device()来注册device到input framework; input设备驱动接收到时间输入事件时(接收的方式一般是硬件interrupt),会call input_event()上
阅读全文
摘要:一个简单字符驱动kernel module以及对应测试程序example module Makefile ifneq ($(KERNELRELEASE),) MODULE_NAME = slub_debug_test_module $(MODULE_NAME)-objs := slub_debug_
阅读全文
摘要:usb device connect kernel log 08-13 10:00:15.220 <4>[ 2790.586965] ==20201013==> hub_port_init 1 #008-13 10:00:15.220 <4>[ 2790.586974] Plug in USB Po
阅读全文
摘要:tty 3.控制终端(/dev/tty) 如果当前进程有控制终端(Controlling Terminal)的话,那么/dev/tty就是当前进程的控制终端的设备特殊文件。 可以使用命令”ps –ax”来查看进程与哪个控制终端相连。对于你登录的shell,/dev/tty就是你使用的终端, 设备号是
阅读全文
摘要:Cache是eMMC中临时存储数据的位置,相比于Nand,Cache可以提供更快的存取速度。一般可以用于临时存放逻辑数据、算法表格等等。Cache大小由Devcie在EXT CSD中给出,以1KB为单位。Host可以通过设置EXT CSD[33] CACHE_CTRL来进行使能。Host可以通过Fl
阅读全文
摘要:Power Off Notification (PON) 1) Short Power Off Notification: Host shall expect a shorter timeout when this command is executed. The max value is defi
阅读全文
摘要:really_probe() platform_device_register platform_device_add device_add bus_probe_device device_initial_probe __device_attach __device_attach_driver dr
阅读全文
摘要:User Area from:http://ericnode.info/post/how_to_determine_emmc_size/ 计算方法其实已经在规范中给出了,参考eMMC 5.0 spec里的段落。首先是: 7.3.12 C_SIZE [73:62] The C_SIZE paramet
阅读全文
摘要:get the emmc capacity in kernel 4.19\drivers\mmc\core\Mmc.c static int mmc_decode_ext_csd(struct mmc_card *card, u8 *ext_csd) if (card->ext_csd.rev >=
阅读全文
摘要:ATA硬盘、ISCSI磁盘及USB盘等都挂到scsi总线上,磁盘名称都是sd?开头的,对于一个sd?的磁盘如何知道它是属于哪类的磁盘? 找到一个方法,通过/sys/class/scsi_disk建立一张sd? <--> host_no的对应表,又通过/syc/class/scsi_host建立一张h
阅读全文
摘要:Linux那些事儿之我是SCSI硬盘(3)磁盘磁盘你动起来! https://blog.csdn.net/fudan_abc/article/details/1922643
阅读全文
摘要:待机(STR)suspend device flow [17-04-12.162][ 234.769661] [<ffffff8008155698>] alarmtimer_suspend+0x1dc/0x1f4[17-04-12.162][ 234.769667] [<ffffff80086357
阅读全文
摘要:在注册platform_driver的时候,其中的shutdown函数是什么时候调用的呢?static struct platform_driver advwdt_driver = { .remove = advwdt_remove, .shutdown = advwdt_shutdown, .dr
阅读全文