LDD3 linux裝置驅動程式學習之lddbus__linux

來源:互聯網
上載者:User

1. struct device不再包含bus_id,取而代之的是.init_name,修改ldd_bus

  struct device ldd_bus = {        .init_name = "ldd0",        .release = ldd_bus_release};
修改函數register_ldd_device如下:
   將strncpy(ldddev->dev.bus_id, ldddev->name, BUS_ID_SIZE);
替換為:
   ldddev->dev.init_name = ldddev->name;


修改函數ldd_match如下:
   return !(strncmp(dev->bus_id, driver->name, strlen(driver->name));
修改為
   return !strncmp(dev->init_name, driver->name, strlen(driver->name));

2. 結構體struct bus_type已經改變,不再包含hotplug,取而代之的是uevent,故修改
結構體ldd_bus_type如下:

struct bus_type ldd_bus_type = {        .name = "ldd",        .match = ldd_match,        .uevent = ldd_uevent,};
而原來的函數ldd_hotplug用ldd_event來取代如下:

static int ldd_uevent(struct device *dev, struct kobj_uevent_env *env) {    env->envp[0] = evn->buf;    if (snprintf(env->buf, env->buflen, "LDDBUS_VERSION=%s", Version) >= env->buflen)       return -ENOMEM;   env->envp[1] = NULL;   return 0;}




聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.