在/sys/中建立裝置子裝置目錄
在drivers/base下的platform.c中:
struct device platform_bus = {
.init_name = "platform",
};
注意它是一個struct device結構型別,它是所有裝置的根目錄。
這是在s5p4418中display.c中的一段程式碼:
再來看lib/kobject.c中的kobject_create_and_add定義:struct kobject *kobj = NULL; /* create attribute interface */ kobj = kobject_create_and_add("display", &platform_bus.kobj); //在/sys/devices/platform中新增一個裝置目錄 if (! kobj) { printk(KERN_ERR "Fail, create kobject for display\n"); return -ret; } ret = sysfs_create_group(kobj, &attr_group); //為裝置新增屬性。
struct kobject *kobject_create_and_add(const char *name, struct kobject *parent) { struct kobject *kobj; int retval; kobj = kobject_create(); if (!kobj) return NULL; retval = kobject_add(kobj, parent, "%s", name); if (retval) { printk(KERN_WARNING "%s: kobject_add error: %d\n", __func__, retval); kobject_put(kobj); kobj = NULL; } return kobj; } EXPORT_SYMBOL_GPL(kobject_create_and_add);
它的第1個引數是要建的目錄的名稱,第2個引數是父目錄的kobject物件(這意為著不光可以在/sys/devices/platform下建立,還可以在任意目錄下建立)。
相關推薦
在/sys/中建立裝置子裝置目錄
在drivers/base下的platform.c中:struct device platform_bus = { .init_name = "platform", }; 注意它是一個struct device結構型別,它是所有裝置的根目錄。這是在s5p4418中displ
在Linux中建立迴環裝置(loopback device)的方法
你有沒有想過在Linux的檔案管理系統中再建立一個檔案系統,就像在Windows中建立一個新的磁碟分割槽那樣(但其實並不必非得直接那麼做)。這時你就需要用到迴環裝置(loop device)。在Linux中,迴環裝置允許使用者以一個普通磁碟檔案虛擬一個塊裝置。設想一個磁碟裝置
快速在VSCode中建立多檔案多目錄C++專案
對於輕量級的VSCode編輯器,我想像使用那些IDE一樣,通過簡單的幾步就能構建出自己的專案檔案樹,類似於下面的結構。所以特地寫了一個指令碼,用於自動建立一個基本的專案。 . ├── Headers │ └── test.hpp ├── makefile ├
程式中建立一個子程序,然後父子程序各自獨自執行,父程序在標準輸入裝置上讀入小寫字母,寫入管道。子程序從管道讀取字元並轉化為大寫字母。讀到x結束
程式中建立一個子程序,然後父子程序各自獨自執行,父程序在標準輸入裝置上讀入小寫字母,寫入管道。子程序從管道讀取字元並轉化為大寫字母。讀到x結束。(非字母字元就輸出本身) 相關的系統函式:fork(),read(),write(),pipe(); 筆者在telnet上寫這些程式碼,由於
android中建立裝置節點
init收到uevent後,對於action為add/remove的uevent,會建立或刪除節點。這在handle_device_event中處理:如果主裝置號或次裝置號無效(-1),則返回;否則會根據subsystem會在dev下不同的目錄中建立裝置節點。
Linux中建立新使用者並賦予指定目錄的相關許可權
需求:建立undead使用者,使用者的主目錄是/home/undead,密碼是123,該使用者具有760許可權 建立使用者且指定該使用者的根路徑和密碼 useradd -d /home/undead -m undead 這種方式建立的使用者可以使用ssh登入
ubuntu16.04中永久修改 USB 裝置許可權
最近使用 USB轉串列埠比較多,但是發展每次使用的時候都需要 手動修改一下 ttyUSB 讀寫許可權, 電腦重啟後就無效了 古尋找一種可以永久更改USB許可權的辦法: 1,檢視USB轉串列埠埠號 dmesg | grep ttyS* 2, 檢視ttyUS
java中建立子類物件時總是會先建立其父類物件
今天跟小夥伴討論到:建立物件時,該物件的父類物件會不會建立,我的觀點是always 以下結合程式碼來證明(沒有經虛擬機器驗證) public class Sub extends Sup{ Sub(){ System.out.println(this
i2c 與 spi 裝置在新版核心中不採用DTS裝置樹形式 在驅動新增裝置資訊(board_info)的方法
本文唯一地址:http://blog.csdn.net/dearsq/article/details/51953610 歡迎轉載,轉載請著名,謝謝~ /* 廢話:在展訊平臺移植 spi 裝置的時候發現完成 dts 和 driver中的 of_match_
eclipse中的tomcat,程式碼中建立file獲取目錄與tomcat單獨執行獲取目錄不同的解決辦法
提示,此程式碼所在的都是rest介面(web專案)中,而不是在普通的Test類或者是main方法中 重現: @GET public Response sayHello(@Cont
39 Oracle深度學習筆記——自動建立ASM UDEV裝置指令碼
指令碼如下: i=`lsscsi | grep updisk | awk '{print $6}' | awk -F '/' '{print $3}' | xargs` for j in $i do temp=`/sbin/scsi_id -g -u /dev/"$j"` e
java中建立目錄的方法mkdirs和mkdir之間的區別
mkdir建立目錄的時候,是根據父目錄來判斷的,如果有父目錄就在它下面建立子目錄,如果沒有,就不會建立目錄 mkdirs()建立目錄的方法是不管有沒有父目錄,都會去建立響應的目錄,所以我們一般使用mkdirs()方法來建立目錄。
linux 驅動建立多個裝置
linux 驅動中建立一個裝置的例子很多,以下例子是建立多個字元裝置的例子,包括驅動部分和測試部分 驅動部分包括 globalmem.c Makefile兩個檔案: globalmem.c file: #include <linux/module.h>
iOS中需要查詢的裝置號, 型號
網上搜索出來的,記錄下來以後使用方便: //手機序列號 NSString* identifierNumber = [[UIDevice currentDevice] uniqueIdentifier]; NSLog(@"手機序列號: %
linux下建立tuntap網路裝置
目標:在linux下建立bridge虛擬網橋、eth虛擬網絡卡、tuntap介面裝置。通過ping來傳遞報文,通過tuntap使使用者應用程式來收發報文。 環境:測試環境為VMware、Ubuntu14。 1.準備工作。 安裝brctl、tunctl: 輸入brctl和tu
視窗中邏輯座標,裝置座標的區別
我先說一下自己在寫貪吃蛇程式時,用座標確定蛇的位置時,用自己座標時發現和自己所料想的座標有差距,所以就查了邏輯座標和裝置座標。自己寫的做標要想和裝置座標保持一致。就必須想辦法。
js中建立、新增、刪除、移動、複製和查詢(子)節點
1)建立新節點createDocumentFragment() //建立一個DOM片段createElement_x() //建立一個具體的元素createTextNode() //建立一個文字節點2)新增、移除、替換、插入appendChild() //新增removeC
Android App開發學習筆記(001)——用Android Studio建立虛擬Android裝置時的注意事項-01
安裝了Android Studio 2.3,建立第一個預設的安卓專案,點選AS的run按鈕,在開啟的對話方塊裡建立了一個AVD(Android Virtual Device),然後就等著虛擬機器螢幕上顯示結果了,但是等了半天,AS的狀態條一直顯示“waiting for t
KVM中的網路IO裝置虛擬化方式
在KVM虛擬化的架構裡,對CPU的虛擬化採用的是硬體輔助的方式(Intel VT-x,AMD-V),效率比較高,記憶體的虛擬化有Intel EPT技術的支援,效率也沒有問題;那麼對於像磁碟驅動器,網絡卡等io裝置來說,KVM提供兩種虛擬化方式:採用全虛擬化純軟體實現的QEM
java在linux中建立目錄遇到的問題
1、如果要在linux中建立多級目錄的話 File dir = new File("/cloud/test/"); if(!dir.exists()){ dir.mkdirs(); } 建立多級目錄的話要使用mkdirs()。 //小結://1、利用mkdir()建