summaryrefslogtreecommitdiffstats
path: root/drivers/usb
diff options
context:
space:
mode:
authorHeikki Krogerus <heikki.krogerus@linux.intel.com>2015-09-21 04:14:34 -0400
committerFelipe Balbi <balbi@ti.com>2015-09-27 11:54:31 -0400
commit06e7114f0d8297278eb24f4e9bee3393a94bd8ce (patch)
tree9a4759e115df3f93c04bccc2fc4ef42fa172af02 /drivers/usb
parent666472733b8ce20716037c0d866395db54aa8c1d (diff)
usb: common: of_usb_get_dr_mode to usb_get_dr_mode
By using the unified device property interface, the function can be made available for all platforms and not just the ones using DT. Signed-off-by: Heikki Krogerus <heikki.krogerus@linux.intel.com> Signed-off-by: Felipe Balbi <balbi@ti.com>
Diffstat (limited to 'drivers/usb')
-rw-r--r--drivers/usb/chipidea/core.c2
-rw-r--r--drivers/usb/common/common.c15
-rw-r--r--drivers/usb/dwc2/platform.c2
-rw-r--r--drivers/usb/dwc3/core.c2
-rw-r--r--drivers/usb/dwc3/dwc3-st.c2
-rw-r--r--drivers/usb/musb/musb_dsps.c2
-rw-r--r--drivers/usb/musb/sunxi.c2
-rw-r--r--drivers/usb/phy/phy-msm-usb.c2
-rw-r--r--drivers/usb/phy/phy-tegra-usb.c2
9 files changed, 12 insertions, 19 deletions
diff --git a/drivers/usb/chipidea/core.c b/drivers/usb/chipidea/core.c
index ce7153232425..bf2599757f55 100644
--- a/drivers/usb/chipidea/core.c
+++ b/drivers/usb/chipidea/core.c
@@ -611,7 +611,7 @@ static int ci_get_platdata(struct device *dev,
611 platdata->phy_mode = of_usb_get_phy_mode(dev->of_node); 611 platdata->phy_mode = of_usb_get_phy_mode(dev->of_node);
612 612
613 if (!platdata->dr_mode) 613 if (!platdata->dr_mode)
614 platdata->dr_mode = of_usb_get_dr_mode(dev->of_node); 614 platdata->dr_mode = usb_get_dr_mode(dev);
615 615
616 if (platdata->dr_mode == USB_DR_MODE_UNKNOWN) 616 if (platdata->dr_mode == USB_DR_MODE_UNKNOWN)
617 platdata->dr_mode = USB_DR_MODE_OTG; 617 platdata->dr_mode = USB_DR_MODE_OTG;
diff --git a/drivers/usb/common/common.c b/drivers/usb/common/common.c
index b25a111903ab..673d53038ed2 100644
--- a/drivers/usb/common/common.c
+++ b/drivers/usb/common/common.c
@@ -99,7 +99,6 @@ const char *usb_state_string(enum usb_device_state state)
99} 99}
100EXPORT_SYMBOL_GPL(usb_state_string); 100EXPORT_SYMBOL_GPL(usb_state_string);
101 101
102#ifdef CONFIG_OF
103static const char *const usb_dr_modes[] = { 102static const char *const usb_dr_modes[] = {
104 [USB_DR_MODE_UNKNOWN] = "", 103 [USB_DR_MODE_UNKNOWN] = "",
105 [USB_DR_MODE_HOST] = "host", 104 [USB_DR_MODE_HOST] = "host",
@@ -107,19 +106,12 @@ static const char *const usb_dr_modes[] = {
107 [USB_DR_MODE_OTG] = "otg", 106 [USB_DR_MODE_OTG] = "otg",
108}; 107};
109 108
110/** 109enum usb_dr_mode usb_get_dr_mode(struct device *dev)
111 * of_usb_get_dr_mode - Get dual role mode for given device_node
112 * @np: Pointer to the given device_node
113 *
114 * The function gets phy interface string from property 'dr_mode',
115 * and returns the correspondig enum usb_dr_mode
116 */
117enum usb_dr_mode of_usb_get_dr_mode(struct device_node *np)
118{ 110{
119 const char *dr_mode; 111 const char *dr_mode;
120 int err, i; 112 int err, i;
121 113
122 err = of_property_read_string(np, "dr_mode", &dr_mode); 114 err = device_property_read_string(dev, "dr_mode", &dr_mode);
123 if (err < 0) 115 if (err < 0)
124 return USB_DR_MODE_UNKNOWN; 116 return USB_DR_MODE_UNKNOWN;
125 117
@@ -129,8 +121,9 @@ enum usb_dr_mode of_usb_get_dr_mode(struct device_node *np)
129 121
130 return USB_DR_MODE_UNKNOWN; 122 return USB_DR_MODE_UNKNOWN;
131} 123}
132EXPORT_SYMBOL_GPL(of_usb_get_dr_mode); 124EXPORT_SYMBOL_GPL(usb_get_dr_mode);
133 125
126#ifdef CONFIG_OF
134/** 127/**
135 * of_usb_host_tpl_support - to get if Targeted Peripheral List is supported 128 * of_usb_host_tpl_support - to get if Targeted Peripheral List is supported
136 * for given targeted hosts (non-PC hosts) 129 * for given targeted hosts (non-PC hosts)
diff --git a/drivers/usb/dwc2/platform.c b/drivers/usb/dwc2/platform.c
index 3d1f82def2f3..28abd1f90900 100644
--- a/drivers/usb/dwc2/platform.c
+++ b/drivers/usb/dwc2/platform.c
@@ -220,7 +220,7 @@ static int dwc2_driver_probe(struct platform_device *dev)
220 dev_dbg(&dev->dev, "mapped PA %08lx to VA %p\n", 220 dev_dbg(&dev->dev, "mapped PA %08lx to VA %p\n",
221 (unsigned long)res->start, hsotg->regs); 221 (unsigned long)res->start, hsotg->regs);
222 222
223 hsotg->dr_mode = of_usb_get_dr_mode(dev->dev.of_node); 223 hsotg->dr_mode = usb_get_dr_mode(&dev->dev);
224 224
225 /* 225 /*
226 * Attempt to find a generic PHY, then look for an old style 226 * Attempt to find a generic PHY, then look for an old style
diff --git a/drivers/usb/dwc3/core.c b/drivers/usb/dwc3/core.c
index 61a56357baf0..407151465645 100644
--- a/drivers/usb/dwc3/core.c
+++ b/drivers/usb/dwc3/core.c
@@ -871,6 +871,7 @@ static int dwc3_probe(struct platform_device *pdev)
871 hird_threshold = 12; 871 hird_threshold = 12;
872 872
873 dwc->maximum_speed = usb_get_maximum_speed(dev); 873 dwc->maximum_speed = usb_get_maximum_speed(dev);
874 dwc->dr_mode = usb_get_dr_mode(dev);
874 875
875 if (node) { 876 if (node) {
876 dwc->has_lpm_erratum = of_property_read_bool(node, 877 dwc->has_lpm_erratum = of_property_read_bool(node,
@@ -886,7 +887,6 @@ static int dwc3_probe(struct platform_device *pdev)
886 887
887 dwc->needs_fifo_resize = of_property_read_bool(node, 888 dwc->needs_fifo_resize = of_property_read_bool(node,
888 "tx-fifo-resize"); 889 "tx-fifo-resize");
889 dwc->dr_mode = of_usb_get_dr_mode(node);
890 890
891 dwc->disable_scramble_quirk = of_property_read_bool(node, 891 dwc->disable_scramble_quirk = of_property_read_bool(node,
892 "snps,disable_scramble_quirk"); 892 "snps,disable_scramble_quirk");
diff --git a/drivers/usb/dwc3/dwc3-st.c b/drivers/usb/dwc3/dwc3-st.c
index 02d47d50905b..5c0adb9c6fb2 100644
--- a/drivers/usb/dwc3/dwc3-st.c
+++ b/drivers/usb/dwc3/dwc3-st.c
@@ -268,7 +268,7 @@ static int st_dwc3_probe(struct platform_device *pdev)
268 goto undo_softreset; 268 goto undo_softreset;
269 } 269 }
270 270
271 dwc3_data->dr_mode = of_usb_get_dr_mode(child_pdev->dev.of_node); 271 dwc3_data->dr_mode = usb_get_dr_mode(&child_pdev->dev);
272 272
273 /* 273 /*
274 * Configure the USB port as device or host according to the static 274 * Configure the USB port as device or host according to the static
diff --git a/drivers/usb/musb/musb_dsps.c b/drivers/usb/musb/musb_dsps.c
index c6a69eaf280f..eeb7d9ecf7df 100644
--- a/drivers/usb/musb/musb_dsps.c
+++ b/drivers/usb/musb/musb_dsps.c
@@ -666,7 +666,7 @@ static int get_musb_port_mode(struct device *dev)
666{ 666{
667 enum usb_dr_mode mode; 667 enum usb_dr_mode mode;
668 668
669 mode = of_usb_get_dr_mode(dev->of_node); 669 mode = usb_get_dr_mode(dev);
670 switch (mode) { 670 switch (mode) {
671 case USB_DR_MODE_HOST: 671 case USB_DR_MODE_HOST:
672 return MUSB_PORT_MODE_HOST; 672 return MUSB_PORT_MODE_HOST;
diff --git a/drivers/usb/musb/sunxi.c b/drivers/usb/musb/sunxi.c
index f9f6304ad854..f11b8f681b30 100644
--- a/drivers/usb/musb/sunxi.c
+++ b/drivers/usb/musb/sunxi.c
@@ -617,7 +617,7 @@ static int sunxi_musb_probe(struct platform_device *pdev)
617 return -ENOMEM; 617 return -ENOMEM;
618 618
619 memset(&pdata, 0, sizeof(pdata)); 619 memset(&pdata, 0, sizeof(pdata));
620 switch (of_usb_get_dr_mode(np)) { 620 switch (usb_get_dr_mode(&pdev->dev)) {
621#if defined CONFIG_USB_MUSB_DUAL_ROLE || defined CONFIG_USB_MUSB_HOST 621#if defined CONFIG_USB_MUSB_DUAL_ROLE || defined CONFIG_USB_MUSB_HOST
622 case USB_DR_MODE_HOST: 622 case USB_DR_MODE_HOST:
623 pdata.mode = MUSB_PORT_MODE_HOST; 623 pdata.mode = MUSB_PORT_MODE_HOST;
diff --git a/drivers/usb/phy/phy-msm-usb.c b/drivers/usb/phy/phy-msm-usb.c
index c58c3c0dbe35..80eb991c2506 100644
--- a/drivers/usb/phy/phy-msm-usb.c
+++ b/drivers/usb/phy/phy-msm-usb.c
@@ -1529,7 +1529,7 @@ static int msm_otg_read_dt(struct platform_device *pdev, struct msm_otg *motg)
1529 if (IS_ERR(motg->phy_rst)) 1529 if (IS_ERR(motg->phy_rst))
1530 motg->phy_rst = NULL; 1530 motg->phy_rst = NULL;
1531 1531
1532 pdata->mode = of_usb_get_dr_mode(node); 1532 pdata->mode = usb_get_dr_mode(&pdev->dev);
1533 if (pdata->mode == USB_DR_MODE_UNKNOWN) 1533 if (pdata->mode == USB_DR_MODE_UNKNOWN)
1534 pdata->mode = USB_DR_MODE_OTG; 1534 pdata->mode = USB_DR_MODE_OTG;
1535 1535
diff --git a/drivers/usb/phy/phy-tegra-usb.c b/drivers/usb/phy/phy-tegra-usb.c
index ab025b00964c..5fe4a5704bde 100644
--- a/drivers/usb/phy/phy-tegra-usb.c
+++ b/drivers/usb/phy/phy-tegra-usb.c
@@ -1029,7 +1029,7 @@ static int tegra_usb_phy_probe(struct platform_device *pdev)
1029 } 1029 }
1030 1030
1031 if (of_find_property(np, "dr_mode", NULL)) 1031 if (of_find_property(np, "dr_mode", NULL))
1032 tegra_phy->mode = of_usb_get_dr_mode(np); 1032 tegra_phy->mode = usb_get_dr_mode(&pdev->dev);
1033 else 1033 else
1034 tegra_phy->mode = USB_DR_MODE_HOST; 1034 tegra_phy->mode = USB_DR_MODE_HOST;
1035 1035