当前位置: 首页 > news >正文

西安网站建设制作价格低客户crm管理系统

西安网站建设制作价格低,客户crm管理系统,美工是做什么的难学吗,网站建设 三乐2.6内核以后的多数驱动都是基于平台总线驱动模型(platform)#xff0c;对于平台总线来说#xff0c;无非是两块组成 platform_driver和platform_device#xff0c;在a5d2的bsp中#xff0c;因为引入了device tree#xff0c;因此#xff0c;代码里已经看不到 platform_…2.6内核以后的多数驱动都是基于平台总线驱动模型(platform)对于平台总线来说无非是两块组成 platform_driver和platform_device在a5d2的bsp中因为引入了device tree因此代码里已经看不到 platform_device了下面以mac驱动为实例来分析device tree 1. 下面两段代码实现了macb平台驱动的注册 driver/net/ethernet/cadence/macb.c include/linux.h 2. macb平台设备的创建是由设备树实现 3. 当注册驱动的时候回调用platform_match这个函数进行driver和device的匹配 static int platform_match(struct device *dev, struct device_driver *drv) static inline int of_driver_match_device(struct device *dev, const struct device_driver *drv) const struct of_device_id *of_match_device(const struct of_device_id *matches, const struct device *dev) const struct of_device_id *of_match_node(const struct of_device_id *matches, const struct device_node *node) static const struct of_device_id *__of_match_node(const struct of_device_id *matches, const struct device_node *node) static int __of_device_is_compatible(const struct device_node *device,const char *compat, const char *type, const char *name) 通过上面的调用流程最终会匹配设备树的compatible与platform_driver的of_match_table(下图) 从上图可以看到最终回匹配到sama5d2-gen匹配成功后便会调用macb_probe函数 在macb_probe函数中进行mdiobus的注册mdiobus的实现在mdio_bus.c 接下来就是从设备树中读取管脚配置并配置管脚复用 int pinctrl_bind_pins(struct device *dev) struct pinctrl *devm_pinctrl_get(struct device *dev) struct pinctrl *pinctrl_get(struct device *dev) static struct pinctrl *create_pinctrl(struct device *dev) int pinctrl_dt_to_map(struct pinctrl *p) static int dt_to_map_one_config(struct pinctrl *p, const char *statename, struct device_node *np_config) static int dt_remember_or_free_map(struct pinctrl *p, const char *statename, struct pinctrl_dev *pctldev,        struct pinctrl_map *map, unsigned num_maps) 最终在这个函数的for循环里可以打印出解析好的管脚配置 map[i].data.mux.group   为管脚的名字如PB14 map[i].data.mux.function 为管脚的功能为GPIO,A,B,C,D,E,F对应sama5d2-pinfunc.h中0,1,2,3,4,5,6 map[i].dev_name 为设备节点名称如 f8008000.ethernet map[i].name 为 pinctrl-names 的值 map[i].ctrl_dev_name 管脚复用节点父节点的名称如fc038000.pinctrl 上面的函数调用完成了设备树管脚配置的解析解析完成后调用 static int atmel_pmx_set_mux(struct pinctrl_dev *pctldev, unsigned function, unsigned group) 来实现真正的管脚配置寄存器的写入
http://www.pierceye.com/news/308265/

相关文章:

  • 网站怎么备份做网站建设要学多久
  • 怎样做买东西的网站外汇期货喊单网站怎么做的
  • 博客网站推荐郑州哪里做网站
  • 贵州建设职业技术学院网站网站开发 多语言
  • 网站后台管理系统怎么进重庆建设工程安全管理局网站
  • 移动网站开发的视频下载百度网盘下载官网
  • 在百度备案网站建设工程检测网
  • 广州企业网站营销电话公司网站怎么做啊
  • 如何利用视频网站做推广网站开发管理学什么
  • 福建漳发建设有限公司网站做网站申请什么商标
  • 专门做房产的网站上海网站开发毕业生
  • 网站域名已经解析但没有被百度等搜索引擎收录怎么办可以做投票功能的网站
  • 重庆网站设计总部什么是社交电商平台
  • 内容管理网站百度电商平台
  • 网站建设 万网网站统计插件
  • 怎么个人网站设计网站建设 不违背
  • 图片下载网站郑州联通网站备案
  • 名师工作室网站建设 意义o2o新零售系统
  • 域名查询权威网站网页设计基础填空题及答案
  • 网站建设策划方案如何写新开传奇新服网
  • dedecms网站上传服务器不是空间网站正则表达式怎么做
  • 青岛企业建设网站企业南宁网站开发建设
  • 网站备案是先做网站还是做完了备案效果好的手机网站建设
  • 做企业宣传网站沈阳妇科检查去哪个医院较好
  • 网站为什么维护wordpress 交易平台
  • 南京 电子商务网站5118数据分析平台官网
  • 试析企业网站建设模式建网站的网络公司
  • 内蒙古建设 招聘信息网站平台搭建
  • 做网站公司共有几处密码公司seo营销
  • 镇江网站制作费用广东华电建设股份有限公司网站