update some file
author林辉辉 <lhh@rock-chips.com>
Thu, 13 May 2010 07:03:11 +0000 (07:03 +0000)
committer黄涛 <huangtao@rock-chips.com>
Mon, 21 Jun 2010 05:34:52 +0000 (13:34 +0800)
drivers/rtc/rtc-HYM8563.c
drivers/rtc/rtc-HYM8563.h
drivers/serial/rk2818_serial.c
drivers/serial/rk2818_serial.h
drivers/spi/rk2818_spim.c

index 052a4e0a702a5e21a77b0cfffa77f715235211ca..1356e748927b2a7b5e6385f8fe4fa834a18df349 100644 (file)
 #define DBG(x...)
 #endif
 
-static const unsigned short normal_i2c[] = {
-       HYM_ADDR ,                      /* HYM8563 address */
-       I2C_CLIENT_END
-};
-I2C_CLIENT_INSMOD;                     /* defines addr_data */
-
 static int hym8563_i2c_read_regs(struct i2c_client *client, u8 reg, u8 buf[], unsigned len)
 {
        int ret;
index 947b2705de9a847de6f8ebf2bb9293a5477105a5..2095c8a8946584f81c6676e070ba20daab289f6b 100644 (file)
@@ -15,8 +15,6 @@
 #ifndef _DRIVERS_HYM8563_H
 #define _DRIVERS_HYM8563_H
  
-#define   HYM_ADDR             0x51
-               
 #define   RTC_CTL1             0x00
 #define   RTC_CTL2             0x01
 #define   RTC_SEC              0x02
@@ -26,9 +24,9 @@
 #define   RTC_WEEK             0x06
 #define   RTC_MON              0x07
 #define   RTC_YEAR             0x08
-#define   RTC_A_MIN            0x09
+#define   RTC_A_MIN    0x09
 #define   RTC_A_HOUR   0x0A
-#define   RTC_A_DAY            0x0B
+#define   RTC_A_DAY    0x0B
 #define   RTC_A_WEEK   0x0C
 #define   RTC_CLKOUT   0x0D
 #define   RTC_T_CTL    0x0E
index 00bf8c770ca645e868afe73e8951de291d557ef9..7dbb6a832a077d3777b0fa40f251dc38deb4ec7c 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * drivers/serial/rk2818_serial.c - driver for rk2818 RK2818  serial device and console
+ * drivers/serial/rk2818_serial.c - driver for rk2818 serial device and console
  *
  * Copyright (C) 2010 ROCKCHIP, Inc.
  *
@@ -14,6 +14,9 @@
  */
 
 
+#if defined(CONFIG_SERIAL_RK2818_CONSOLE) && defined(CONFIG_MAGIC_SYSRQ)
+#define SUPPORT_SYSRQ
+#endif
 
 #include <linux/hrtimer.h>
 #include <linux/module.h>
@@ -42,10 +45,6 @@ struct rk2818_port {
        unsigned int            imr;
 };
 
-#if defined(CONFIG_SERIAL_RK2818_CONSOLE) && defined(CONFIG_MAGIC_SYSRQ)
-#define SUPPORT_SYSRQ
-#endif
-
 #define UART_TO_RK2818(uart_port)      ((struct rk2818_port *) uart_port)
 #define RK2818_SERIAL_MAJOR     TTY_MAJOR
 #define RK2818_SERIAL_MINOR     64      
@@ -223,9 +222,15 @@ static void rk2818_rx_chars(struct uart_port *port)
        unsigned int ch, flag;
        while((rk2818_uart_read(port,UART_USR) & UART_RECEIVE_FIFO_NOT_EMPTY) == UART_RECEIVE_FIFO_NOT_EMPTY)
        {
+               u32 lsr = rk2818_uart_read(port, UART_LSR);
            ch = rk2818_uart_read(port,UART_RBR);
            flag = TTY_NORMAL;
                port->icount.rx++;
+               if (lsr & UART_BREAK_INT_BIT) {
+                       port->icount.brk++;
+                       if (uart_handle_break(port))
+                               continue;
+               }
                if (uart_handle_sysrq_char(port, ch))
                {
                        continue;
index 627cf2baa9e98b7a8c4fdd568c6a7398afebe46e..c26bb764c3ca8608d9c29bbb9f43d30e908e4dbb 100644 (file)
 #define  UART_TRANSMIT_FIFO_NOT_FULL         (1<<1)
 #define  UART_USR_BUSY                       (1)
 
+/*UART_LSR Line Status Register*/
+#define UART_BREAK_INT_BIT                                     (1<<4)/*break Interrupt bit*/
+
 #endif /* __DRIVERS_SERIAL_RK2818_SERIAL_H */
index cd6a2fbc6fd29389befc58b540a96896d91a0617..bc586df782a282023c7752b83b198f346d590df2 100644 (file)
@@ -543,7 +543,7 @@ static void pump_transfers(unsigned long data)
                        | (chip->tmode << SPI_TMOD_OFFSET);
        }
        message->state = RUNNING_STATE;
-
        /*
         * Adjust transfer mode if necessary. Requires platform dependent
         * chipselect mechanism.
@@ -873,7 +873,7 @@ static int __init rk2818_spim_probe(struct platform_device *pdev)
        struct resource         *regs;
        struct rk2818_spi   *dws;
        struct spi_master   *master;
-       int                     irq;
+       int                     irq; 
        int         ret;
                
        gpio_request(RK2818_PIN_PB0, "rk2818_spim");    
@@ -898,8 +898,10 @@ static int __init rk2818_spim_probe(struct platform_device *pdev)
        if (IS_ERR(dws->clock_spim))
                return PTR_ERR(dws->clock_spim);
        dws->regs = ioremap(regs->start, (regs->end - regs->start) + 1);
-       if (!dws->regs)
-         goto exit;
+       if (!dws->regs){
+       release_mem_region(regs->start, (regs->end - regs->start) + 1);
+               return -EBUSY;
+       }       
     dws->irq = irq;      
        dws->master = master;
        dws->type = SSI_MOTO_SPI;