|
@@ -26,26 +26,6 @@
|
|
|
#include <linux/clk.h>
|
|
|
#include <linux/usb/omap_control_usb.h>
|
|
|
|
|
|
-static struct omap_control_usb *control_usb;
|
|
|
-
|
|
|
-/**
|
|
|
- * omap_get_control_dev - returns the device pointer for this control device
|
|
|
- *
|
|
|
- * This API should be called to get the device pointer for this control
|
|
|
- * module device. This device pointer should be used for called other
|
|
|
- * exported API's in this driver.
|
|
|
- *
|
|
|
- * To be used by PHY driver and glue driver.
|
|
|
- */
|
|
|
-struct device *omap_get_control_dev(void)
|
|
|
-{
|
|
|
- if (!control_usb)
|
|
|
- return ERR_PTR(-ENODEV);
|
|
|
-
|
|
|
- return control_usb->dev;
|
|
|
-}
|
|
|
-EXPORT_SYMBOL_GPL(omap_get_control_dev);
|
|
|
-
|
|
|
/**
|
|
|
* omap_control_usb_phy_power - power on/off the phy using control module reg
|
|
|
* @dev: the control module device
|
|
@@ -182,11 +162,19 @@ void omap_control_usb_set_mode(struct device *dev,
|
|
|
{
|
|
|
struct omap_control_usb *ctrl_usb;
|
|
|
|
|
|
- if (IS_ERR(dev) || control_usb->type != OMAP_CTRL_TYPE_OTGHS)
|
|
|
+ if (IS_ERR(dev) || !dev)
|
|
|
return;
|
|
|
|
|
|
ctrl_usb = dev_get_drvdata(dev);
|
|
|
|
|
|
+ if (!ctrl_usb) {
|
|
|
+ dev_err(dev, "Invalid control usb device\n");
|
|
|
+ return;
|
|
|
+ }
|
|
|
+
|
|
|
+ if (ctrl_usb->type != OMAP_CTRL_TYPE_OTGHS)
|
|
|
+ return;
|
|
|
+
|
|
|
switch (mode) {
|
|
|
case USB_MODE_HOST:
|
|
|
omap_control_usb_host_mode(ctrl_usb);
|
|
@@ -237,6 +225,7 @@ static int omap_control_usb_probe(struct platform_device *pdev)
|
|
|
{
|
|
|
struct resource *res;
|
|
|
const struct of_device_id *of_id;
|
|
|
+ struct omap_control_usb *control_usb;
|
|
|
|
|
|
of_id = of_match_device(of_match_ptr(omap_control_usb_id_table),
|
|
|
&pdev->dev);
|