Merge branch 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mjg59/platf...
[firefly-linux-kernel-4.4.55.git] / arch / arm / mach-s3c2410 / h1940-bluetooth.c
index 8cdeb14af5929601492a74a593e9322f3a947c91..6b86a722a7db22343f4bf8226f680964c7620ff7 100644 (file)
@@ -30,7 +30,7 @@ static void h1940bt_enable(int on)
 {
        if (on) {
                /* Power on the chip */
-               h1940_latch_control(0, H1940_LATCH_BLUETOOTH_POWER);
+               gpio_set_value(H1940_LATCH_BLUETOOTH_POWER, 1);
                /* Reset the chip */
                mdelay(10);
 
@@ -43,7 +43,7 @@ static void h1940bt_enable(int on)
                mdelay(10);
                gpio_set_value(S3C2410_GPH(1), 0);
                mdelay(10);
-               h1940_latch_control(H1940_LATCH_BLUETOOTH_POWER, 0);
+               gpio_set_value(H1940_LATCH_BLUETOOTH_POWER, 0);
        }
 }
 
@@ -64,19 +64,26 @@ static int __devinit h1940bt_probe(struct platform_device *pdev)
 
        ret = gpio_request(S3C2410_GPH(1), dev_name(&pdev->dev));
        if (ret) {
-               dev_err(&pdev->dev, "could not get GPH1\n");\
+               dev_err(&pdev->dev, "could not get GPH1\n");
+               return ret;
+       }
+
+       ret = gpio_request(H1940_LATCH_BLUETOOTH_POWER, dev_name(&pdev->dev));
+       if (ret) {
+               gpio_free(S3C2410_GPH(1));
+               dev_err(&pdev->dev, "could not get BT_POWER\n");
                return ret;
        }
 
        /* Configures BT serial port GPIOs */
        s3c_gpio_cfgpin(S3C2410_GPH(0), S3C2410_GPH0_nCTS0);
-       s3c_gpio_cfgpull(S3C2410_GPH(0), S3C_GPIO_PULL_NONE);
+       s3c_gpio_setpull(S3C2410_GPH(0), S3C_GPIO_PULL_NONE);
        s3c_gpio_cfgpin(S3C2410_GPH(1), S3C2410_GPIO_OUTPUT);
-       s3c_gpio_cfgpull(S3C2410_GPH(1), S3C_GPIO_PULL_NONE);
+       s3c_gpio_setpull(S3C2410_GPH(1), S3C_GPIO_PULL_NONE);
        s3c_gpio_cfgpin(S3C2410_GPH(2), S3C2410_GPH2_TXD0);
-       s3c_gpio_cfgpull(S3C2410_GPH(2), S3C_GPIO_PULL_NONE);
+       s3c_gpio_setpull(S3C2410_GPH(2), S3C_GPIO_PULL_NONE);
        s3c_gpio_cfgpin(S3C2410_GPH(3), S3C2410_GPH3_RXD0);
-       s3c_gpio_cfgpull(S3C2410_GPH(3), S3C_GPIO_PULL_NONE);
+       s3c_gpio_setpull(S3C2410_GPH(3), S3C_GPIO_PULL_NONE);
 
 
        rfk = rfkill_alloc(DRV_NAME, &pdev->dev, RFKILL_TYPE_BLUETOOTH,