@@ -158,7 +158,7 @@ static void stmmac_clk_csr_set(struct stmmac_priv *priv)
158158{
159159 u32 clk_rate ;
160160
161- clk_rate = clk_get_rate (priv -> stmmac_clk );
161+ clk_rate = clk_get_rate (priv -> plat -> stmmac_clk );
162162
163163 /* Platform provided default clk_csr would be assumed valid
164164 * for all other cases except for the below mentioned ones.
@@ -607,7 +607,7 @@ static int stmmac_hwtstamp_ioctl(struct net_device *dev, struct ifreq *ifr)
607607
608608 /* program Sub Second Increment reg */
609609 sec_inc = priv -> hw -> ptp -> config_sub_second_increment (
610- priv -> ptpaddr , priv -> clk_ptp_rate ,
610+ priv -> ptpaddr , priv -> plat -> clk_ptp_rate ,
611611 priv -> plat -> has_gmac4 );
612612 temp = div_u64 (1000000000ULL , sec_inc );
613613
@@ -617,7 +617,7 @@ static int stmmac_hwtstamp_ioctl(struct net_device *dev, struct ifreq *ifr)
617617 * where, freq_div_ratio = 1e9ns/sec_inc
618618 */
619619 temp = (u64 )(temp << 32 );
620- priv -> default_addend = div_u64 (temp , priv -> clk_ptp_rate );
620+ priv -> default_addend = div_u64 (temp , priv -> plat -> clk_ptp_rate );
621621 priv -> hw -> ptp -> config_addend (priv -> ptpaddr ,
622622 priv -> default_addend );
623623
@@ -645,18 +645,6 @@ static int stmmac_init_ptp(struct stmmac_priv *priv)
645645 if (!(priv -> dma_cap .time_stamp || priv -> dma_cap .atime_stamp ))
646646 return - EOPNOTSUPP ;
647647
648- /* Fall-back to main clock in case of no PTP ref is passed */
649- priv -> clk_ptp_ref = devm_clk_get (priv -> device , "clk_ptp_ref" );
650- if (IS_ERR (priv -> clk_ptp_ref )) {
651- priv -> clk_ptp_rate = clk_get_rate (priv -> stmmac_clk );
652- priv -> clk_ptp_ref = NULL ;
653- netdev_dbg (priv -> dev , "PTP uses main clock\n" );
654- } else {
655- clk_prepare_enable (priv -> clk_ptp_ref );
656- priv -> clk_ptp_rate = clk_get_rate (priv -> clk_ptp_ref );
657- netdev_dbg (priv -> dev , "PTP rate %d\n" , priv -> clk_ptp_rate );
658- }
659-
660648 priv -> adv_ts = 0 ;
661649 /* Check if adv_ts can be enabled for dwmac 4.x core */
662650 if (priv -> plat -> has_gmac4 && priv -> dma_cap .atime_stamp )
@@ -683,8 +671,8 @@ static int stmmac_init_ptp(struct stmmac_priv *priv)
683671
684672static void stmmac_release_ptp (struct stmmac_priv * priv )
685673{
686- if (priv -> clk_ptp_ref )
687- clk_disable_unprepare (priv -> clk_ptp_ref );
674+ if (priv -> plat -> clk_ptp_ref )
675+ clk_disable_unprepare (priv -> plat -> clk_ptp_ref );
688676 stmmac_ptp_unregister (priv );
689677}
690678
@@ -3278,44 +3266,8 @@ int stmmac_dvr_probe(struct device *device,
32783266 if ((phyaddr >= 0 ) && (phyaddr <= 31 ))
32793267 priv -> plat -> phy_addr = phyaddr ;
32803268
3281- priv -> stmmac_clk = devm_clk_get (priv -> device , STMMAC_RESOURCE_NAME );
3282- if (IS_ERR (priv -> stmmac_clk )) {
3283- netdev_warn (priv -> dev , "%s: warning: cannot get CSR clock\n" ,
3284- __func__ );
3285- /* If failed to obtain stmmac_clk and specific clk_csr value
3286- * is NOT passed from the platform, probe fail.
3287- */
3288- if (!priv -> plat -> clk_csr ) {
3289- ret = PTR_ERR (priv -> stmmac_clk );
3290- goto error_clk_get ;
3291- } else {
3292- priv -> stmmac_clk = NULL ;
3293- }
3294- }
3295- clk_prepare_enable (priv -> stmmac_clk );
3296-
3297- priv -> pclk = devm_clk_get (priv -> device , "pclk" );
3298- if (IS_ERR (priv -> pclk )) {
3299- if (PTR_ERR (priv -> pclk ) == - EPROBE_DEFER ) {
3300- ret = - EPROBE_DEFER ;
3301- goto error_pclk_get ;
3302- }
3303- priv -> pclk = NULL ;
3304- }
3305- clk_prepare_enable (priv -> pclk );
3306-
3307- priv -> stmmac_rst = devm_reset_control_get (priv -> device ,
3308- STMMAC_RESOURCE_NAME );
3309- if (IS_ERR (priv -> stmmac_rst )) {
3310- if (PTR_ERR (priv -> stmmac_rst ) == - EPROBE_DEFER ) {
3311- ret = - EPROBE_DEFER ;
3312- goto error_hw_init ;
3313- }
3314- dev_info (priv -> device , "no reset control found\n" );
3315- priv -> stmmac_rst = NULL ;
3316- }
3317- if (priv -> stmmac_rst )
3318- reset_control_deassert (priv -> stmmac_rst );
3269+ if (priv -> plat -> stmmac_rst )
3270+ reset_control_deassert (priv -> plat -> stmmac_rst );
33193271
33203272 /* Init MAC and get the capabilities */
33213273 ret = stmmac_hw_init (priv );
@@ -3409,10 +3361,6 @@ int stmmac_dvr_probe(struct device *device,
34093361error_mdio_register :
34103362 netif_napi_del (& priv -> napi );
34113363error_hw_init :
3412- clk_disable_unprepare (priv -> pclk );
3413- error_pclk_get :
3414- clk_disable_unprepare (priv -> stmmac_clk );
3415- error_clk_get :
34163364 free_netdev (ndev );
34173365
34183366 return ret ;
@@ -3438,10 +3386,10 @@ int stmmac_dvr_remove(struct device *dev)
34383386 stmmac_set_mac (priv -> ioaddr , false);
34393387 netif_carrier_off (ndev );
34403388 unregister_netdev (ndev );
3441- if (priv -> stmmac_rst )
3442- reset_control_assert (priv -> stmmac_rst );
3443- clk_disable_unprepare (priv -> pclk );
3444- clk_disable_unprepare (priv -> stmmac_clk );
3389+ if (priv -> plat -> stmmac_rst )
3390+ reset_control_assert (priv -> plat -> stmmac_rst );
3391+ clk_disable_unprepare (priv -> plat -> pclk );
3392+ clk_disable_unprepare (priv -> plat -> stmmac_clk );
34453393 if (priv -> hw -> pcs != STMMAC_PCS_RGMII &&
34463394 priv -> hw -> pcs != STMMAC_PCS_TBI &&
34473395 priv -> hw -> pcs != STMMAC_PCS_RTBI )
@@ -3490,8 +3438,8 @@ int stmmac_suspend(struct device *dev)
34903438 stmmac_set_mac (priv -> ioaddr , false);
34913439 pinctrl_pm_select_sleep_state (priv -> device );
34923440 /* Disable clock in case of PWM is off */
3493- clk_disable (priv -> pclk );
3494- clk_disable (priv -> stmmac_clk );
3441+ clk_disable (priv -> plat -> pclk );
3442+ clk_disable (priv -> plat -> stmmac_clk );
34953443 }
34963444 spin_unlock_irqrestore (& priv -> lock , flags );
34973445
@@ -3531,8 +3479,8 @@ int stmmac_resume(struct device *dev)
35313479 } else {
35323480 pinctrl_pm_select_default_state (priv -> device );
35333481 /* enable the clk prevously disabled */
3534- clk_enable (priv -> stmmac_clk );
3535- clk_enable (priv -> pclk );
3482+ clk_enable (priv -> plat -> stmmac_clk );
3483+ clk_enable (priv -> plat -> pclk );
35363484 /* reset the phy so that it's ready */
35373485 if (priv -> mii )
35383486 stmmac_mdio_reset (priv -> mii );
0 commit comments