
kernel_read
文章平均质量分 83
Don't back
这个作者很懒,什么都没留下…
展开
-
Linux I2C概览
I2C相关文件相关文件作用举例提供的函数,结构include/linux/i2c.h定义主要结构体:struct i2c_driverstruct i2c_clientstruct i2c_algorithmdrivers/i2c/i2c-core-base.cdrivers/i2c/i2c-core-of.cdrivers/acpi/bus.cI2C相关结构体1. device_id & msgstruct i2c_device_原创 2021-08-23 11:05:19 · 731 阅读 · 0 评论 -
Linux pinctrl 概览
pinctrl相关文件相关文件作用举例提供的函数,结构include/linux/pinctrl.h定义基本结构体:struct pinctrl_pin_desc;struct pin_gpio_range;struct pinctrl_ops;struct pinctrl_desc;声明相关函数;struct pinctrl_pin_desc{unsigned number;const char *name; void *drv_data}drivers/pinctrl/原创 2021-08-18 14:54:32 · 517 阅读 · 0 评论 -
Linux input 概览
input相关文件相关文件作用举例提供的函数,结构include/linux/input.h定义struct input_dev;struct input_handler;struct input_handle;struct ff_deviceint input_register_handle(struct input_handle *);int __must_check input_register_device(struct input_dev *);include/l原创 2021-08-17 11:54:28 · 625 阅读 · 0 评论 -
从inode到kobject
写的很乱,还需要整理思路。 这几天看的文件系统,先从底下的内核对象kobject,kset看起的,这是所有device对应的linux文件。了解到这是sysfs文件系统的东西,而sysfs文件系统不会一开始就挂上,在系统调用开始最先经过的是vfs,所以看到了vfsmount部分,那里讲述了vfs文件系统以及其他系统的挂载,而这一切都有一个inode的结构做桥梁,所有文件都离不开inode,在ino...原创 2019-12-04 00:17:34 · 489 阅读 · 0 评论 -
inode数据结构_系统分析(2)
从文件系统上来看,挂载一个文件系统也是挂载一个文件,文件系统是一个super_block,它和inode什么关系。从mount挂载命令开始,需要先注册,然后再装载系统。分为如下步骤:1,注册文件系统int register_filesystem(struct file_system_type * fs){ int res = 0; struct file_system_type...原创 2019-12-01 18:49:36 · 515 阅读 · 0 评论 -
inode数据结构_task分析(1)
inode可以说是整个linux最核心的文件节点,所有东西都由inode连接起来。每个文件(和目录)都有且只有一个对应的inode,其中包含元数据(如访问权限、上次修改的日期,等等)和指向文件数据的指针。看一下数据结构:kernel3.4.y/include/linux/fs.hstruct inode { umode_t i_mode; //文件访问权限...原创 2019-11-29 13:35:33 · 995 阅读 · 0 评论 -
va_start,va_list函数的分析及使用
首先,看宏定义typedef char *va_list;//va_list ap;#define _bnd(X, bnd) (((sizeof (X)) + (bnd)) & (~(bnd))) //类型检查, 大小//T 为 type, 数据类型#define va_arg(ap, T) (*(T *)(((ap) += (_...原创 2019-11-19 14:41:43 · 1999 阅读 · 0 评论 -
linux-kernel, bus总线数据结构分析
设备模型中的三大组件是:总线,驱动,设备。bus, driver, device。数据结构总览。总线除了一些物理总线的抽象,还代表一些虚拟的总线,如platform,所以在理解platform之前,了解bus就显得还有必要了。在/sys/目录下可以看到 cpu总线下的文件cpu/├── devices│ └── cpu0 -> ../....原创 2019-11-28 17:59:59 · 699 阅读 · 0 评论 -
kobject,kset的结构分析
kobject 是设备对象kobject是将整个设备模型连接在一起的基础,类型如下:struct kobject { const char *name; struct list_head entry; struct kobject *parent; struct kset *kset; struct kobj_type *ktype; struct sysfs_dire...原创 2019-11-20 14:50:07 · 744 阅读 · 0 评论 -
Linux内核中的C与汇编
《linux情景分析 上》摘录目录AT&T汇编和386汇编的语言格式差别:嵌入C代码中的386汇编语言程序段C中定义函数,汇编中实现GNU汇编语言的32位寻址方式以小写的.s文件是纯汇编语言。以大写的.S文件是吸收了C语言预处理的汇编文件,其中可以使用#include,#ifdef等成分,而数据结构也一样可以在.h文件中定义。AT&T汇编和386汇...原创 2019-05-09 22:50:48 · 731 阅读 · 0 评论 -
tolower()与ctype.c的表驱动法,strnicmp
都知道用strcpy, strncpy, strcat等函数,这次就是想看看string.c源码怎么写的。先看一部分#include <linux/types.h>#include <linux/string.h>#include <linux/ctype.h>#include <linux/kernel.h>#include ...原创 2019-05-09 15:02:57 · 373 阅读 · 0 评论