在capella_cm3602.c中,将cm3602在dev目录下的设备文件名改为psensor
authorchenli <chenli@rock-chips.com>
Mon, 13 Sep 2010 02:32:04 +0000 (10:32 +0800)
committerchenli <chenli@rock-chips.com>
Mon, 13 Sep 2010 02:46:46 +0000 (10:46 +0800)
drivers/input/misc/capella_cm3602.c

index d34effaabc4327ac7794625a754442d28fdb1cb0..6b60c877140ab3362ff56f8c72885d6ba3349a15 100755 (executable)
 #include <linux/interrupt.h>
 #include <mach/spi_fpga.h>
 
-#if 0
 #define D(x...) printk(x)
-#else
-#define D(x...)
-#endif
 
 static struct capella_cm3602_data {
        struct input_dev *input_dev;
@@ -67,7 +63,7 @@ static int capella_cm3602_report(struct capella_cm3602_data *data)
 static irqreturn_t capella_cm3602_irq_handler(int irq, void *data)
 {
        struct capella_cm3602_data *ip = data;
-       //printk("---capella_cm3602_irq_handler----\n");
+       printk("---capella_cm3602_irq_handler----\n");
        //int val = capella_cm3602_report(ip);
        input_report_abs(ip->input_dev, ABS_DISTANCE, 0);
        input_sync(ip->input_dev);
@@ -119,13 +115,13 @@ void cm3602_work_handler(struct work_struct *work)
 
        struct capella_cm3602_data *pdata = container_of(work, struct capella_cm3602_data, cm3602_work);
        int val = gpio_get_value(pdata->pdata->irq_pin);
-       //printk("-------------------cm3602_work_handler,pinlevel:%d----------------\n",val);
+       printk("-------------------cm3602_work_handler,pinlevel:%d----------------\n",val);
        if (val == 1)
        {
                time_enable = false;
                input_report_abs(pdata->input_dev, ABS_DISTANCE, val);
                input_sync(pdata->input_dev);
-               //printk("input_report_abs=%d\n",val);
+               printk("input_report_abs=%d\n",val);
        }
        
 }
@@ -138,7 +134,7 @@ static void cm3602_timer(unsigned long data)
        add_timer(&ip->cm3602_timer);
        if(time_enable)
        {
-               //printk("------------------cm3602_timer,%d------------\n",time_enable);
+               printk("------------------cm3602_timer,%d------------\n",time_enable);
                queue_work(ip->cm3602_workqueue, &ip->cm3602_work);
        }
 
@@ -164,6 +160,12 @@ static int capella_cm3602_setup(struct capella_cm3602_data *ip)
                pr_err("%s: request gpio %d failed \n", __func__, pdata->ps_shutdown_pin);
                return rc;
        }
+       /*
+       gpio_direction_output(pdata->pwd_out_pin, SPI_GPIO_OUT);
+       gpio_set_value(pdata->pwd_out_pin, SPI_GPIO_LOW);               //CM3605_PWD output
+       gpio_direction_output(pdata->ps_shutdown_pin, SPI_GPIO_OUT);
+       gpio_set_value(pdata->ps_shutdown_pin, SPI_GPIO_LOW);           //CM3605_PS_SHUTDOWN
+       */
        rc = gpio_request(pdata->irq_pin, "cm3602 irq");
        if (rc) {
                gpio_free(pdata->pwd_out_pin);
@@ -257,7 +259,7 @@ static struct file_operations capella_cm3602_fops = {
 
 struct miscdevice capella_cm3602_misc = {
        .minor = MISC_DYNAMIC_MINOR,
-       .name = "cm3602",
+       .name = "psensor",
        .fops = &capella_cm3602_fops
 };