【Linux设备驱动程序(第三版)】----设备文件的访问控制:独享设备

本文档详细介绍了Linux设备驱动程序中关于设备文件的访问控制,特别是独享设备的实现。通过阅读complete.c源码、理解Makefile配置以及执行设备节点创建、驱动装载、测试和卸载等步骤,读者可以了解到当尝试在多个终端同时访问同一独享设备时,系统如何处理设备忙的状态提示。
摘要由CSDN通过智能技术生成

 【Linux设备驱动程序(第三版)】----设备文件的访问控制:独享设备

complete.c

#include <linux/init.h>
#include <linux/module.h>
#include <linux/sched.h>
#include <linux/kernel.h>
#include <linux/types.h>
#include <linux/fs.h>//file_operations, file
#include <linux/completion.h>
#include <asm/uaccess.h>//copy_to_user & copy_from_user

MODULE_LICENSE("Dual BSD/GPL");
#define MEMSIZE 100
int complete_major = 250;
DECLARE_COMPLETION(comp);
unsigned char s[MEMSIZE];
static atomic_t scull_s_available = ATOMIC_INIT(1);

ssize_t complete_read(struct file *filp, char __user *buf, size_t size, loff_t *pos)
{
	#if 0
	unsigned long p = *pos;
	unsigned int count = size;
	int ret = 0;
	if(p >= MEMSIZE)
		return 0;
	if(count > MEMSIZE - p)
		count = MEMSIZE -p;
	wait_for_completion(&comp);
	if(copy_to_user(buf, (void*)(
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值