void init_samsung_cam(void) { int ret; Cam_Printk("---camera---call--init_samsung_cam --for init!!!--------\n"); ret= sr352_pin_init(); if (ret) { Cam_Printk("---error!!!!-----sr352_pin_init --failed!!!--------\n"); return; } ret= sr130pc10_pin_init(); if (ret) { Cam_Printk("---error!!!!-----sr130pc10_pin_init --failed!!!--------\n"); return; } #if defined (CONFIG_SOC_CAMERA_SR130PC10) //pr_info("add i2c device: CONFIG_SOC_CAMERA_SR130PC10!!\n"); //platform_device_register(&i2c_subsensor_bus_device); //i2c_register_board_info(4, ARRAY_AND_SIZE(mms136_i2c_devices)); #endif if (system_rev <= LT02_R0_0) platform_add_devices(ARRAY_AND_SIZE(camera_platform_devices)); else { platform_device_register(&i2c_subsensor_bus_device); platform_add_devices(ARRAY_AND_SIZE(camera_platform_devices_r01)); } pxa988_add_cam(&mv_cam_data_forssg); }
/*-- AT_Command[Flash mode] --*/ void __init init_samsung_cam(void) { int ret; struct device *dev_r; struct device *dev_f; #if defined(CONFIG_MACH_WILCOX) if(system_rev != 1) { camera_flash_en = mfp_to_gpio(MFP_PIN_GPIO20); camera_flash_set = mfp_to_gpio(MFP_PIN_GPIO97); } #elif defined(CONFIG_MACH_CS02) #elif defined(CONFIG_MACH_BAFFIN) Cam_Printk("Skip to set Flash GPIO\n"); // Set LED gpio at the rt8547.c file #else camera_flash_en = mfp_to_gpio(MFP_PIN_GPIO20); camera_flash_set = mfp_to_gpio(MFP_PIN_GPIO97); #endif ret= s5k43_pin_init(); if (ret) { Cam_Printk("---error!!!!-----s5k43_pin_init --failed!!!--------\n"); return; } ret= sr030pc30_pin_init(); if (ret) { Cam_Printk("---error!!!!-----sr030pc30_pin_init --failed!!!--------\n"); return; } ret= subsensor_pin_init(); if (ret) { Cam_Printk("---error!!!!-----subsensor_pin_init --failed!!!--------\n"); return; } platform_add_devices(ARRAY_AND_SIZE(camera_platform_devices)); pxa988_add_cam(&mv_cam_data_forssg); #if defined(CONFIG_MACH_WILCOX) if(system_rev != 1) { if (camera_flash_en && gpio_request(camera_flash_en, "CAM_HI_SENSOR_PWD_20")) { printk(KERN_ERR "Request GPIO failed," "gpio: %d\n", camera_flash_en); camera_flash_en = 0; return; } if (camera_flash_set && gpio_request(camera_flash_set, "CAM_HI_SENSOR_PWD_8")) { printk(KERN_ERR "Request GPIO failed," "gpio: %d\n", camera_flash_set); camera_flash_set = 0; return; } } #else if (camera_flash_en && gpio_request(camera_flash_en, "CAM_HI_SENSOR_PWD_20")) { printk(KERN_ERR "Request GPIO failed," "gpio: %d\n", camera_flash_en); camera_flash_en = 0; return; } if (camera_flash_set && gpio_request(camera_flash_set, "CAM_HI_SENSOR_PWD_8")) { printk(KERN_ERR "Request GPIO failed," "gpio: %d\n", camera_flash_set); camera_flash_set = 0; return; } #endif // gpio_direction_output(camera_flash_en, 0); // gpio_direction_output(camera_flash_set, 0); /*++ AT_Command[Flash mode] : [email protected]_20121012 ++*/ camera_class = class_create(THIS_MODULE, "camera"); if (IS_ERR(camera_class)) { printk("Failed to create camera_class!\n"); return PTR_ERR( camera_class ); } dev_f= device_create(camera_class, NULL, 0, "%s", "front"); if (device_create_file(dev_f, &dev_attr_front_type) < 0) printk("Failed to create device file(%s)!\n", dev_attr_front_type.attr.name); if (device_create_file(dev_f, &dev_attr_front_camfw) < 0) printk("Failed to create device file(%s)!\n", dev_attr_front_camfw.attr.name); dev_r = device_create(camera_class, NULL, 0, "%s", "rear"); if (device_create_file(dev_r, &dev_attr_rear_type) < 0) printk("Failed to create device file(%s)!\n", dev_attr_rear_type.attr.name); if (device_create_file(dev_r, &dev_attr_rear_camfw) < 0) printk("Failed to create device file(%s)!\n", dev_attr_rear_camfw.attr.name); if (device_create_file(dev_r, &dev_attr_rear_flash) < 0) printk("Failed to create device file(%s)!\n", dev_attr_rear_flash.attr.name); if (device_create_file(dev_r, &dev_attr_rear_vendorid) < 0) printk("Failed to create device file(%s)!\n", dev_attr_rear_vendorid.attr.name); /*-- AT_Command[Flash mode] --*/ }
/*-- AT_Command[Flash mode] --*/ void __init init_samsung_cam(void) { int ret; struct device *dev_r; struct device *dev_f; camera_flash_en = mfp_to_gpio(MFP_PIN_GPIO20); camera_flash_set = mfp_to_gpio(MFP_PIN_GPIO97); ret= s5k43_pin_init(); if (ret) { Cam_Printk("---error!!!!-----s5k43_pin_init --failed!!!--------\n"); return; } ret= sr030pc30_pin_init(); if (ret) { Cam_Printk("---error!!!!-----sr030pc30_pin_init --failed!!!--------\n"); return; } ret= subsensor_pin_init(); if (ret) { Cam_Printk("---error!!!!-----subsensor_pin_init --failed!!!--------\n"); return; } platform_add_devices(ARRAY_AND_SIZE(camera_platform_devices)); pxa988_add_cam(&mv_cam_data_forssg); if (camera_flash_en && gpio_request(camera_flash_en, "CAM_HI_SENSOR_PWD_20")) { printk(KERN_ERR "Request GPIO failed," "gpio: %d\n", camera_flash_en); camera_flash_en = 0; return; } if (camera_flash_set && gpio_request(camera_flash_set, "CAM_HI_SENSOR_PWD_8")) { printk(KERN_ERR "Request GPIO failed," "gpio: %d\n", camera_flash_set); camera_flash_set = 0; return; } /*++ AT_Command[Flash mode] : [email protected]_20121012 ++*/ camera_class = class_create(THIS_MODULE, "camera"); if (IS_ERR(camera_class)) { printk("Failed to create camera_class!\n"); return PTR_ERR( camera_class ); } dev_f= device_create(camera_class, NULL, 0, "%s", "front"); if (device_create_file(dev_f, &dev_attr_front_type) < 0) printk("Failed to create device file(%s)!\n", dev_attr_front_type.attr.name); if (device_create_file(dev_f, &dev_attr_front_camfw) < 0) printk("Failed to create device file(%s)!\n", dev_attr_front_camfw.attr.name); dev_r = device_create(camera_class, NULL, 0, "%s", "rear"); if (device_create_file(dev_r, &dev_attr_rear_type) < 0) printk("Failed to create device file(%s)!\n", dev_attr_rear_type.attr.name); if (device_create_file(dev_r, &dev_attr_rear_camfw) < 0) printk("Failed to create device file(%s)!\n", dev_attr_rear_camfw.attr.name); if (device_create_file(dev_r, &dev_attr_rear_flash) < 0) printk("Failed to create device file(%s)!\n", dev_attr_rear_flash.attr.name); if (device_create_file(dev_r, &dev_attr_rear_vendorid) < 0) printk("Failed to create device file(%s)!\n", dev_attr_rear_vendorid.attr.name); /*-- AT_Command[Flash mode] --*/ }