小板匹配 从上层到下层

原创 2016年05月31日 14:48:06

上层通过读取节点/proc/oppo_smallboard_id的值来获取是否匹配,如果值是1,则表明匹配。

那么这个节点的值是怎么来的了,通过全局搜索可以发现在devices_list.c文件中有定义

static ssize_t mallboard_id_read(struct file *file, char __user *buf, size_t count, loff_t *pos)
{

        char temp_buffer[2];
	int num_read_chars = 0;
	
    num_read_chars += sprintf(temp_buffer, "%d\n",smallboard);
	num_read_chars = simple_read_from_buffer(buf, count, pos, temp_buffer, strlen(temp_buffer));
	return num_read_chars; 
}


static ssize_t  smallboard_id_write(struct file *file, char __user *buf, size_t count, loff_t *ppos)
{
	/*not support write now*/
	return count;
}
static const struct file_operations smallboard_id = {
	.write       = smallboard_id_write,
	.read	     = smallboard_id_read,
};

上面可以看出定义了一个结构体 smallboard_id,并且定义了它的读写方法,写方法不支持,读方法调用了simple_read_from_buffer,这个方法的作用是讲内核的数据搞到用户空间。明显就是把smallboard的数据搞到节点proc/oppo_smallboard_id,多简单。那看看这个数据是怎么来的吧

static void smallboard_version_check(void)
{
	switch(get_project()) {
			int id0 = 0;
			id0 = mt_get_gpio_in(GPIO16);
			
			printk("smallboard_version_check id1 = %d\n",id0);
			if(id0 == 1)
				smallboard = SMALLBOARD_VERSION__1;
			else
				smallboard = SMALLBOARD_VERSION__0;
			break;
		}
	}
	printk("smallboard_version_check oppo_smallboard = %d\n",oppo_smallboard);
}
由函数mt_get_gpio_in名字都可以知道,是读取一个gpio的电压值,电压值不同表示不同的小板。

那么这个smallboard_version_check函数是谁调用的呢?

static int oppo_dev_platform_probe(struct platform_device *pdev)
{
  	
   smallboard_version_check();
   proc_create("smallboard_id", 0666, NULL, &smallboard_id);	
    return 0;
}
原来是在probe函数调用的,那么这个probe函数又是谁调用的呢?

肯定是register函数了,我们知道驱动注册都是调用probe函数啦,就是module_init函数




两层板(双面板)如何控制50欧特性阻抗

我们都知道,在射频电路的设计过程中,走线保持50欧姆的特性阻抗是一件很重要的事情,尤其是在Wi-Fi产品的射频电路设计过程中,由于工作频率很高(2.4GHz或者5.8GHz),特性阻抗的控制就显得更加...
  • Uncle_GUO
  • Uncle_GUO
  • 2015年03月20日 14:59
  • 3245

二叉树的层次遍历,从上到下和从下到上分层打印

用queue和vector都可以实现层次遍历
  • lzx_2011
  • lzx_2011
  • 2014年04月26日 22:07
  • 2311

阻抗计算(用SI9000如何计算微带线)

用SI9000如何计算微带线                一.几个概念: 阻抗的定义:在某一频率下,电子器件传输信号线中,相对某一参考层,其高频信号或电磁波在传播过程中所受的阻力称之为特...
  • Uncle_GUO
  • Uncle_GUO
  • 2015年03月20日 14:55
  • 2215

Camera 上层到下层分析

Camera 上层到下层分析   什么是系统服务        在系统中,服务是指执行指定系统功能的程序、例程或进程,以便支持其他程序,尤其是低层(接近硬件)程序。通过网络提供服务时,服...
  • lqxandroid2012
  • lqxandroid2012
  • 2015年06月10日 10:01
  • 1028

CAN 小板 收发闪灯代码

  • 2011年07月04日 14:58
  • 845KB
  • 下载

USB转TTL升级小板驱动程序-CH340驱动

  • 2015年04月21日 10:56
  • 147KB
  • 下载

C8051F320系统小板

  • 2011年08月13日 14:18
  • 2.89MB
  • 下载

f281最小板原理图

  • 2008年04月07日 17:27
  • 4.18MB
  • 下载

洞洞板排版小软件(美化你的小板吧

  • 2014年07月21日 15:06
  • 581KB
  • 下载

长城小方板 TSUM1PFR-LF 1280X1024 可和M95小板通用

  • 2014年07月21日 17:08
  • 128KB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:小板匹配 从上层到下层
举报原因:
原因补充:

(最多只允许输入30个字)