驱动笔记 - 混杂设备常用函数

#include <linux/miscdevice.h>
混杂设备:主设备号为10的字符设备
struct miscdevice
{
int minor; //次设备号
const char *name;
const struct file_operations *fops;
struct list_head list;
struct device *parent;
struct device *this_device;
}

混杂设备注册
int misc_register (struct miscdevice * misc);
int misc_deregister (struct miscdevice * misc);

例:

struct miscdevice misc = {
.minor = 12, //若需动态分配填255,不为0为静态分配
.name = DEVICE_NAME,
.fops = &dev_fops,
}

时间: 2024-12-29 09:14:01

驱动笔记 - 混杂设备常用函数的相关文章

驱动笔记 - 字符设备常用函数

字符设备: 静态申请设备号int register_chrdev_region(dev_t from, unsigned count,const char *name)申请使用从from开始的count个设备号(主设备号不变,次设备号增加)from:希望申请使用的设备号count:希望申请使用的设备号数目name:设备文件 动态分配设备号int alloc_chrdev_region(dev_t *dev, unsigned baseminor, unsigned count, const ch

Linux驱动之混杂设备(misc)

字符设备之混杂设备: 定义混杂设备: struct misdevice{ int  minor; //为什么这里只有次设备号,因为混杂设备是一种在                          /////////////////////////Linux系统默认主设备号为10 的特殊字符设备. const char  *name; const struct  file_operation *fops; struct list_head list; struct device  *parent

Oracle学习笔记六 SQL常用函数

函数的分类 Oracle 提供一系列用于执行特定操作的函数 SQL 函数带有一个或多个参数并返回一个值 以下是SQL函数的分类: 单行函数对于从表中查询的每一行只返回一个值 可以出现在 SELECT 子句中和 WHERE 子句中 单行函数可以大致划分为: 1.日期函数 2.数字函数 3.字符函数 4.转换函数 5.其他函数 单行函数 日期函数 日期函数对日期值进行运算,并生成日期数据类型或数值类型的结果 日期函数包括: 1.ADD_MONTHS 2.MONTHS_BETWEEN 3.LAST_D

MySQL学习笔记(三):常用函数

一:字符串函数 需要注意的几个细节: 1.cancat中有一个字符串为null,则结果为null. 2.left(str,x) 和 right(str,x)中x为null,则不返回任何字符串,不是null. 二:数值函数 注意的几个细节: 1.truncate(x,y) 和 round(x,y) 都能截断,只是round会四舍五入,而truncate不会. 三:日期和时间函数 四:流程函数 五:其他函数

驱动笔记 - 字符设备范例

#include <linux/types.h> #include <linux/kernel.h> #include <linux/init.h> #include <linux/module.h> #include <linux/kdev_t.h> #include <linux/fs.h> #include <linux/cdev.h> #include <linux/moduleparam.h> #in

混杂设备驱动--输出两路PWM

尝试用2440的TOUT0和TOUT1输出PWM驱动两个电机,电机的硬件驱动电路是使用L298N. 先单独测试TOUT0的PWM输出: (1)驱动程序:使用misc混杂设备驱动模型,当然也可以使用基本的字符设备模型. 使用misc设备驱动模型步骤: ①初始化一个struct miscdevice结构体:主要是file_operation结构体成员和name ②使用misc_register和misc_deregister注册和注销这个结构体 代码示例: #include <linux/modul

混杂设备驱动模型

一.混杂设备 Linux驱动中把无法归类的五花八门的设备定义为混杂设备(用miscdevice结构体表述).miscdevice共享一个主设备号MISC_MAJOR(即10),但次设备号不同. 所有的miscdevice设备形成了一个链表,对设备访问时内核根据次设备号查找对应的miscdevice设备,然后调用其file_operations结构中注册的文件操作接口进行操作. 在内核中用struct miscdevice表示miscdevice设备,然后调用其file_operations结构中

1.混杂设备驱动

Linux的设备有很多.所以在认识这些设备的时候得有一个方法去系统的对待他们.第一找出在linux内核代码中是使用什么结构来描述混杂设备的.第二是怎么来注册的.下图就是内核里混杂设备的结构. Minor是次设备号,name是主设备号.还有一个struct file_operations的结构是需要我们去初始化的. 上面是混杂设备驱动的注册.所以要实现一个混杂设备驱动.首先是初始化我们的miscdevice结构,接着就是使用misc_register函数注册一个混杂设备. 接下来驱动代码实现:

Samsung_tiny4412(笔记)--&gt;字符设备驱动基本操作及调用流程

/*********************************************************************************** * * Samsung_tiny4412(笔记)-->字符设备驱动基本操作及调用流程 * * 声明: * 以下所有的shell命令都是在root权限下运行的; * * 2015-3-7 阴 深圳 尚观 Sbin 曾剑锋 *******************************************************