xpt2046 irq support ok
authorcmc-ubuntu <cmc@ubuntu.(none)>
Wed, 17 Nov 2010 01:48:29 +0000 (09:48 +0800)
committercmc <cmc@rock-chips.com>
Wed, 17 Nov 2010 01:50:02 +0000 (09:50 +0800)
drivers/input/touchscreen/xpt2046_cbn_ts.c
drivers/spi/rk29xx_spim.c

index 98d3bec833035d55b6121e4e6ea5b39c27226263..562c78a4747bd9eeb1c904e745023b6f9ce1d615 100755 (executable)
@@ -556,11 +556,7 @@ static irqreturn_t xpt2046_irq(int irq, void *handle)
 
        if (likely(get_pendown_state(ts))) {
                if (!ts->irq_disabled) {
-                       /* The ARM do_simple_IRQ() dispatcher doesn't act
-                        * like the other dispatchers:  it will report IRQs
-                        * even after they've been disabled.  We work around
-                        * that here.  (The "generic irq" framework may help...)
-                        */
+                       
                        ts->irq_disabled = 1;
                        disable_irq_nosync(ts->spi->irq);
                        ts->pending = 1;
index daa6cd8968ea4984f4ef1dab15f542cf328fe8c6..f526e94b7a91bb31105d3b3daaa3fd7f2c53e0bc 100755 (executable)
@@ -38,9 +38,9 @@ QUICK_TRANSFER
 Ä¬ÈÏʹÓðëË«¹¤\r
 */\r
 \r
-#define QUICK_TRANSFER         \r
+//#define QUICK_TRANSFER         \r
 \r
-#if 1\r
+#if 0\r
 #define DBG(x...)   printk(x)\r
 #else\r
 #define DBG(x...)\r
@@ -238,7 +238,7 @@ static int null_writer(struct rk29xx_spi *dws)
                return 0;\r
        rk29xx_writew(dws, SPIM_TXDR, 0);\r
        dws->tx += n_bytes;\r
-       //wait_till_not_busy(dws);\r
+       wait_till_not_busy(dws);\r
 \r
        return 1;\r
 }\r
@@ -264,7 +264,7 @@ static int u8_writer(struct rk29xx_spi *dws)
        rk29xx_writew(dws, SPIM_TXDR, *(u8 *)(dws->tx));\r
        DBG(KERN_INFO "dws->tx:%x\n", *(u8 *)(dws->tx));\r
        ++dws->tx;\r
-       //wait_till_not_busy(dws);\r
+       wait_till_not_busy(dws);\r
 \r
        return 1;\r
 }\r
@@ -291,7 +291,7 @@ static int u16_writer(struct rk29xx_spi *dws)
 \r
        rk29xx_writew(dws, SPIM_TXDR, *(u16 *)(dws->tx));\r
        dws->tx += 2;\r
-       //wait_till_not_busy(dws);\r
+       wait_till_not_busy(dws);\r
 \r
        return 1;\r
 }\r
@@ -374,7 +374,7 @@ static struct rk29_dma_client rk29_spi_dma_client = {
 };\r
 \r
 static int acquire_dma(struct rk29xx_spi *dws)\r
-{\r
+{      \r
        #if 1\r
        dws->dma_inited = 0;\r
        return 1;\r
@@ -384,7 +384,6 @@ static int acquire_dma(struct rk29xx_spi *dws)
                return 1;\r
        }\r
 \r
-       printk(KERN_INFO "request dma\n");\r
        if(rk29_dma_request(dws->rx_dmach, \r
                &rk29_spi_dma_client, NULL) < 0) {\r
                dev_err(&dws->master->dev, "dws->rx_dmach : %d, cannot get RxDMA\n", dws->rx_dmach);\r
@@ -416,7 +415,7 @@ static int acquire_dma(struct rk29xx_spi *dws)
  * the virt addr to physical\r
  */\r
 static int map_dma_buffers(struct rk29xx_spi *dws)\r
-{              \r
+{\r
        if (!dws->cur_msg->is_dma_mapped || !dws->dma_inited\r
                || !dws->cur_chip->enable_dma)\r
                return 0;\r
@@ -835,7 +834,7 @@ static void do_read(struct rk29xx_spi *dws)
        while (1) {\r
                if (dws->read(dws))\r
                        break;\r
-               if (count ++ == 0x20) {\r
+               if (count++ == 0x20) {\r
                        dev_err(&dws->master->dev, "+++++++++++spi receive data time out+++++++++++++\n");\r
                        break;\r
                }\r
@@ -967,10 +966,8 @@ static int rk29xx_pump_transfers(struct rk29xx_spi *dws, int mode)
        chip = dws->cur_chip;\r
        spi = message->spi;     \r
 \r
-       if (unlikely(!chip->clk_div)) {\r
+       if (unlikely(!chip->clk_div))\r
                chip->clk_div = clk_get_rate(dws->clock_spim) / chip->speed_hz;\r
-               chip->clk_div = (chip->clk_div + 1) & 0xfffe;\r
-       }\r
        if (message->state == ERROR_STATE) {\r
                message->status = -EIO;\r
                goto early_exit;\r