#include "rk_camera.h"\r
+#include "rk30_camera.h"\r
#include <linux/gpio.h>\r
#include <linux/delay.h>\r
#include <linux/version.h>\r
#include <linux/moduleparam.h>\r
#include <linux/of_gpio.h>\r
-//**********yzm***********//\r
+/**********yzm***********/\r
#include <linux/of.h>\r
#include <linux/of_irq.h>\r
#include <linux/kernel.h>\r
#include <linux/of_platform.h>\r
#include <linux/of_fdt.h>\r
#include <linux/module.h>\r
-//**********yzm***********//\r
+/**********yzm***********/\r
\r
-#define PMEM_CAM_NECESSARY 0x00000000 //yzm\r
+//#define PMEM_CAM_NECESSARY 0x00000000 /*yzm*/\r
\r
-static int camio_version = KERNEL_VERSION(0,1,9);//yzm camio_version\r
+static int camio_version = KERNEL_VERSION(0,1,9);/*yzm camio_version*/ \r
module_param(camio_version, int, S_IRUGO);\r
\r
-static int camera_debug = 0;//yzm camera_debug\r
+static int camera_debug = 0;/*yzm*/ \r
module_param(camera_debug, int, S_IRUGO|S_IWUSR); \r
\r
#undef CAMMODULE_NAME\r
static int rk_sensor_ioctrl(struct device *dev,enum rk29camera_ioctrl_cmd cmd, int on);\r
static int rk_sensor_power(struct device *dev, int on);\r
static int rk_sensor_register(void);\r
-//static int rk_sensor_reset(struct device *dev);\r
+/*static int rk_sensor_reset(struct device *dev);*/\r
+\r
+static int rk_dts_sensor_probe(struct platform_device *pdev);\r
+static int rk_dts_sensor_remove(struct platform_device *pdev);\r
+static int rk_dts_cif_probe(struct platform_device *pdev);\r
+static int rk_dts_cif_remove(struct platform_device *pdev);\r
+\r
static int rk_sensor_powerdown(struct device *dev, int on);\r
\r
+static struct rkcamera_platform_data *new_camera_head; \r
+\r
static struct rk29camera_platform_data rk_camera_platform_data = {\r
.io_init = rk_sensor_io_init,\r
.io_deinit = rk_sensor_io_deinit,\r
\r
};\r
\r
+struct rk29camera_platform_ioctl_cb sensor_ioctl_cb = {\r
+ .sensor_power_cb = NULL,\r
+ .sensor_reset_cb = NULL,\r
+ .sensor_powerdown_cb = NULL,\r
+ .sensor_flash_cb = NULL,\r
+ .sensor_af_cb = NULL,\r
+};\r
+\r
\r
static u64 rockchip_device_camera_dmamask = 0xffffffffUL;\r
#if RK_SUPPORT_CIF0\r
#if RK_SUPPORT_CIF0\r
struct platform_device rk_device_camera_host_0 = {\r
.name = RK29_CAM_DRV_NAME,\r
- .id = RK_CAM_PLATFORM_DEV_ID_0, // This is used to put cameras on this interface \r
+ .id = RK_CAM_PLATFORM_DEV_ID_0, /* This is used to put cameras on this interface*/ \r
.num_resources= 2,\r
- .resource = rk_camera_resource_host_0,//yzm\r
+ .resource = rk_camera_resource_host_0,/*yzm*/\r
.dev = {\r
.dma_mask = &rockchip_device_camera_dmamask,\r
.coherent_dma_mask = 0xffffffffUL,\r
#if RK_SUPPORT_CIF1\r
struct platform_device rk_device_camera_host_1 = {\r
.name = RK29_CAM_DRV_NAME,\r
- .id = RK_CAM_PLATFORM_DEV_ID_1, // This is used to put cameras on this interface \r
+ .id = RK_CAM_PLATFORM_DEV_ID_1, /* This is used to put cameras on this interface */\r
.num_resources = ARRAY_SIZE(rk_camera_resource_host_1),\r
- .resource = rk_camera_resource_host_1,//yzm\r
+ .resource = rk_camera_resource_host_1,/*yzm*/\r
.dev = {\r
.dma_mask = &rockchip_device_camera_dmamask,\r
.coherent_dma_mask = 0xffffffffUL,\r
.remove = rk_dts_sensor_remove,\r
};\r
\r
-//************yzm***************\r
\r
static int rk_dts_sensor_remove(struct platform_device *pdev)\r
{\r
struct device *dev = &pdev->dev;\r
struct rkcamera_platform_data *new_camera_list;\r
\r
+\r
debug_printk( "/$$$$$$$$$$$$$$$$$$$$$$//n Here I am: %s:%i-------%s()/n", __FILE__, __LINE__,__FUNCTION__);\r
+ \r
np = dev->of_node;\r
if (!np)\r
return -ENODEV;\r
- \r
for_each_child_of_node(np, cp) {\r
u32 flash_attach,mir,i2c_rata,i2c_chl,i2c_add,cif_chl,mclk_rate,is_front;\r
u32 resolution,pwdn_info,powerup_sequence;\r
\r
strcpy(new_camera->dev.i2c_cam_info.type, cp->name);\r
new_camera->dev.i2c_cam_info.addr = i2c_add>>1;\r
- new_camera->dev.desc_info.host_desc.bus_id = RK29_CAM_PLATFORM_DEV_ID+cif_chl;//yzm\r
- new_camera->dev.desc_info.host_desc.i2c_adapter_id = i2c_chl;//yzm\r
- new_camera->dev.desc_info.host_desc.module_name = cp->name;//const\r
+ new_camera->dev.desc_info.host_desc.bus_id = RK29_CAM_PLATFORM_DEV_ID+cif_chl;/*yzm*/\r
+ new_camera->dev.desc_info.host_desc.i2c_adapter_id = i2c_chl;/*yzm*/\r
+ new_camera->dev.desc_info.host_desc.module_name = cp->name;/*const*/\r
new_camera->dev.device_info.name = "soc-camera-pdrv";\r
if(is_front)\r
sprintf(new_camera->dev_name,"%s_%s",cp->name,"front");\r
new_camera->mclk_rate = mclk_rate;\r
new_camera->of_node = cp;\r
\r
- // device = container_of(&(new_camera[sensor_num].dev.desc_info),rk_camera_device_register_info_t,desc_info);\r
- // debug_printk( "sensor num %d ,desc_info point %p +++++++\n",sensor_num,&(new_camera.dev.desc_info));\r
- // debug_printk( "sensor num %d ,dev %p +++++++\n",sensor_num,&(new_camera.dev));\r
- // debug_printk( "sensor num %d ,device point %p +++++++\n",sensor_num,device);\r
debug_printk( "******************* /n power = %x\n", power);\r
debug_printk( "******************* /n powerdown = %x\n", powerdown);\r
debug_printk( "******************* /n i2c_add = %x\n", new_camera->dev.i2c_cam_info.addr << 1);\r
return 0;\r
}\r
\r
-static int rk_dts_cif_probe(struct platform_device *pdev) //yzm\r
+static int rk_dts_cif_probe(struct platform_device *pdev) /*yzm*/\r
{\r
int irq,err;\r
struct device *dev = &pdev->dev;\r
return -ENODEV;\r
}\r
rk_camera_resource_host_0[0].flags = IORESOURCE_MEM;\r
- //map irqs\r
+ /*map irqs*/\r
irq = irq_of_parse_and_map(dev->of_node, 0);\r
if (irq < 0) {\r
printk(KERN_EMERG "Get irq resource from %s platform device failed!",pdev->name);\r
rk_camera_resource_host_0[1].start = irq;\r
rk_camera_resource_host_0[1].end = irq;\r
rk_camera_resource_host_0[1].flags = IORESOURCE_IRQ;\r
- //debug_printk( "/$$$$$$$$$$$$$$$$$$$$$$//n res = [%x--%x] \n",rk_camera_resource_host_0[0].start , rk_camera_resource_host_0[0].end);\r
- //debug_printk( "/$$$$$$$$$$$$$$$$$$$$$$//n irq_num = %d\n",irq);\r
return 0;\r
}\r
\r
\r
return 0;\r
}\r
- \r
+\r
+/************yzm**************end*/\r
\r
static int sensor_power_default_cb (struct rk29camera_gpio_res *res, int on)\r
{\r
if (camera_power != INVALID_GPIO) {\r
if (camera_io_init & RK29_CAM_POWERACTIVE_MASK) {\r
if (on) {\r
- //gpio_set_value(camera_power, ((camera_ioflag&RK29_CAM_POWERACTIVE_MASK)>>RK29_CAM_POWERACTIVE_BITPOS));\r
+ /*gpio_set_value(camera_power, ((camera_ioflag&RK29_CAM_POWERACTIVE_MASK)>>RK29_CAM_POWERACTIVE_BITPOS));*/\r
gpio_direction_output(camera_power,1);\r
dprintk("%s PowerPin=%d ..PinLevel = %x",res->dev_name, camera_power, ((camera_ioflag&RK29_CAM_POWERACTIVE_MASK)>>RK29_CAM_POWERACTIVE_BITPOS));\r
msleep(10);\r
} else {\r
- //gpio_set_value(camera_power, (((~camera_ioflag)&RK29_CAM_POWERACTIVE_MASK)>>RK29_CAM_POWERACTIVE_BITPOS));\r
+ /*gpio_set_value(camera_power, (((~camera_ioflag)&RK29_CAM_POWERACTIVE_MASK)>>RK29_CAM_POWERACTIVE_BITPOS));*/\r
gpio_direction_output(camera_power,0);\r
dprintk("%s PowerPin=%d ..PinLevel = %x",res->dev_name, camera_power, (((~camera_ioflag)&RK29_CAM_POWERACTIVE_MASK)>>RK29_CAM_POWERACTIVE_BITPOS));\r
}\r
return ret;\r
}\r
\r
-/*\r
-static void rk29_sensor_fps_get(int idx, unsigned int *val, int w, int h)\r
-{\r
-\r
-debug_printk( "/$$$$$$$$$$$$$$$$$$$$$$//n Here I am: %s:%i-------%s()/n", __FILE__, __LINE__,__FUNCTION__);\r
-\r
-\r
- switch (idx)\r
- {\r
- #ifdef CONFIG_SENSOR_0\r
- case 0:\r
- {\r
- if ((w==176) && (h==144)) {\r
- *val = CONFIG_SENSOR_QCIF_FPS_FIXED_0;\r
- #ifdef CONFIG_SENSOR_240X160_FPS_FIXED_0\r
- } else if ((w==240) && (h==160)) {\r
- *val = CONFIG_SENSOR_240X160_FPS_FIXED_0;\r
- #endif\r
- } else if ((w==320) && (h==240)) {\r
- *val = CONFIG_SENSOR_QVGA_FPS_FIXED_0;\r
- } else if ((w==352) && (h==288)) {\r
- *val = CONFIG_SENSOR_CIF_FPS_FIXED_0;\r
- } else if ((w==640) && (h==480)) {\r
- *val = CONFIG_SENSOR_VGA_FPS_FIXED_0;\r
- } else if ((w==720) && (h==480)) {\r
- *val = CONFIG_SENSOR_480P_FPS_FIXED_0;\r
- } else if ((w==800) && (h==600)) {\r
- *val = CONFIG_SENSOR_SVGA_FPS_FIXED_0;\r
- } else if ((w==1280) && (h==720)) {\r
- *val = CONFIG_SENSOR_720P_FPS_FIXED_0;\r
- }\r
- break;\r
- }\r
- #endif\r
- #ifdef CONFIG_SENSOR_1\r
- case 1:\r
- {\r
- if ((w==176) && (h==144)) {\r
- *val = CONFIG_SENSOR_QCIF_FPS_FIXED_1;\r
- #ifdef CONFIG_SENSOR_240X160_FPS_FIXED_1\r
- } else if ((w==240) && (h==160)) {\r
- *val = CONFIG_SENSOR_240X160_FPS_FIXED_1;\r
- #endif\r
- } else if ((w==320) && (h==240)) {\r
- *val = CONFIG_SENSOR_QVGA_FPS_FIXED_1;\r
- } else if ((w==352) && (h==288)) {\r
- *val = CONFIG_SENSOR_CIF_FPS_FIXED_1;\r
- } else if ((w==640) && (h==480)) {\r
- *val = CONFIG_SENSOR_VGA_FPS_FIXED_1;\r
- } else if ((w==720) && (h==480)) {\r
- *val = CONFIG_SENSOR_480P_FPS_FIXED_1;\r
- } else if ((w==800) && (h==600)) {\r
- *val = CONFIG_SENSOR_SVGA_FPS_FIXED_1;\r
- } else if ((w==1280) && (h==720)) {\r
- *val = CONFIG_SENSOR_720P_FPS_FIXED_1;\r
- }\r
- break;\r
- }\r
- #endif\r
- #ifdef CONFIG_SENSOR_01\r
- case 2:\r
- {\r
- if ((w==176) && (h==144)) {\r
- *val = CONFIG_SENSOR_QCIF_FPS_FIXED_01;\r
- #ifdef CONFIG_SENSOR_240X160_FPS_FIXED_01\r
- } else if ((w==240) && (h==160)) {\r
- *val = CONFIG_SENSOR_240X160_FPS_FIXED_01;\r
- #endif\r
- } else if ((w==320) && (h==240)) {\r
- *val = CONFIG_SENSOR_QVGA_FPS_FIXED_01;\r
- } else if ((w==352) && (h==288)) {\r
- *val = CONFIG_SENSOR_CIF_FPS_FIXED_01;\r
- } else if ((w==640) && (h==480)) {\r
- *val = CONFIG_SENSOR_VGA_FPS_FIXED_01;\r
- } else if ((w==720) && (h==480)) {\r
- *val = CONFIG_SENSOR_480P_FPS_FIXED_01;\r
- } else if ((w==800) && (h==600)) {\r
- *val = CONFIG_SENSOR_SVGA_FPS_FIXED_01;\r
- } else if ((w==1280) && (h==720)) {\r
- *val = CONFIG_SENSOR_720P_FPS_FIXED_01;\r
- }\r
- break;\r
- }\r
- #endif\r
- #ifdef CONFIG_SENSOR_02\r
- case 3:\r
- {\r
- if ((w==176) && (h==144)) {\r
- *val = CONFIG_SENSOR_QCIF_FPS_FIXED_02;\r
- #ifdef CONFIG_SENSOR_240X160_FPS_FIXED_02\r
- } else if ((w==240) && (h==160)) {\r
- *val = CONFIG_SENSOR_240X160_FPS_FIXED_02;\r
- #endif\r
- } else if ((w==320) && (h==240)) {\r
- *val = CONFIG_SENSOR_QVGA_FPS_FIXED_02;\r
- } else if ((w==352) && (h==288)) {\r
- *val = CONFIG_SENSOR_CIF_FPS_FIXED_02;\r
- } else if ((w==640) && (h==480)) {\r
- *val = CONFIG_SENSOR_VGA_FPS_FIXED_02;\r
- } else if ((w==720) && (h==480)) {\r
- *val = CONFIG_SENSOR_480P_FPS_FIXED_02;\r
- } else if ((w==800) && (h==600)) {\r
- *val = CONFIG_SENSOR_SVGA_FPS_FIXED_02;\r
- } else if ((w==1280) && (h==720)) {\r
- *val = CONFIG_SENSOR_720P_FPS_FIXED_02;\r
- }\r
- break;\r
- }\r
- #endif\r
- \r
- #ifdef CONFIG_SENSOR_11\r
- case 4:\r
- {\r
- if ((w==176) && (h==144)) {\r
- *val = CONFIG_SENSOR_QCIF_FPS_FIXED_11;\r
- #ifdef CONFIG_SENSOR_240X160_FPS_FIXED_11\r
- } else if ((w==240) && (h==160)) {\r
- *val = CONFIG_SENSOR_240X160_FPS_FIXED_11;\r
- #endif\r
- } else if ((w==320) && (h==240)) {\r
- *val = CONFIG_SENSOR_QVGA_FPS_FIXED_11;\r
- } else if ((w==352) && (h==288)) {\r
- *val = CONFIG_SENSOR_CIF_FPS_FIXED_11;\r
- } else if ((w==640) && (h==480)) {\r
- *val = CONFIG_SENSOR_VGA_FPS_FIXED_11;\r
- } else if ((w==720) && (h==480)) {\r
- *val = CONFIG_SENSOR_480P_FPS_FIXED_11;\r
- } else if ((w==800) && (h==600)) {\r
- *val = CONFIG_SENSOR_SVGA_FPS_FIXED_11;\r
- } else if ((w==1280) && (h==720)) {\r
- *val = CONFIG_SENSOR_720P_FPS_FIXED_11;\r
- }\r
- break;\r
- }\r
- #endif\r
- #ifdef CONFIG_SENSOR_12\r
- case 5:\r
- {\r
- if ((w==176) && (h==144)) {\r
- *val = CONFIG_SENSOR_QCIF_FPS_FIXED_12;\r
- #ifdef CONFIG_SENSOR_240X160_FPS_FIXED_12\r
- } else if ((w==240) && (h==160)) {\r
- *val = CONFIG_SENSOR_240X160_FPS_FIXED_12;\r
- #endif\r
- } else if ((w==320) && (h==240)) {\r
- *val = CONFIG_SENSOR_QVGA_FPS_FIXED_12;\r
- } else if ((w==352) && (h==288)) {\r
- *val = CONFIG_SENSOR_CIF_FPS_FIXED_12;\r
- } else if ((w==640) && (h==480)) {\r
- *val = CONFIG_SENSOR_VGA_FPS_FIXED_12;\r
- } else if ((w==720) && (h==480)) {\r
- *val = CONFIG_SENSOR_480P_FPS_FIXED_12;\r
- } else if ((w==800) && (h==600)) {\r
- *val = CONFIG_SENSOR_SVGA_FPS_FIXED_12;\r
- } else if ((w==1280) && (h==720)) {\r
- *val = CONFIG_SENSOR_720P_FPS_FIXED_12;\r
- }\r
- break;\r
- }\r
- #endif\r
- default:\r
- eprintk(" sensor-%d have not been define in board file!",idx);\r
- }\r
-}\r
-*/\r
static int _rk_sensor_io_init_(struct rk29camera_gpio_res *gpio_res,struct device_node *of_node)\r
{\r
int ret = 0;\r
bool io_requested_in_camera;\r
enum of_gpio_flags flags;\r
\r
- struct rkcamera_platform_data *new_camera;//yzm\r
- //struct device_node *parent_node;\r
+ struct rkcamera_platform_data *new_camera;/*yzm*/\r
debug_printk( "/$$$$$$$$$$$$$$$$$$$$$$//n Here I am: %s:%i-------%s()\n", __FILE__, __LINE__,__FUNCTION__);\r
\r
\r
if (camera_power != INVALID_GPIO) {\r
debug_printk( "/$$$$$$$$$$$$$$$$$$$$$$/ camera_power = %x\n", camera_power );\r
\r
- camera_power = of_get_named_gpio_flags(of_node,"rockchip,power",0,&flags);//yzm\r
- gpio_res->gpio_power = camera_power;//yzm,½«ioµÄÍêÕûÐÅÏ¢´«»ØÈ¥¡£\r
+ camera_power = of_get_named_gpio_flags(of_node,"rockchip,power",0,&flags);/*yzm*/\r
+ gpio_res->gpio_power = camera_power;/*yzm information back to the IO*/\r
\r
- \r
- //dev->of_node = parent_node;//½«dev->of_node»¹Ô\r
debug_printk( "/$$$$$$$$$$$$$$$$$$$$$$/ camera_power = %x\n", camera_power ); \r
\r
- ret = gpio_request(camera_power, "camera power"); //ÉêÇëÃûΪ"camera power"µÄio¹Ü½Å\r
+ ret = gpio_request(camera_power, "camera power"); \r
if (ret) {\r
\r
io_requested_in_camera = false;\r
if (camera_powerdown != INVALID_GPIO) {\r
debug_printk( "/$$$$$$$$$$$$$$$$$$$$$$/ camera_powerdown = %x\n", camera_powerdown );\r
\r
- camera_powerdown = of_get_named_gpio_flags(of_node,"rockchip,powerdown",0,&flags);//yzm\r
- gpio_res->gpio_powerdown = camera_powerdown;//yzm,½«ioµÄÍêÕûÐÅÏ¢´«»ØÈ¥¡£\r
+ camera_powerdown = of_get_named_gpio_flags(of_node,"rockchip,powerdown",0,&flags);/*yzm*/\r
+ gpio_res->gpio_powerdown = camera_powerdown;/*yzm information back to the IO*/\r
\r
debug_printk( "/$$$$$$$$$$$$$$$$$$$$$$/ camera_powerdown = %x\n", camera_powerdown ); \r
ret = gpio_request(camera_powerdown, "camera powerdown");\r
}\r
if (gpio_res->gpio_init & RK29_CAM_AFACTIVE_MASK) {\r
if (camera_af != INVALID_GPIO) {\r
- // gpio_direction_input(camera_af);\r
+ /* gpio_direction_input(camera_af);*/\r
gpio_free(camera_af);\r
}\r
} \r
struct rkcamera_platform_data *new_cam_dev = NULL;\r
struct rk29camera_platform_data* plat_data = &rk_camera_platform_data;\r
int ret = RK29_CAM_IO_SUCCESS,i = 0;\r
- //struct soc_camera_link *dev_icl = NULL;//yzm\r
- struct soc_camera_desc *dev_icl = NULL;//yzm\r
+ struct soc_camera_desc *dev_icl = NULL;/*yzm*/\r
struct rkcamera_platform_data *new_camera;\r
-debug_printk( "/$$$$$$$$$$$$$$$$$$$$$$//n Here I am: %s:%i-------%s()/n", __FILE__, __LINE__,__FUNCTION__);\r
+ debug_printk( "/$$$$$$$$$$$$$$$$$$$$$$//n Here I am: %s:%i-------%s()/n", __FILE__, __LINE__,__FUNCTION__);\r
\r
if (res == NULL) {\r
new_camera = new_camera_head;\r
if (strcmp(new_camera->dev_name, dev_name(dev)) == 0) {\r
res = (struct rk29camera_gpio_res *)&new_camera->io; \r
new_cam_dev = &new_camera[i];\r
- //dev_icl = &new_camera[i].dev.link_info;\r
- dev_icl = &new_camera->dev.desc_info;//yzm\r
+ dev_icl = &new_camera->dev.desc_info;/*yzm*/\r
break;\r
}\r
new_camera = new_camera->next_camera;;\r
case Cam_Mclk:\r
{\r
if (plat_data->sensor_mclk && dev_icl) {\r
- //plat_data->sensor_mclk(dev_icl->bus_id,(on!=0)?1:0,on);\r
- plat_data->sensor_mclk(dev_icl->host_desc.bus_id,(on!=0)?1:0,on);//yzm\r
+ plat_data->sensor_mclk(dev_icl->host_desc.bus_id,(on!=0)?1:0,on);/*yzm*/\r
} else { \r
eprintk( "%s(%d): sensor_mclk(%p) or dev_icl(%p) is NULL",\r
__FUNCTION__,__LINE__,plat_data->sensor_mclk,dev_icl);\r
return ret;\r
}\r
\r
-static int rk_sensor_power(struct device *dev, int on) //icd->pdev\r
+static int rk_sensor_power(struct device *dev, int on) /*icd->pdev*/\r
{\r
int powerup_sequence,mclk_rate;\r
\r
\r
debug_printk( "/$$$$$$$$$$$$$$$$$$$$$$//n Here I am: %s:%i-------%s()\n", __FILE__, __LINE__,__FUNCTION__);\r
\r
- new_camera = plat_data->register_dev_new; //new_camera[]\r
+ new_camera = plat_data->register_dev_new; /*new_camera[]*/\r
\r
- while (new_camera != NULL) {//yzm\r
- //while (strstr(new_camera->dev_name,"end")==NULL) {\r
+ while (new_camera != NULL) {\r
\r
- if (new_camera->io.gpio_powerdown != INVALID_GPIO) { //true\r
+ if (new_camera->io.gpio_powerdown != INVALID_GPIO) { \r
gpio_direction_output(new_camera->io.gpio_powerdown,\r
((new_camera->io.gpio_flag&RK29_CAM_POWERDNACTIVE_MASK)>>RK29_CAM_POWERDNACTIVE_BITPOS)); \r
}\r
\r
- debug_printk( "new_camera->dev_name= %s \n", new_camera->dev_name); //yzm\r
- debug_printk( "dev_name(dev)= %s \n", dev_name(dev)); //yzm\r
+ debug_printk( "new_camera->dev_name= %s \n", new_camera->dev_name); /*yzm*/\r
+ debug_printk( "dev_name(dev)= %s \n", dev_name(dev)); /*yzm*/\r
\r
- if (strcmp(new_camera->dev_name,dev_name(dev))) { //µ±²»ÊÇ´ò¿ªµÄsensorʱΪTRUE\r
- debug_printk( "/$$$$$$$$$$$$$$$$$$$$$$//n Here I am: %s:%i\n", __FILE__, __LINE__);//yzm\r
+ if (strcmp(new_camera->dev_name,dev_name(dev))) { \r
+ debug_printk( "/$$$$$$$$$$$$$$$$$$$$$$//n Here I am: %s:%i\n", __FILE__, __LINE__);\r
if (sensor_ioctl_cb.sensor_powerdown_cb && on)\r
{\r
- debug_printk( "/$$$$$$$$$$$$$$$$$$$$$$//n Here I am: %s:%i\n", __FILE__, __LINE__);//yzm\r
+ debug_printk( "/$$$$$$$$$$$$$$$$$$$$$$//n Here I am: %s:%i\n", __FILE__, __LINE__);\r
sensor_ioctl_cb.sensor_powerdown_cb(&new_camera->io,1);\r
}\r
} else {\r
new_device = new_camera;\r
dev_io = &new_camera->io;\r
- debug_printk( "/$$$$$$$$$$$$$$$$$$$$$$//n Here I am: %s:%i\n", __FILE__, __LINE__);//yzm\r
+ debug_printk( "/$$$$$$$$$$$$$$$$$$$$$$//n Here I am: %s:%i\n", __FILE__, __LINE__);/*yzm*/\r
if (!Sensor_Support_DirectResume(new_camera->pwdn_info))\r
real_pwroff = true; \r
else\r
real_pwroff = false;\r
}\r
- //new_camera++;\r
- new_camera = new_camera->next_camera;//yzm\r
+ new_camera = new_camera->next_camera;\r
}\r
\r
if (new_device != NULL) {\r
}\r
\r
if (on) {\r
- debug_printk( "/$$$$$$$$$$$$$$$$$$$$$$//n Here I am: %s:%i\n", __FILE__, __LINE__);//yzm\r
+ debug_printk( "/$$$$$$$$$$$$$$$$$$$$$$//n Here I am: %s:%i\n", __FILE__, __LINE__);\r
rk_sensor_pwrseq(dev, powerup_sequence, on,mclk_rate); \r
} else {\r
if (real_pwroff) {\r
if (rk_sensor_pwrseq(dev, powerup_sequence, on,mclk_rate)<0) /* ddl@rock-chips.com: v0.1.5 */\r
goto PowerDown;\r
\r
- /*ddl@rock-chips.com: all power down switch to Hi-Z after power off*/ //¸ß×è̬\r
+ /*ddl@rock-chips.com: all power down switch to Hi-Z after power off*/\r
new_camera = plat_data->register_dev_new;\r
- while (new_camera != NULL) {//yzm\r
- //while (strstr(new_camera->dev_name,"end")==NULL) {\r
+ while (new_camera != NULL) {\r
if (new_camera->io.gpio_powerdown != INVALID_GPIO) {\r
gpio_direction_input(new_camera->io.gpio_powerdown); \r
}\r
new_camera->pwdn_info |= 0x01;\r
- //new_camera++;\r
- new_camera = new_camera->next_camera;//yzm\r
+ new_camera = new_camera->next_camera;\r
}\r
} else { \r
PowerDown:\r
\r
new_camera = new_camera_head;\r
\r
- while (new_camera != NULL) {//yzm \r
+ while (new_camera != NULL) { \r
if (new_camera->dev.i2c_cam_info.addr == INVALID_VALUE) {\r
WARN(1, \r
KERN_ERR "%s(%d): new_camera[%d] i2c addr is invalidate!",\r
continue;\r
}\r
sprintf(new_camera->dev_name,"%s_%d",new_camera->dev.device_info.dev.init_name,i+3);\r
- new_camera->dev.device_info.dev.init_name =(const char*)&new_camera->dev_name[0];//ת»»³ÉÖ¸Õë\r
+ new_camera->dev.device_info.dev.init_name =(const char*)&new_camera->dev_name[0];\r
new_camera->io.dev_name =(const char*)&new_camera->dev_name[0];\r
- if (new_camera->orientation == INVALID_VALUE) { //¹ØÓÚÇ°ºó·½Ïò\r
+ if (new_camera->orientation == INVALID_VALUE) {\r
if (strstr(new_camera->dev_name,"back")) { \r
new_camera->orientation = 90;\r
} else {\r
if ((new_camera->fov_v <= 0) || (new_camera->fov_v>360))\r
new_camera->fov_v = 100; \r
\r
- new_camera->dev.desc_info.subdev_desc.power = rk_sensor_power;//yzm\r
- new_camera->dev.desc_info.subdev_desc.powerdown = rk_sensor_powerdown;//yzm\r
- new_camera->dev.desc_info.host_desc.board_info =&new_camera->dev.i2c_cam_info; //yzm\r
+ new_camera->dev.desc_info.subdev_desc.power = rk_sensor_power;\r
+ new_camera->dev.desc_info.subdev_desc.powerdown = rk_sensor_powerdown;\r
+ new_camera->dev.desc_info.host_desc.board_info =&new_camera->dev.i2c_cam_info; \r
\r
- new_camera->dev.device_info.id = i+6;//?? platform_device.id\r
- new_camera->dev.device_info.dev.platform_data = &new_camera->dev.desc_info;//yzm\r
+ new_camera->dev.device_info.id = i+6;\r
+ new_camera->dev.device_info.dev.platform_data = &new_camera->dev.desc_info;\r
debug_printk("platform_data(desc_info) %p +++++++++++++\n",new_camera->dev.device_info.dev.platform_data);\r
- new_camera->dev.desc_info.subdev_desc.drv_priv = &rk_camera_platform_data;//yzm\r
+ new_camera->dev.desc_info.subdev_desc.drv_priv = &rk_camera_platform_data;\r
\r
platform_device_register(&(new_camera->dev.device_info));\r
-debug_printk( "/$$$$$$$$$$$$$$$$$$$$$$//n Here I am: %s:%i-------%s()\n", __FILE__, __LINE__,__FUNCTION__); \r
-debug_printk("new_camera = %p +++++++++++++\n",new_camera);\r
-debug_printk("new_camera->next_camera = %p +++++++++++++\n",new_camera->next_camera);\r
+ debug_printk( "/$$$$$$$$$$$$$$$$$$$$$$//n Here I am: %s:%i-------%s()\n", __FILE__, __LINE__,__FUNCTION__); \r
+ debug_printk("new_camera = %p +++++++++++++\n",new_camera);\r
+ debug_printk("new_camera->next_camera = %p +++++++++++++\n",new_camera->next_camera);\r
\r
new_camera = new_camera->next_camera;\r
}\r
\r
return 0;\r
}\r
+#include "../../../drivers/media/video/rk30_camera.c"\r