mirror of
https://github.com/BobTheBlinker/android_kernel_motorola_sm6375.git
synced 2026-10-10 06:09:23 -04:00
arm64/dts: update the wlan_antenna driver code for boston
add the code to support get the gpio status. adb shell "cat /sys/devices/platform/soc/soc:wlan_antenna/wlan_antenna_en" low adb shell "cat /sys/devices/platform/soc/soc:wlan_antenna/wlan_antenna_en" high Change-Id: If1e1826e5afa9779bae44a8339eb74f4bbc11e6f Signed-off-by: Zhiye Li <lizy90@motorola.com> Reviewed-on: https://gerrit.mot.com/2795396 SME-Granted: SME Approvals Granted SLTApproved: Slta Waiver Tested-by: Jira Key Reviewed-by: Yeqing Wang <wangyq13@motorola.com> Reviewed-by: Bin Liu <liubin7@motorola.com> Reviewed-by: Tao Sun <suntao2@motorola.com> Submit-Approved: Jira Key
This commit is contained in:
parent
49a7695c91
commit
ee730f8640
1 changed files with 14 additions and 4 deletions
|
|
@ -25,13 +25,15 @@
|
|||
#include <linux/platform_device.h>
|
||||
#include <linux/of.h>
|
||||
#include <linux/pinctrl/consumer.h>
|
||||
|
||||
#include <linux/gpio.h>
|
||||
#include <linux/of_gpio.h>
|
||||
|
||||
#define DRIVER_VERSION "0.0.1"
|
||||
|
||||
struct wlan_antenna_drvdata {
|
||||
struct device *dev;
|
||||
struct pinctrl *pinctrl;
|
||||
int wlan_antenna_gpio;
|
||||
struct pinctrl_state *pstate_active;
|
||||
struct pinctrl_state *pstate_suspend;
|
||||
};
|
||||
|
|
@ -47,7 +49,10 @@ static ssize_t wlan_antenna_en_read(struct device *dev,
|
|||
return -EINVAL;
|
||||
}
|
||||
|
||||
return snprintf(buf, PAGE_SIZE, "wlan_antenna: not support!\n");
|
||||
if (gpio_get_value(data->wlan_antenna_gpio))
|
||||
return snprintf(buf, PAGE_SIZE, "high\n");
|
||||
else
|
||||
return snprintf(buf, PAGE_SIZE, "low\n");
|
||||
}
|
||||
|
||||
static ssize_t wlan_antenna_en_write(struct device *dev,
|
||||
|
|
@ -77,8 +82,6 @@ static ssize_t wlan_antenna_en_write(struct device *dev,
|
|||
|
||||
if(ret) {
|
||||
pr_err("wlan_antenna failed to set pinctrl!\n");
|
||||
} else {
|
||||
pr_info("wlan_antenna success set pinctrl\n");
|
||||
}
|
||||
|
||||
return count;
|
||||
|
|
@ -108,6 +111,13 @@ static int wlan_antenna_probe(struct platform_device *pdev)
|
|||
drvdata->dev = &pdev->dev;
|
||||
platform_set_drvdata(pdev, drvdata);
|
||||
|
||||
drvdata->wlan_antenna_gpio = of_get_named_gpio(dev->of_node, "qcom,wlan_antenna-gpio", 0);
|
||||
ret = gpio_request(drvdata->wlan_antenna_gpio, "wlan_antenna_gpio");
|
||||
if (ret) {
|
||||
pr_err("%s, unable to request gpio %d (%d)\n", __func__, drvdata->wlan_antenna_gpio, ret);
|
||||
return ret;
|
||||
}
|
||||
|
||||
/* Get pinctrl if target uses pinctrl */
|
||||
drvdata->pinctrl = devm_pinctrl_get(dev);
|
||||
if (IS_ERR_OR_NULL(drvdata->pinctrl)) {
|
||||
|
|
|
|||
Loading…
Reference in a new issue