Loading drivers/phy/phy-sun4i-usb.c +14 −28 Original line number Diff line number Diff line Loading @@ -124,7 +124,6 @@ struct sun4i_usb_phy_data { bool regulator_on; int index; } phys[MAX_PHYS]; int first_phy; /* phy0 / otg related variables */ struct extcon_dev *extcon; bool phy0_init; Loading Loading @@ -326,7 +325,10 @@ static int sun4i_usb_phy0_get_id_det(struct sun4i_usb_phy_data *data) { switch (data->dr_mode) { case USB_DR_MODE_OTG: if (data->id_det_gpio) return gpiod_get_value_cansleep(data->id_det_gpio); else return 1; /* Fallback to peripheral mode */ case USB_DR_MODE_HOST: return 0; case USB_DR_MODE_PERIPHERAL: Loading Loading @@ -539,8 +541,7 @@ static struct phy *sun4i_usb_phy_xlate(struct device *dev, { struct sun4i_usb_phy_data *data = dev_get_drvdata(dev); if (args->args[0] < data->first_phy || args->args[0] >= data->cfg->num_phys) if (args->args[0] >= data->cfg->num_phys) return ERR_PTR(-ENODEV); return data->phys[args->args[0]].phy; Loading Loading @@ -615,18 +616,8 @@ static int sun4i_usb_phy_probe(struct platform_device *pdev) } data->dr_mode = of_usb_get_dr_mode_by_phy(np, 0); switch (data->dr_mode) { case USB_DR_MODE_OTG: /* otg without id_det makes no sense, and is not supported */ if (!data->id_det_gpio) { dev_err(dev, "usb0_id_det missing or invalid\n"); return -ENODEV; } /* fall through */ case USB_DR_MODE_HOST: case USB_DR_MODE_PERIPHERAL: data->extcon = devm_extcon_dev_allocate(dev, sun4i_usb_phy0_cable); data->extcon = devm_extcon_dev_allocate(dev, sun4i_usb_phy0_cable); if (IS_ERR(data->extcon)) return PTR_ERR(data->extcon); Loading @@ -635,13 +626,8 @@ static int sun4i_usb_phy_probe(struct platform_device *pdev) dev_err(dev, "failed to register extcon: %d\n", ret); return ret; } break; default: dev_info(dev, "dr_mode unknown, not registering usb phy0\n"); data->first_phy = 1; } for (i = data->first_phy; i < data->cfg->num_phys; i++) { for (i = 0; i < data->cfg->num_phys; i++) { struct sun4i_usb_phy *phy = data->phys + i; char name[16]; Loading Loading
drivers/phy/phy-sun4i-usb.c +14 −28 Original line number Diff line number Diff line Loading @@ -124,7 +124,6 @@ struct sun4i_usb_phy_data { bool regulator_on; int index; } phys[MAX_PHYS]; int first_phy; /* phy0 / otg related variables */ struct extcon_dev *extcon; bool phy0_init; Loading Loading @@ -326,7 +325,10 @@ static int sun4i_usb_phy0_get_id_det(struct sun4i_usb_phy_data *data) { switch (data->dr_mode) { case USB_DR_MODE_OTG: if (data->id_det_gpio) return gpiod_get_value_cansleep(data->id_det_gpio); else return 1; /* Fallback to peripheral mode */ case USB_DR_MODE_HOST: return 0; case USB_DR_MODE_PERIPHERAL: Loading Loading @@ -539,8 +541,7 @@ static struct phy *sun4i_usb_phy_xlate(struct device *dev, { struct sun4i_usb_phy_data *data = dev_get_drvdata(dev); if (args->args[0] < data->first_phy || args->args[0] >= data->cfg->num_phys) if (args->args[0] >= data->cfg->num_phys) return ERR_PTR(-ENODEV); return data->phys[args->args[0]].phy; Loading Loading @@ -615,18 +616,8 @@ static int sun4i_usb_phy_probe(struct platform_device *pdev) } data->dr_mode = of_usb_get_dr_mode_by_phy(np, 0); switch (data->dr_mode) { case USB_DR_MODE_OTG: /* otg without id_det makes no sense, and is not supported */ if (!data->id_det_gpio) { dev_err(dev, "usb0_id_det missing or invalid\n"); return -ENODEV; } /* fall through */ case USB_DR_MODE_HOST: case USB_DR_MODE_PERIPHERAL: data->extcon = devm_extcon_dev_allocate(dev, sun4i_usb_phy0_cable); data->extcon = devm_extcon_dev_allocate(dev, sun4i_usb_phy0_cable); if (IS_ERR(data->extcon)) return PTR_ERR(data->extcon); Loading @@ -635,13 +626,8 @@ static int sun4i_usb_phy_probe(struct platform_device *pdev) dev_err(dev, "failed to register extcon: %d\n", ret); return ret; } break; default: dev_info(dev, "dr_mode unknown, not registering usb phy0\n"); data->first_phy = 1; } for (i = data->first_phy; i < data->cfg->num_phys; i++) { for (i = 0; i < data->cfg->num_phys; i++) { struct sun4i_usb_phy *phy = data->phys + i; char name[16]; Loading