//static struct task_struct * otp_task = NULL;
static struct file *pfile = NULL;
+#if 0
static struct file *pdebugfile = NULL;
+#endif
static int fw_version_len=0;
static uint8_t fw_version[12] = {0};
return f->f_op->compat_ioctl (f, cmd, arg);
else if (f->f_op->unlocked_ioctl)
return f->f_op->unlocked_ioctl (f, cmd, arg);
+ return -ENOTTY;
}
static void Sensor_PowerOn (uint32_t power_on)
} else {
power_cfg.is_on = 0;
}
- z_ioctl (pfile, SENSOR_IO_POWER_CFG, &power_cfg);
+ z_ioctl (pfile, SENSOR_IO_POWER_CFG, (uintptr_t)&power_cfg);
if (power_on) {
- z_ioctl (pfile, SENSOR_IO_SET_MCLK, &mclk);
+ z_ioctl (pfile, SENSOR_IO_SET_MCLK, (uintptr_t)&mclk);
}
}
MM_TRACE ("Sensor_ReadI2C, slave_addr=0x%x, ptr=0x%p, count=%d\n",
i2c_tab.slave_addr, i2c_tab.i2c_data, i2c_tab.i2c_count);
- ret = z_ioctl (pfile, SENSOR_IO_I2C_WRITE_EXT, &i2c_tab);
+ ret = z_ioctl (pfile, SENSOR_IO_I2C_WRITE_EXT, (uintptr_t)&i2c_tab);
return ret;
}
// MM_TRACE("Sensor_ReadI2C, slave_addr=0x%x, ptr=0x%p, count=%d\n",
// i2c_tab.slave_addr, i2c_tab.i2c_data, i2c_tab.i2c_count);
- ret = z_ioctl (pfile, SENSOR_IO_I2C_READ_EXT, &i2c_tab);
+ ret = z_ioctl (pfile, SENSOR_IO_I2C_READ_EXT, (uintptr_t)&i2c_tab);
return ret;
}
uint32_t clock = 400000;
+#if 0
loff_t otp_start_addr = 0;
+#endif
uint32_t otp_data_len = 0;
SENSOR_VAL_T val;
struct isp_data_t checksum_otp;
struct isp_data_t sensor_otp;
- uint32_t is_need_checksum = 0;
uint32_t count = 0;
MM_TRACE ("sensor_reloadinfo_thread start\n");
Sensor_PowerOn (1);
- ret = z_ioctl (pfile, SENSOR_IO_SET_I2CCLOCK, &clock);
+ ret = z_ioctl (pfile, SENSOR_IO_SET_I2CCLOCK, (uintptr_t)&clock);
/*read fw_version */
fw_version_len = 11;
#include <linux/kernel.h>
#include <soc/sprd/hardware.h>
#include <soc/sprd/board.h>
+#include <video/sensor_drv_k.h>
#include "../sensor_drv_sprd.h"
static int sensor_s5k4h5yc_poweron(uint32_t *fd_handle, struct sensor_power *dev0,
return ret;
}
-static int sensor_ov5670_poweron(uint32_t *fd_handle,
+static int __maybe_unused sensor_ov5670_poweron(uint32_t *fd_handle,
struct sensor_power *dev0, struct sensor_power *dev1,
struct sensor_power *dev2)
{
- int ret = 0;
-
sensor_k_sensor_sel(fd_handle, SENSOR_DEV_0); /*select sub sensor*/
#if 0
sensor_k_set_pd_level(fd_handle, 0); /*power down*/
pr_info("sensor ov5670 poweron OK\n");
+ return 0;
}
-static int sensor_ov5670_poweroff(uint32_t *fd_handle,
+static int __maybe_unused sensor_ov5670_poweroff(uint32_t *fd_handle,
struct sensor_power *dev0, struct sensor_power *dev1,
struct sensor_power *dev2)
{
printk("SENSOR: Invalid addr, %p", p_mod);
} else {
if(NULL == p_file->sensor_mem.buf_ptr || 0 == p_file->sensor_mem.size){
- printk("check !! free size = %d, ptr=0x%x \n", p_file->sensor_mem.size, p_file->sensor_mem.buf_ptr);
+ printk("check !! free size = %d, ptr=%p \n", p_file->sensor_mem.size, p_file->sensor_mem.buf_ptr);
}
else {
vfree(p_file->sensor_mem.buf_ptr);
i2c_client = p_mod->sensor_dev_tab[p_file->sensor_id].cur_i2c_client;
- SENSOR_PRINT("sensor w cnt %ld, buf %ld\n", cnt, sizeof(buf));
+ SENSOR_PRINT("sensor w cnt %ld, buf %ld\n", (unsigned long)cnt,
+ (unsigned long)sizeof(buf));
if (cnt < sizeof(buf)) {
pBuff = buf;
} else {
pBuff = _sensor_k_malloc(p_file, cnt);
if (PNULL == pBuff) {
- SENSOR_PRINT_ERR("sensor w ERR: alloc fail, size %ld \n", cnt);
+ SENSOR_PRINT_ERR("sensor w ERR: alloc fail, size %ld \n",
+ (unsigned long)cnt);
goto sensor_k_write_return;
} else {
- SENSOR_PRINT("sensor w: alloc success, size %ld \n", cnt);
+ SENSOR_PRINT("sensor w: alloc success, size %ld \n",
+ (unsigned long)cnt);
}
}
if (copy_from_user(pBuff, ubuf, cnt)) {
- SENSOR_PRINT_ERR("sensor w ERR: copy user fail, size %ld\n", cnt);
+ SENSOR_PRINT_ERR("sensor w ERR: copy user fail, size %ld\n",
+ (unsigned long)cnt);
goto sensor_k_write_return;
}
printk("sensor clnt addr 0x%x.\n", i2c_client->addr);
{
SENSOR_OTP_PARAM_T *para = (SENSOR_OTP_PARAM_T *)arg;
uint32_t type;
- copy_from_user(&type, ¶->type, sizeof(uint32_t));
- SENSOR_PRINT("SENSOR: ioctl SENSOR_IO_READ_OTPDATA %p type %d\n", arg, para->type);
+ ret = copy_from_user(&type, ¶->type, sizeof(uint32_t));
+ SENSOR_PRINT("SENSOR: ioctl SENSOR_IO_READ_OTPDATA %p type %d\n", para, para->type);
if(type == SENSOR_OTP_PARAM_CHECKSUM) {
SENSOR_OTP_DATA_INFO_T *chksum = &p_mod->otp_param[p_file->sensor_id].golden;
if(chksum->data_ptr && chksum->size > 0) {
- copy_to_user(para->buff, chksum->data_ptr, chksum->size);
- copy_to_user(¶->len, &chksum->size, sizeof(uint32_t));
+ ret = copy_to_user(para->buff, chksum->data_ptr, chksum->size);
+ ret = copy_to_user(¶->len, &chksum->size, sizeof(uint32_t));
}
} else if(type == SENSOR_OTP_PARAM_NORMAL) {
SENSOR_OTP_DATA_INFO_T *lsc = &p_mod->otp_param[p_file->sensor_id].lsc;
if(p_mod->otp_param[p_file->sensor_id].buff && p_mod->otp_param[p_file->sensor_id].len > 0) {
- copy_to_user(para->buff, p_mod->otp_param[p_file->sensor_id].buff,
+ ret = copy_to_user(para->buff, p_mod->otp_param[p_file->sensor_id].buff,
p_mod->otp_param[p_file->sensor_id].len);
- copy_to_user(¶->len, &p_mod->otp_param[p_file->sensor_id].len,
+ ret = copy_to_user(¶->len, &p_mod->otp_param[p_file->sensor_id].len,
sizeof(uint32_t));
}
if(awb->data_ptr && awb->size > 0) {
- copy_to_user(para->awb.data_ptr, awb->data_ptr, awb->size);
- copy_to_user(¶->awb.size, &awb->size, sizeof(uint32_t));
+ ret = copy_to_user(para->awb.data_ptr, awb->data_ptr, awb->size);
+ ret = copy_to_user(¶->awb.size, &awb->size, sizeof(uint32_t));
}
if(lsc->data_ptr && lsc->size > 0) {
- copy_to_user(para->lsc.data_ptr, lsc->data_ptr, lsc->size);
- copy_to_user(¶->lsc.size, &lsc->size, sizeof(uint32_t));
+ ret = copy_to_user(para->lsc.data_ptr, lsc->data_ptr, lsc->size);
+ ret = copy_to_user(¶->lsc.size, &lsc->size, sizeof(uint32_t));
}
} else {
printk("SENSOR: ioctl SENSOR_IO_READ_OTPDATA mismatch type \n");
{ },
};
-LOCAL int sensor_k_suspend(struct platform_device *dev)
+LOCAL int sensor_k_suspend(struct platform_device *dev, pm_message_t state)
{
int i;
struct sensor_gpio_tag gpio_tab;
return size;
}
-static ssize_t Rear_Cam_show_flash(struct device *dev, struct device_attribute *attr, const char *buf, size_t size)
+static ssize_t Rear_Cam_show_flash(struct device *dev, struct device_attribute *attr, char *buf)
{
SENSOR_PRINT("Rear_Cam_show_flash value\n");
return sprintf(buf, "%d", flash_torch_status);