我所理解的linux kernel的移植

2021-08-03 15:47:37 字數 1140 閱讀 2491

struct gpio_chip ;
結構中的(*request)、(*free)、(*get_direction)、(*direction_input)等在移植前都是」空指標」,能被編譯但卻無法使用,需要我們根據具體的soc晶元的資料編寫乙個個具體的、能工作的函式,並將函式的指標」填充」到gpio_chip結構中去,再呼叫gpiochip_add()函式一下,核心和應用程式就可以呼叫我們編寫的驅動程式了。

domain->chip.label = domain->

data

->name;

/* domain->chip.dev = pc->dev; */

domain->chip.

parent

= pc->dev;

domain->chip.request = meson_gpio_request;

domain->chip.free = meson_gpio_free;

domain->chip.direction_input = meson_gpio_direction_input;

domain->chip.direction_output = meson_gpio_direction_output;

domain->chip.get = meson_gpio_get;

domain->chip.

set= meson_gpio_set;

domain->chip.set_pull = meson_gpio_pull_set;

domain->chip.base = domain->

data

->pin_base;

domain->chip.ngpio = domain->

data

->num_pins;

domain->chip.can_sleep =

false;

domain->chip.of_node = domain->of_node;

domain->chip.of_gpio_n_cells =

2;ret = gpiochip_add(&domain->chip);

上面這段程式就是填充的過程。

以此來推,其它驅動也是」類似」填充的。

我所理解的前端

轉眼間,在鵝廠的實習已經過去三個多月,涉及到實習生轉正留用的考核流程也逐步開始了。帶著一堆疑問,以及自己實習期間的心得體會,與導師暢談了一番。他作為資深前端工程師,就前端領域及我個人未來的職業規劃等方面分享了他自己的經驗。這次與導師的溝通讓我受益匪淺,現簡單總結如下。前端知識學習路線 首先,當然是就...

我所理解的陣列

陣列 一 一維陣列 1 陣列的建立 陣列顧名思義是含有相同元素的集合,類似我們高中數學所學習的集合 例如int arr 10 char arr1 2 float arr2 3 double arr3 5 注意 切記 這個中要給常量,不能使用變數。2 陣列的初始化 初始化是指 在陣列的建立同時並賦予合...

我所理解的OpenSocial

昨天在google參加了opensocial的講座,通過三位opensocial工程師的精彩演講,我對這個東西有了一些簡單的理解。下面就把我所理解的opensocial,也算是筆記整理在這裡。1 為什麼會有opensocial?當前社會是乙個網路的社會,當前的網路是乙個社會性的網路,sns遍地開花到...