bool in3_diff;
        bool in4_diff;
 
-       int ldo1_en; /* GPIO for LDO1_EN */
-
        enum rt5665_dmic1_data_pin dmic1_data_pin;
        enum rt5665_dmic2_data_pin dmic2_data_pin;
        enum rt5665_jd_src jd_src;
 
 #include <linux/platform_device.h>
 #include <linux/spi/spi.h>
 #include <linux/acpi.h>
-#include <linux/gpio.h>
-#include <linux/of_gpio.h>
+#include <linux/gpio/consumer.h>
 #include <linux/regulator/consumer.h>
 #include <linux/mutex.h>
 #include <sound/core.h>
        of_property_read_u32(dev->of_node, "realtek,jd-src",
                &rt5665->pdata.jd_src);
 
-       rt5665->pdata.ldo1_en = of_get_named_gpio(dev->of_node,
-               "realtek,ldo1-en-gpios", 0);
-
        return 0;
 }
 
                return ret;
        }
 
-       if (gpio_is_valid(rt5665->pdata.ldo1_en)) {
-               if (devm_gpio_request_one(&i2c->dev, rt5665->pdata.ldo1_en,
-                                         GPIOF_OUT_INIT_HIGH, "rt5665"))
-                       dev_err(&i2c->dev, "Fail gpio_request gpio_ldo\n");
+
+       rt5665->gpiod_ldo1_en = devm_gpiod_get_optional(&i2c->dev,
+                                                       "realtek,ldo1-en",
+                                                       GPIOD_OUT_HIGH);
+       if (IS_ERR(rt5665->gpiod_ldo1_en)) {
+               dev_err(&i2c->dev, "Failed gpio request ldo1_en\n");
+               return PTR_ERR(rt5665->gpiod_ldo1_en);
        }
 
        /* Sleep for 300 ms miniumum */