Android4.0 USB挂载内核驱动层流程分析(一)

1.platform_device在arch/arm/mach-msm/Board-xx.c中:static struct platform_device android_usb_device = {.name = "android_usb",.id = -1,.dev = {.platform_data = &android_usb_pdata, //@1}};st
摘要由CSDN通过智能技术生成

1.platform_device
在arch/arm/mach-msm/Board-xx.c中:

static struct platform_device android_usb_device = {
.name = "android_usb",
.id = -1,
.dev = {
.platform_data = &android_usb_pdata,  //@1
}

};
static struct android_usb_platform_data android_usb_pdata = {
.update_pid_and_serial_num = usb_diag_update_pid_and_serial_num,
};
在rpc_hsusb.c中:

int usb_diag_update_pid_and_serial_num(uint32_t pid, const char *snum)
{
int ret;

ret = msm_hsusb_send_productID(pid);
if (ret)
return ret;

if (!snum) {
ret = msm_hsusb_is_serial_num_null(1);
if (ret)
return ret;
return 0;
}

ret = msm_hsusb_is_serial_num_null(0);
if (ret)
return ret;
ret = msm_hsusb_send_serial_number(snum);
if (ret)
return ret;

return 0;
}
在内核初始化时,先注册了名为android_usb的设备。

2.platform_driver

在drivers/usb/gadge

  • 0
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值