usb: phy: msm: Replace custom enum usb_mode_type with enum usb_dr_mode
authorIvan T. Ivanov <iivanov@mm-sol.com>
Mon, 28 Apr 2014 13:34:11 +0000 (16:34 +0300)
committerFelipe Balbi <balbi@ti.com>
Wed, 30 Apr 2014 16:28:43 +0000 (11:28 -0500)
Use enum usb_dr_mode and drop default usb_dr_mode from platform data.

USB DT bindings states: dr_mode: "...In case this attribute isn't
passed via DT, USB DRD controllers should default to OTG...",
so remove redundand field.

Signed-off-by: Ivan T. Ivanov <iivanov@mm-sol.com>
Acked-by: David Brown <davidb@codeaurora.org>
Signed-off-by: Felipe Balbi <balbi@ti.com>
arch/arm/mach-msm/board-msm7x30.c
arch/arm/mach-msm/board-qsd8x50.c
drivers/usb/phy/phy-msm-usb.c
include/linux/usb/msm_hsusb.h

index 46de789ad3ae8e7a9f0b1c172ad36106cf2ab86c..0c4c200e122125628a5155defb7ae8e2280c0235 100644 (file)
@@ -95,7 +95,7 @@ static int hsusb_phy_clk_reset(struct clk *phy_clk)
 
 static struct msm_otg_platform_data msm_otg_pdata = {
        .phy_init_seq           = hsusb_phy_init_seq,
-       .mode                   = USB_PERIPHERAL,
+       .mode                   = USB_DR_MODE_PERIPHERAL,
        .otg_control            = OTG_PHY_CONTROL,
        .link_clk_reset         = hsusb_link_clk_reset,
        .phy_clk_reset          = hsusb_phy_clk_reset,
index 9169ec324a43dc88f9cdf5d22f1a6adfac6c9187..4c748616ef47eb9de63d751072e8d779fc3ffe44 100644 (file)
@@ -116,7 +116,7 @@ static int hsusb_phy_clk_reset(struct clk *phy_clk)
 
 static struct msm_otg_platform_data msm_otg_pdata = {
        .phy_init_seq           = hsusb_phy_init_seq,
-       .mode                   = USB_PERIPHERAL,
+       .mode                   = USB_DR_MODE_PERIPHERAL,
        .otg_control            = OTG_PHY_CONTROL,
        .link_clk_reset         = hsusb_link_clk_reset,
        .phy_clk_reset          = hsusb_phy_clk_reset,
index 874c51a856835490825d16b13c23ecb8ca8ae8e7..7eb2abf3f8741ee98a49f47f51afa82fffa986fc 100644 (file)
@@ -348,10 +348,10 @@ static int msm_otg_reset(struct usb_phy *phy)
 
        if (pdata->otg_control == OTG_PHY_CONTROL) {
                val = readl(USB_OTGSC);
-               if (pdata->mode == USB_OTG) {
+               if (pdata->mode == USB_DR_MODE_OTG) {
                        ulpi_val = ULPI_INT_IDGRD | ULPI_INT_SESS_VALID;
                        val |= OTGSC_IDIE | OTGSC_BSVIE;
-               } else if (pdata->mode == USB_PERIPHERAL) {
+               } else if (pdata->mode == USB_DR_MODE_PERIPHERAL) {
                        ulpi_val = ULPI_INT_SESS_VALID;
                        val |= OTGSC_BSVIE;
                }
@@ -637,7 +637,7 @@ static int msm_otg_set_host(struct usb_otg *otg, struct usb_bus *host)
         * Fail host registration if this board can support
         * only peripheral configuration.
         */
-       if (motg->pdata->mode == USB_PERIPHERAL) {
+       if (motg->pdata->mode == USB_DR_MODE_PERIPHERAL) {
                dev_info(otg->phy->dev, "Host mode is not supported\n");
                return -ENODEV;
        }
@@ -666,7 +666,7 @@ static int msm_otg_set_host(struct usb_otg *otg, struct usb_bus *host)
         * Kick the state machine work, if peripheral is not supported
         * or peripheral is already registered with us.
         */
-       if (motg->pdata->mode == USB_HOST || otg->gadget) {
+       if (motg->pdata->mode == USB_DR_MODE_HOST || otg->gadget) {
                pm_runtime_get_sync(otg->phy->dev);
                schedule_work(&motg->sm_work);
        }
@@ -710,7 +710,7 @@ static int msm_otg_set_peripheral(struct usb_otg *otg,
         * Fail peripheral registration if this board can support
         * only host configuration.
         */
-       if (motg->pdata->mode == USB_HOST) {
+       if (motg->pdata->mode == USB_DR_MODE_HOST) {
                dev_info(otg->phy->dev, "Peripheral mode is not supported\n");
                return -ENODEV;
        }
@@ -735,7 +735,7 @@ static int msm_otg_set_peripheral(struct usb_otg *otg,
         * Kick the state machine work, if host is not supported
         * or host is already registered with us.
         */
-       if (motg->pdata->mode == USB_PERIPHERAL || otg->host) {
+       if (motg->pdata->mode == USB_DR_MODE_PERIPHERAL || otg->host) {
                pm_runtime_get_sync(otg->phy->dev);
                schedule_work(&motg->sm_work);
        }
@@ -1056,7 +1056,7 @@ static void msm_otg_init_sm(struct msm_otg *motg)
        u32 otgsc = readl(USB_OTGSC);
 
        switch (pdata->mode) {
-       case USB_OTG:
+       case USB_DR_MODE_OTG:
                if (pdata->otg_control == OTG_PHY_CONTROL) {
                        if (otgsc & OTGSC_ID)
                                set_bit(ID, &motg->inputs);
@@ -1068,21 +1068,14 @@ static void msm_otg_init_sm(struct msm_otg *motg)
                        else
                                clear_bit(B_SESS_VLD, &motg->inputs);
                } else if (pdata->otg_control == OTG_USER_CONTROL) {
-                       if (pdata->default_mode == USB_HOST) {
-                               clear_bit(ID, &motg->inputs);
-                       } else if (pdata->default_mode == USB_PERIPHERAL) {
-                               set_bit(ID, &motg->inputs);
-                               set_bit(B_SESS_VLD, &motg->inputs);
-                       } else {
                                set_bit(ID, &motg->inputs);
                                clear_bit(B_SESS_VLD, &motg->inputs);
-                       }
                }
                break;
-       case USB_HOST:
+       case USB_DR_MODE_HOST:
                clear_bit(ID, &motg->inputs);
                break;
-       case USB_PERIPHERAL:
+       case USB_DR_MODE_PERIPHERAL:
                set_bit(ID, &motg->inputs);
                if (otgsc & OTGSC_BSV)
                        set_bit(B_SESS_VLD, &motg->inputs);
@@ -1258,7 +1251,7 @@ static ssize_t msm_otg_mode_write(struct file *file, const char __user *ubuf,
        char buf[16];
        struct usb_otg *otg = motg->phy.otg;
        int status = count;
-       enum usb_mode_type req_mode;
+       enum usb_dr_mode req_mode;
 
        memset(buf, 0x00, sizeof(buf));
 
@@ -1268,18 +1261,18 @@ static ssize_t msm_otg_mode_write(struct file *file, const char __user *ubuf,
        }
 
        if (!strncmp(buf, "host", 4)) {
-               req_mode = USB_HOST;
+               req_mode = USB_DR_MODE_HOST;
        } else if (!strncmp(buf, "peripheral", 10)) {
-               req_mode = USB_PERIPHERAL;
+               req_mode = USB_DR_MODE_PERIPHERAL;
        } else if (!strncmp(buf, "none", 4)) {
-               req_mode = USB_NONE;
+               req_mode = USB_DR_MODE_UNKNOWN;
        } else {
                status = -EINVAL;
                goto out;
        }
 
        switch (req_mode) {
-       case USB_NONE:
+       case USB_DR_MODE_UNKNOWN:
                switch (otg->phy->state) {
                case OTG_STATE_A_HOST:
                case OTG_STATE_B_PERIPHERAL:
@@ -1290,7 +1283,7 @@ static ssize_t msm_otg_mode_write(struct file *file, const char __user *ubuf,
                        goto out;
                }
                break;
-       case USB_PERIPHERAL:
+       case USB_DR_MODE_PERIPHERAL:
                switch (otg->phy->state) {
                case OTG_STATE_B_IDLE:
                case OTG_STATE_A_HOST:
@@ -1301,7 +1294,7 @@ static ssize_t msm_otg_mode_write(struct file *file, const char __user *ubuf,
                        goto out;
                }
                break;
-       case USB_HOST:
+       case USB_DR_MODE_HOST:
                switch (otg->phy->state) {
                case OTG_STATE_B_IDLE:
                case OTG_STATE_B_PERIPHERAL:
@@ -1511,7 +1504,7 @@ static int msm_otg_probe(struct platform_device *pdev)
        platform_set_drvdata(pdev, motg);
        device_init_wakeup(&pdev->dev, 1);
 
-       if (motg->pdata->mode == USB_OTG &&
+       if (motg->pdata->mode == USB_DR_MODE_OTG &&
                        motg->pdata->otg_control == OTG_USER_CONTROL) {
                ret = msm_otg_debugfs_init(motg);
                if (ret)
index 8705b01646849c18b8fd4ae8fba5b11cccb00bdd..72c5830455bf684360b10d3a8358e1ec2092457c 100644 (file)
 #include <linux/usb/otg.h>
 #include <linux/clk.h>
 
-/**
- * Supported USB modes
- *
- * USB_PERIPHERAL       Only peripheral mode is supported.
- * USB_HOST             Only host mode is supported.
- * USB_OTG              OTG mode is supported.
- *
- */
-enum usb_mode_type {
-       USB_NONE = 0,
-       USB_PERIPHERAL,
-       USB_HOST,
-       USB_OTG,
-};
-
 /**
  * OTG control
  *
@@ -121,8 +106,6 @@ enum usb_chg_type {
  * @power_budget: VBUS power budget in mA (0 will be treated as 500mA).
  * @mode: Supported mode (OTG/peripheral/host).
  * @otg_control: OTG switch controlled by user/Id pin
- * @default_mode: Default operational mode. Applicable only if
- *              OTG switch is controller by user.
  * @pclk_src_name: pclk is derived from ebi1_usb_clk in case of 7x27 and 8k
  *              dfab_usb_hs_clk in case of 8660 and 8960.
  */
@@ -130,9 +113,8 @@ struct msm_otg_platform_data {
        int *phy_init_seq;
        void (*vbus_power)(bool on);
        unsigned power_budget;
-       enum usb_mode_type mode;
+       enum usb_dr_mode mode;
        enum otg_control_type otg_control;
-       enum usb_mode_type default_mode;
        enum msm_usb_phy_type phy_type;
        void (*setup_gpio)(enum usb_otg_state state);
        char *pclk_src_name;