| .. | .. |
|---|
| 73 | 73 | HEADSET_IN_LOW : |
|---|
| 74 | 74 | HEADSET_IN_HIGH; |
|---|
| 75 | 75 | } |
|---|
| 76 | | - |
|---|
| 77 | | - /* spk-ctl */ |
|---|
| 78 | | - ret = of_get_named_gpio_flags(node, "spk_ctl_gpio", 0, &flags); |
|---|
| 79 | | - if (ret < 0) { |
|---|
| 80 | | - dev_err(&pdev->dev, "Can not read property headset_gpio\n"); |
|---|
| 81 | | - goto err; |
|---|
| 82 | | - } else { |
|---|
| 83 | | - pdata->spk_ctl_gpio = ret; |
|---|
| 84 | | - ret = devm_gpio_request(&pdev->dev, pdata->spk_ctl_gpio, |
|---|
| 85 | | - "spk_ctl_gpio"); |
|---|
| 86 | | - if (ret < 0) { |
|---|
| 87 | | - dev_err(&pdev->dev, "spk_ctl_gpio request fail\n"); |
|---|
| 88 | | - goto err; |
|---|
| 89 | | - } |
|---|
| 90 | | - |
|---|
| 91 | | - ret = gpio_get_value(pdata->headset_gpio); |
|---|
| 92 | | - printk(" headset_gpio value : %d\n",ret); |
|---|
| 93 | | - if (ret == 0) |
|---|
| 94 | | - ret = gpio_direction_output(pdata->spk_ctl_gpio,0); |
|---|
| 95 | | - else |
|---|
| 96 | | - ret = gpio_direction_output(pdata->spk_ctl_gpio,1); |
|---|
| 97 | | - if (ret < 0) { |
|---|
| 98 | | - dev_err(&pdev->dev, |
|---|
| 99 | | - "spk_ctl_gpio set direction fail\n"); |
|---|
| 100 | | - goto err; |
|---|
| 101 | | - } |
|---|
| 102 | | - } |
|---|
| 103 | | - |
|---|
| 104 | | - |
|---|
| 105 | 76 | /* hook */ |
|---|
| 106 | 77 | ret = of_get_named_gpio_flags(node, "hook_gpio", 0, &pdata->hook_gpio); |
|---|
| 107 | 78 | if (ret < 0) { |
|---|