@@ -2478,6 +2478,29 @@ static int mtk_dp_register_audio_driver(struct device *dev)
2478
2478
return PTR_ERR_OR_ZERO (mtk_dp -> audio_pdev );
2479
2479
}
2480
2480
2481
+ static int mtk_dp_register_phy (struct mtk_dp * mtk_dp )
2482
+ {
2483
+ struct device * dev = mtk_dp -> dev ;
2484
+
2485
+ mtk_dp -> phy_dev = platform_device_register_data (dev , "mediatek-dp-phy" ,
2486
+ PLATFORM_DEVID_AUTO ,
2487
+ & mtk_dp -> regs ,
2488
+ sizeof (struct regmap * ));
2489
+ if (IS_ERR (mtk_dp -> phy_dev ))
2490
+ return dev_err_probe (dev , PTR_ERR (mtk_dp -> phy_dev ),
2491
+ "Failed to create device mediatek-dp-phy\n" );
2492
+
2493
+ mtk_dp_get_calibration_data (mtk_dp );
2494
+
2495
+ mtk_dp -> phy = devm_phy_get (& mtk_dp -> phy_dev -> dev , "dp" );
2496
+ if (IS_ERR (mtk_dp -> phy )) {
2497
+ platform_device_unregister (mtk_dp -> phy_dev );
2498
+ return dev_err_probe (dev , PTR_ERR (mtk_dp -> phy ), "Failed to get phy\n" );
2499
+ }
2500
+
2501
+ return 0 ;
2502
+ }
2503
+
2481
2504
static int mtk_dp_probe (struct platform_device * pdev )
2482
2505
{
2483
2506
struct mtk_dp * mtk_dp ;
@@ -2536,23 +2559,9 @@ static int mtk_dp_probe(struct platform_device *pdev)
2536
2559
}
2537
2560
}
2538
2561
2539
- mtk_dp -> phy_dev = platform_device_register_data (dev , "mediatek-dp-phy" ,
2540
- PLATFORM_DEVID_AUTO ,
2541
- & mtk_dp -> regs ,
2542
- sizeof (struct regmap * ));
2543
- if (IS_ERR (mtk_dp -> phy_dev ))
2544
- return dev_err_probe (dev , PTR_ERR (mtk_dp -> phy_dev ),
2545
- "Failed to create device mediatek-dp-phy\n" );
2546
-
2547
- mtk_dp_get_calibration_data (mtk_dp );
2548
-
2549
- mtk_dp -> phy = devm_phy_get (& mtk_dp -> phy_dev -> dev , "dp" );
2550
-
2551
- if (IS_ERR (mtk_dp -> phy )) {
2552
- platform_device_unregister (mtk_dp -> phy_dev );
2553
- return dev_err_probe (dev , PTR_ERR (mtk_dp -> phy ),
2554
- "Failed to get phy\n" );
2555
- }
2562
+ ret = mtk_dp_register_phy (mtk_dp );
2563
+ if (ret )
2564
+ return ret ;
2556
2565
2557
2566
mtk_dp -> bridge .funcs = & mtk_dp_bridge_funcs ;
2558
2567
mtk_dp -> bridge .of_node = dev -> of_node ;
0 commit comments