rockchip: motorcomm: simplify redundant code
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
(cherry picked from commit 6b5ec5a5ee)
This commit is contained in:
parent
b28a438abf
commit
585172558c
@ -22,7 +22,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
|
|||||||
|
|
||||||
--- a/drivers/usb/dwc3/core.c
|
--- a/drivers/usb/dwc3/core.c
|
||||||
+++ b/drivers/usb/dwc3/core.c
|
+++ b/drivers/usb/dwc3/core.c
|
||||||
@@ -1090,6 +1090,11 @@ static int dwc3_core_init(struct dwc3 *d
|
@@ -1127,6 +1127,11 @@ static int dwc3_core_init(struct dwc3 *d
|
||||||
if (dwc->parkmode_disable_ss_quirk)
|
if (dwc->parkmode_disable_ss_quirk)
|
||||||
reg |= DWC3_GUCTL1_PARKMODE_DISABLE_SS;
|
reg |= DWC3_GUCTL1_PARKMODE_DISABLE_SS;
|
||||||
|
|
||||||
|
|||||||
@ -13,53 +13,51 @@
|
|||||||
/* 2b00 84ms
|
/* 2b00 84ms
|
||||||
* 2b01 168ms *default*
|
* 2b01 168ms *default*
|
||||||
* 2b10 336ms
|
* 2b10 336ms
|
||||||
@@ -1459,6 +1465,7 @@ static int yt8521_resume(struct phy_devi
|
@@ -1450,6 +1456,27 @@ static int yt8521_resume(struct phy_devi
|
||||||
static int yt8521_config_init(struct phy_device *phydev)
|
return yt8521_modify_utp_fiber_bmcr(phydev, BMCR_PDOWN, 0);
|
||||||
{
|
|
||||||
struct device_node *node = phydev->mdio.dev.of_node;
|
|
||||||
+ u32 led_data[YTPHY_LED_NUM_CONFIG];
|
|
||||||
int old_page;
|
|
||||||
int ret = 0;
|
|
||||||
|
|
||||||
@@ -1488,6 +1495,16 @@ static int yt8521_config_init(struct phy
|
|
||||||
if (ret < 0)
|
|
||||||
goto err_restore_page;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
+static int ytphy_config_led(struct phy_device *phydev)
|
||||||
|
+{
|
||||||
|
+ struct device_node *node = phydev->mdio.dev.of_node;
|
||||||
|
+ u32 led_data[YTPHY_LED_NUM_CONFIG];
|
||||||
|
+ int ret;
|
||||||
|
+
|
||||||
|
+ ret = of_property_read_u32_array(node, "motorcomm,led-data",
|
||||||
|
+ led_data, YTPHY_LED_NUM_CONFIG);
|
||||||
|
+ if (ret)
|
||||||
|
+ return 0;
|
||||||
+
|
+
|
||||||
+ if (!of_property_read_u32_array(node, "motorcomm,led-data",
|
|
||||||
+ led_data, YTPHY_LED_NUM_CONFIG)) {
|
|
||||||
+ for (int i = 0; i < YTPHY_LED_NUM_CONFIG; i++) {
|
|
||||||
+ ret = ytphy_write_ext(phydev, YTPHY_LED_CONFIG_REG(i),
|
|
||||||
+ led_data[i]);
|
|
||||||
+ if (ret < 0)
|
|
||||||
+ goto err_restore_page;
|
|
||||||
+ }
|
|
||||||
+ }
|
|
||||||
err_restore_page:
|
|
||||||
return phy_restore_page(phydev, old_page, ret);
|
|
||||||
}
|
|
||||||
@@ -1495,6 +1512,7 @@ err_restore_page:
|
|
||||||
static int yt8531_config_init(struct phy_device *phydev)
|
|
||||||
{
|
|
||||||
struct device_node *node = phydev->mdio.dev.of_node;
|
|
||||||
+ u32 led_data[YTPHY_LED_NUM_CONFIG];
|
|
||||||
int ret;
|
|
||||||
|
|
||||||
ret = ytphy_rgmii_clk_delay_config_with_lock(phydev);
|
|
||||||
@@ -1519,6 +1537,16 @@ static int yt8531_config_init(struct phy
|
|
||||||
return ret;
|
|
||||||
}
|
|
||||||
|
|
||||||
+ if (!of_property_read_u32_array(node, "motorcomm,led-data",
|
|
||||||
+ led_data, YTPHY_LED_NUM_CONFIG)) {
|
|
||||||
+ for (int i = 0; i < YTPHY_LED_NUM_CONFIG; i++) {
|
+ for (int i = 0; i < YTPHY_LED_NUM_CONFIG; i++) {
|
||||||
+ ret = ytphy_write_ext(phydev, YTPHY_LED_CONFIG_REG(i),
|
+ ret = ytphy_write_ext(phydev, YTPHY_LED_CONFIG_REG(i),
|
||||||
+ led_data[i]);
|
+ led_data[i]);
|
||||||
+ if (ret < 0)
|
+ if (ret < 0)
|
||||||
+ return ret;
|
+ return ret;
|
||||||
+ }
|
+ }
|
||||||
|
+
|
||||||
|
+ return 0;
|
||||||
+}
|
+}
|
||||||
+
|
+
|
||||||
return 0;
|
/**
|
||||||
|
* yt8521_config_init() - called to initialize the PHY
|
||||||
|
* @phydev: a pointer to a &struct phy_device
|
||||||
|
@@ -1488,6 +1515,10 @@ static int yt8521_config_init(struct phy
|
||||||
|
if (ret < 0)
|
||||||
|
goto err_restore_page;
|
||||||
|
}
|
||||||
|
+
|
||||||
|
+ ret = ytphy_config_led(phydev);
|
||||||
|
+ if (ret < 0)
|
||||||
|
+ goto err_restore_page;
|
||||||
|
err_restore_page:
|
||||||
|
return phy_restore_page(phydev, old_page, ret);
|
||||||
|
}
|
||||||
|
@@ -1519,7 +1550,7 @@ static int yt8531_config_init(struct phy
|
||||||
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
- return 0;
|
||||||
|
+ return ytphy_config_led(phydev);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user