UPSTREAM: usb: dwc3: omap: use request_threaded_irq()
[firefly-linux-kernel-4.4.55.git] / drivers / hwmon / rockchip_tsadc.c
index 18fc1d4d3de253b26764d871728eb96f3361de7e..22691294087cd3dc04a3ccc951ad3bfe5d75389c 100755 (executable)
@@ -41,6 +41,7 @@
 #include <linux/of_platform.h>
 #include <linux/of.h>
 #include <linux/of_device.h>
+#include <linux/rockchip/common.h>
 #include "hwmon-rockchip.h"
 
 
@@ -276,7 +277,7 @@ static void rockchip_tsadc_auto_mode_set(int chn, int int_temp,
        
        msleep(10);
        tsadc_writel(0, TSADC_AUTO_CON);
-       tsadc_writel(1 << (4+chn), TSADC_AUTO_CON);
+       tsadc_writel(3 << (4+chn), TSADC_AUTO_CON);
        msleep(10);
        if ((tsadc_readl(TSADC_AUTO_CON) & TSADC_AUTO_STAS_BUSY_MASK) != TSADC_AUTO_STAS_BUSY) {
                rockchip_tsadc_set_cmpn_int_vale(chn,int_temp);
@@ -317,7 +318,7 @@ static void rockchip_tsadc_get(int chn, int *temp, int *code)
        *code = 0;
 
        if (!g_dev || chn > 4){
-               *temp = 150;
+               *temp = INVALID_TEMP;
                return ;
        }
 #if 0
@@ -468,9 +469,6 @@ int rockchip_hwmon_init(struct rockchip_temp *data)
        g_dev = rockchip_tsadc_data;
        data->plat_data = rockchip_tsadc_data;
 
-       ret = tsadc_readl(TSADC_AUTO_CON);
-       tsadc_writel(ret | (1 << 8) , TSADC_AUTO_CON);/*gpio0_b2 = 0 shutdown*/
-
        if (of_property_read_u32(np, "tsadc-ht-temp",
                &tsadc_ht_temp)) {
                dev_err(&data->pdev->dev, "Missing  tsadc_ht_temp in the DT.\n");
@@ -487,15 +485,22 @@ int rockchip_hwmon_init(struct rockchip_temp *data)
                return -EPERM;
        }
 
-       uap = devm_kzalloc(&data->pdev->dev, sizeof(struct tsadc_port),
-                          GFP_KERNEL);
-       if (uap == NULL)
-               dev_err(&data->pdev->dev,
-               "uap is not set %s,line=%d\n", __func__, __LINE__);
-       uap->pctl = devm_pinctrl_get(&data->pdev->dev);
-       uap->pins_default = pinctrl_lookup_state(uap->pctl, "default");
-       uap->pins_tsadc_int = pinctrl_lookup_state(uap->pctl, "tsadc_int");
-       pinctrl_select_state(uap->pctl, uap->pins_tsadc_int);
+       if (tsadc_ht_pull_gpio){
+               /*bit8=1 gpio0_b2 = 1 shutdown else gpio0_b2 =1 shutdown*/
+               /*
+               ret = tsadc_readl(TSADC_AUTO_CON);
+               tsadc_writel(ret | (1 << 8) , TSADC_AUTO_CON);
+               */
+               uap = devm_kzalloc(&data->pdev->dev, sizeof(struct tsadc_port),
+               GFP_KERNEL);
+               if (uap == NULL)
+                       dev_err(&data->pdev->dev,
+                       "uap is not set %s,line=%d\n", __func__, __LINE__);
+               uap->pctl = devm_pinctrl_get(&data->pdev->dev);
+               uap->pins_default = pinctrl_lookup_state(uap->pctl, "default");
+               uap->pins_tsadc_int = pinctrl_lookup_state(uap->pctl, "tsadc_int");
+               pinctrl_select_state(uap->pctl, uap->pins_tsadc_int);
+       }
 
        rockchip_tsadc_set_auto_temp(1);