1. 程式人生 > >在/sys/class下建立訪問節點

在/sys/class下建立訪問節點

在驅動開發中我們經常要提供應用層或者debug的訪問節點,核心中有一個介面class_register可以建立這種節點,下面是我在一個專案中使用的程式碼,有需要的可以參考,

static ssize_t headset_enable_store(struct class *class,struct class_attribute *attr,   const char *buf, size_t count)
{
        int value = simple_strtoul(buf, NULL, 0);

        if(value) g_headset_enable = 1;
        else g_headset_enable = 0;
        return count;
}

static ssize_t headset_enable_show(struct class *class,struct class_attribute *attr,   char *buf)
{
        return sprintf(buf, "%d\n", g_headset_enable?1:0);
}

static struct class_attribute headset_class_attrs[] = {
        __ATTR(enable,S_IRUGO|S_IWUSR,headset_enable_show,headset_enable_store),
        __ATTR_NULL
};

static struct class headset_class = {
        .name = "headset_class",
        .class_attrs = headset_class_attrs,
};


class_register(&headset_class);


相關推薦

在/sys/class建立訪問節點

在驅動開發中我們經常要提供應用層或者debug的訪問節點,核心中有一個介面class_register可以建立這種節點,下面是我在一個專案中使用的程式碼,有需要的可以參考, static ssize_

Oracle在sys模式建立觸發器報錯的原因以及如何更改

SYS模式下建立一張表,然後在這個表上建立一個觸發器。結果出現錯誤--無法對SYS模式對像建立觸發器 解決方法是:建立一個新的使用者,將你SYS使用者下的表移過去,然後建立觸發器。 create user test identified by test default ta

sys目錄建立屬性檔案 sysfs_create_group()

正常情況下, 我們可以通過module_param()在module相應目錄下建立一個檔案, 以用作user space與kernel space的互動. 如果需要在/sys/bus/usb/devices/usbx目錄下建立相應檔案, 則需要用到sysfs_create_

Linux用文件IO的方式操作GPIO(/sys/class/gpio)(轉)

char include clu wro linux fcntl sysfs 查看 printf 通過sysfs方式控制GPIO,先訪問/sys/class/gpio目錄,向export文件寫入GPIO編號,使得該GPIO的操作接口從內核空間暴露到用戶空間,GPIO的操作接

linux對/sys/class/gpio中的gpio的控制 (轉)-----ircut

linux下對/sys/class/gpio中的gpio的控制 (轉) 在嵌入式裝置中對GPIO的操作是最基本的操作。一般的做法是寫一個單獨驅動程式,網上大多數的例子都是這樣的。其實linux下面有一個通用的GPIO操作介面,那就是我要介紹的 “/sys/class/gpio” 方式。

NFS: Linux 建立區域網共享資料庫,讓K臺電腦同時訪問一個硬碟

Host sudo apt-get install nfs-kernel-server sudo gedit /etc/exports # /etc/exports: the access co

win7建立ftp站點,及區域網訪問問題

程式中用到ftp檔案提取的問題,需要搭建ftp站點來進行開發測試,在不用serv-u等軟體的前提下,使用win7自帶的iis搭建ftp站點,網上相關教程很多,但都是簡單的匿名登入和本機使用的,區域網還要設定資料夾訪問許可權和windows防火牆問題。 一.建立ftp站點

Docker Centos7 建立 Docker 橋接網絡

bin pipe route pack config pre err 為什麽 4.3 為什麽要讓docker橋接物理網絡? docker默認提供了一個隔離的內網環境,啟動時會建立一個docker0的虛擬網卡,每個容器都是連接到docker0網卡上的。而docker0的ip段

關於WEB-INF目錄無法訪問webapp的css等靜態文件

訪問 static class sharp sco 靜態文件 ext 輸出 pos <!-- 輸出為項目根目錄,即webapp--> <c:set value="${pageContext.request.contextPath}" var="p

Python class的屬性訪問控制和內建函數重寫實現高級功能以及@property

back 實例 溫習 error: blog sta rac bubuko 訪問 一、類屬性的訪問控制 Python Class確實是博大精深,我們還是來溫習一下屬性的訪問控制作為開(fu)場(xi)。 首先_varname是可以訪問的,__varname是不能直接訪問(原

Eclipse建立簡單JNI程序實現返回double類型

package 技術分享 png 環境變量path post 磁盤 jni 函數 height 在Eclipse下生成時要註意,由於通常是在package裏面添加類,而非像單獨建立工程時獨立添加,所以,在編譯的時候,都需要進入包所在的文件夾, javac 包名.類名 這樣的

Linux 建立 Git 與 GitHub 的連接

需要 name 文件內容 不能 ubunt 一個 成功 objects 開始 Git 是一款開源的分布式版本控制系統,而 GitHub 是依托 Git 的代碼托管平臺。 GitHub 利用 Git 極其強大的克隆和分支功能,使得社區成員能夠自由地參與到開源項目中去。 不過

vue個兄弟節點

ext script div pre current style brush asc ren checkOne(e) { e.currentTarget.nextElementSibling.style.background = ‘red‘ }   vue下個

Linux使用Node.js建立訪問靜態網頁的服務實例詳解

else r.js list 運行 pos 文件 content head 建立 Linux使用Node.js建立訪問靜態網頁的服務實例詳解一、安裝node.js運行所需要的環境。二、創建node目錄(/node/www),並在目錄下創建node.js服務文件server.

CentOS7.4建立DNS主從服務器(二)

bind dns master-slave (一)DNS主從同步的原理:1、master DNS服務器每次修改完成並重啟服務後,將傳送notify給所有的slave DNS服務器; 2、slave DNS服務器將查詢master服務器的SOA記錄; 3、master DNS服務器收到請求後將SOA

向上查詢父節點遞歸查詢和向查詢子節點遞歸查詢函數

層級關系 AR 遞歸查詢 sta mpc tid 時間 獲取 由於 本文為博主原創,未經允許不得轉載: 由於在項目中用到了向上查詢父節點的遞歸查詢和向下查詢子節點查詢的遞歸查詢,由於在實現過程中,寫遞歸查詢的sql函數 花費了較長的時間,所以在此總結一下,兩種遞歸查詢的函數

thinkphp5.0 +nginx在contos7配置訪問

pathinfo code ase cgi配置 開放 contos ram software info Nginx vhost配置:server{listen 80;server_name lp.t1.com t1.com;index index.php;#根目錄設置到Pu

windowstelnet訪問dubbo

.... 訪問 進入 控制臺 dubbo name windows 成功 ice cmd 控制臺輸出 telnet ip port 如下 telnet localhost 20880 進入dubbo窗口 ls pwd cd .... 可以通過invoke service.

解決華為AR100W-S路由器回流問題(內網環境無法訪問自己的外網地址)

ani blog ges size ces 默認 手動 服務器 lan 1、 登入後切換到高級模式 2、設置好了專線IP後默認會有一個外網訪問接口GE0/0/4,手動再添加一個內網訪問接口,Vlanif1為內網接口名 3、配置內部服務器1)新建一個外網接口,GE0/0/4

(在數據庫中調用webservices。)SQL Server 阻止了對組件 'Ole Automation Procedures' 的 過程'sys.sp_OACreate' 的訪問

關閉 高級 create onf 開啟 show res roc pro --開啟 Ole Automation Procedures sp_configure ‘show advanced options‘, 1; GO RECONFIGURE; GO sp_config