原创 Linux regulator子系統分析之三 相關的接口說明

      在上一章我們介紹了regulator子系統相關的數據結構間的關聯以及每一個數據結構的定義。針對數據結構間的關聯則需要regulator子系統提供的接口實現。而本章我們就說明這些接口。本章的章節如下: 一、regulato

原创 Linux regulator子系統分析之四 虛擬regulator device驅動實現

      在前面幾章,我們分析了regulator子系統框架,主要是從數據結構及數據結構間的關聯分析了regulator子系統。爲了讓大家對regulator子系統有一個深入的認識,我們本章將實現一個虛擬的regulator de

原创 Linux regulator子系統分析之二 從數據結構理解系統實現

      上一章我們分析了regulator子系統的總體框架,本章我們將從數據結構入手,從而理解regulator子系統實現。       針對linux 內核各子系統學習而言,在理解了各子系統的實現背景後,再從數據結構入手,可快

原创 linux外設驅動實現專欄:各虛擬外設驅動代碼實現集合

     之前在對linux各子驅動系統的專欄分析中,已經實現了虛擬的外設驅動實現,可幫助想學習設備驅動且沒有開發板的童鞋提供學習環境,目前此處實現的虛擬外設驅動均可在ubuntu16.04/ubuntu18.04上運行驗證,本篇文章主要

原创 Linux虛擬i2c控制器實現---適用於無開發板學習i2c driver

       在之前分析mdio子系統時,我們提到系統實現了fixed-mii_bus,從而爲mac2mac提供虛擬mii_bus和虛擬phy_device,實現對虛擬phy_device的模擬。受此啓發,我打算實現一個虛擬的i2c

原创 Linux nand驅動註冊相關接口說明(Linux mtd子系統專欄分析之五)

       在上一篇文章中,我們分析了nand驅動模型中接口抽象以及相關數據結構體的分析,本章我們主要說明nand驅動模型提供的nand controller驅動註冊以及nand驅動模塊提供的通用接口說明。本章主要包括如下幾個內容

原创 Linux regulator子系統分析之一 總體概述

        Linux regulator子系統主要用於管理電壓、電流電源設備的電壓、電流輸入使能、動態調整電壓、電流等,屬於電源管理的一部分。 從本章開始我們分析regulator子系統。主要分爲如下幾部分: 一、regula

原创 Linux mtd子系統專欄分析之四 NANDFLASH驅動模型概述

      在上幾篇文章中,基本上理清了mtd子系統的架構,並將mtd子系統對上的抽象及相應的函數接口進行了說明。從本章開始,主要以nandflash爲例,介紹具體類型的閃存設備驅動模型是如何銜接mtd的抽象層,並完成對閃存芯片的讀

原创 Linux nand controller驅動開發指導(Linux mtd子系統專欄分析之六)

        在前面的兩章,我們基本上完成了nand驅動模型的介紹以及nand_chip的註冊說明,本章我們主要說明如何進行nand controller驅動的開發,以及我們在進行nandflash的適配時,需要注意的事項。本章的

原创 Linux mtd子系統專欄分析之三 MTD層相關接口說明(註冊與註銷等)

       原文再續,書接上回。在上篇文章中,我們介紹了mtd層相關數據結構以及接口的關聯,並簡要說明了mtd層與vfs、文件系統層、閃存芯片驅動層的關聯,本篇文章主要介紹mtd層相關的接口,這些接口用於實現這些數據結構的關聯與解

原创 Linux pinctrl子系統分析之二 從數據結構關聯理解pinctrl子系統

       上一章我們對pinctrl子系統進行概述,說明了pinctrl子系統相關的概念、軟件框架等內容,本章我們主要從pinctrl子系統數據結構間的關聯,從而理解pinctrl子系統的設計。       pinctrl數據結

原创 Linux pinctrl子系統分析之六 設備與pinctrl子系統的bind

     本章我們分析設備與pinctrl子系統的bind,在前面幾章我們介紹了soc pin 描述相關的數據結構與註冊接口、board pin 描述相關的數據結構與註冊接口,但是我們卻沒有看到是在何時由誰實現對設備相關的引腳進行引

原创 Linux pinctrl子系統分析之四 pinctrl device的註冊與註銷

  前面我們分析了pinctrl子系統相關的數據結構等內容,本章我們分析pinctrl device的註冊與註銷接口。     針對pinctrl device的註冊與註銷主要涉及pinctrl_register、pinctrl_u

原创 Linux pinctrl子系統分析之七---一個虛擬pinctrl dev驅動開發實例

     這周主要對pinctrl子系統進行分析,該分析的基本上已經分析完成,唯一沒有細說的估計就是gpio與pinctrl之間的關聯了。本章即是pinctrl子系統分析的最後一章,本章我們主要實現一個虛擬的pinctrl devi

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

       前面我們已經分析了gpio子系統,從現在開始我們還是把pinctrl子系統學習一下吧,pinctrl子系統主要涉及引腳複用設置、引腳設置等操作。本專欄大概劃分如下幾個篇章: 一、 pinctrl 子系統概述 二、pin