原创 Linux pinctrl子系統分析之三 數據結構分析

       在上一章我們通過數據結構間的關聯,說明了pinctrl子系統的軟件框架。本章我們主要介紹每一個數據結構的定義,從而加深對pinctrl子系統相關的數據結構理解。本章我們依然從soc pin描述、board pin描述、

原创 Linux pinctrl子系統分析之五 pinctrl map註冊與註銷

        前面我們分析了pinctrl device的註冊與註銷接口。本章我們分析pinctrl maps的註冊,pinctrl maps屬於board pin描述相關的範疇。            針對pinctrl map

原创 Linux pwm子系統分析之二 gpio-pwm驅動實踐

      在上面一章,我們介紹了pwm子系統的框架以及數據結構等內容,而pwm 子系統中pwm_chip的註冊與註銷接口也就是實現pwm_chip與pwm_device之間的關聯,並將pwm_chip放入系統pwm_chip鏈表中,

原创 Linux hwmon子系統分析之一 系統框架說明

       從本章開始,我們進行hwmon子系統的分析,hwmon即hardware monitoring framework,硬件監視框架,包括溫度傳感器、風扇、電源等器件驅動的框架。hwmon子系統主要藉助sysfs提供的api接口

原创 Linux led子系統分析之二 led子系統軟件架構及數據結構

       上一章對led子系統進行了概述,本章我們主要分析led子系統軟件架構及數據結構。led子系統涉及的數據結構不多,軟件架構也相對簡單,下面我們就簡要說明一下。本章的主要內容如下:   一、led子系統數據結構及關聯  

原创 Linux gpio 子系統分析之一 系統概述

       從今天開始我們將分析gpio子系統,gpio子系統相對來說比較簡單GPIO子系統主要涉及如下內容(開啓gpio子系統專欄的介紹,主要爲了後面進行led子系統的分析,在led子系統的分析時,我們會藉助一個虛擬的gpio控

原创 Linux input子系統分析之三 input device/handler註冊與註銷分析

    上一章我們分析了input子系統主要的數據結構,本章我們主要分析input hander、input device、input handle的註冊與註銷。本章的主要內容如下: 一、input device的註冊與註銷說明 二、

原创 Linux gpio 子系統分析之三 虛擬gpio控制器驅動實現

       在前面兩章我們分析了gpio子系統的內容,主要包括gpio子系統內部架構,以及gpio子系統與其他內核子系統的關聯等內容,主要主要介紹如何實現一個gpio控制器驅動。        一般來說,gpio控制器驅動一般都是soc

原创 Linux gpio子系統分析之二 軟件架構

      上一章大致對gpio子系統進行了說明,本章我們對gpio子系統的軟件進行說明,本章的主 要內容如下: 一、gpio子系統相關數據結構及其關聯說明 二、gpio子系統相關接口說明   gpio子系統相關數據結構及其關聯說明

原创 Linux led子系統分析之三 led設備驅動與ledtrigger驅動實現

       在前面兩章,我們介紹了led子系統的軟件框架與數據結構,本章我們實現一個led設備驅動、ledtrigger,用於led子系統的驅動開發練習,本章的主要內容如下: 一、led設備驅動開發流程 二、led trigger

原创 Linux hwmon 子系統分析之三 新版本hwmon子系統說明

      上一篇文章我們實現了一個模擬的hwmon device,且針對該hwmon device的屬性訪問操作均是藉助sysfs file(我們創建了4個通道溫度的sysfs文件temp1_input、temp2_input…),而s

原创 Linux pwm子系統分析之一 系統框架說明

     最近分析的幾個子系統驅動,均通過sysfs下的目錄及文件與子系統進行交互,今天我們順帶將pwm子系統也分析一下吧。在上一章中我們藉助led子系統及gpio子系統,在led子系統下實現了針對led-gpio的gpio-pwm

原创 Linux led子系統分析之一 系統概述

      從今天開始我們分析一下led子系統,該子系統主要實現對led設備的驅動和操作。led子系統和我們之前介紹的hwmon、gpio子系統有一個共同的特點,即藉助sysfs創建一個設備相關的屬性文件,可供應用程序藉助sysfs

原创 Linux input子系統分析之二 相關數據結構及其關聯說明

      在上一章我們介紹了input子系統的總體框架,本章則主要說明input相關的數據結構結構,以及這些數據結構之間的關聯。對於linux內核而言,只要我們理解了其數據結構之間的關聯,基本上也就大致瞭解其子系統的實現。   一

原创 Linux hwmon子系統分析之二 hwmon driver開發實踐

在上一篇文章中,我們分析了hwmon子系統框架。針對hwmon子系統而言,在linux內核4.4及之前   版本中,hwmon子系統核心功能並不多,僅僅是創建一個device類型的變量,並加入到class hwmon中,而linux 內核