Merge remote-tracking branches 'asoc/topic/rt5659', 'asoc/topic/rt5660', 'asoc/topic...
[cascardo/linux.git] / sound / soc / codecs / uda134x.c
index a4a3e98..5fdee87 100644 (file)
@@ -546,6 +546,7 @@ static int uda134x_codec_probe(struct platform_device *pdev)
 {
        struct uda134x_platform_data *pd = pdev->dev.platform_data;
        struct uda134x_priv *uda134x;
+       int ret;
 
        if (!pd) {
                dev_err(&pdev->dev, "Missing L3 bitbang function\n");
@@ -559,6 +560,12 @@ static int uda134x_codec_probe(struct platform_device *pdev)
        uda134x->pd = pd;
        platform_set_drvdata(pdev, uda134x);
 
+       if (pd->l3.use_gpios) {
+               ret = l3_set_gpio_ops(&pdev->dev, &uda134x->pd->l3);
+               if (ret < 0)
+                       return ret;
+       }
+
        uda134x->regmap = devm_regmap_init(&pdev->dev, NULL, pd,
                &uda134x_regmap_config);
        if (IS_ERR(uda134x->regmap))