diff mbox

[next] phy: core: make NULL a valid phy reference if !CONFIG_GENERIC_PHY

Message ID 1394709073-1980-1-git-send-email-grygorii.strashko@ti.com (mailing list archive)
State New, archived
Headers show

Commit Message

Grygorii Strashko March 13, 2014, 11:11 a.m. UTC
This fixes a regression on Keystone 2 platforms caused by patch
57303488cd37da58263e842de134dc65f7c626d5
"usb: dwc3: adapt dwc3 core to use Generic PHY Framework" which adds
optional support of generic phy in DWC3 core.

On Keystone 2 platforms the USB is not working now because
CONFIG_GENERIC_PHY isn't set and, as result, Generic PHY APIs stubs
return -ENOSYS always. The log shows:
 dwc3 2690000.dwc3: failed to initialize core
 dwc3: probe of 2690000.dwc3 failed with error -38

Hence, fix it by making NULL a valid phy reference in Generic PHY
APIs stubs in the same way as it was done by the patch
04c2facad8fee66c981a51852806d8923336f362 "drivers: phy: Make NULL
a valid phy reference".

CC: Kishon Vijay Abraham I <kishon@ti.com>
CC: Felipe Balbi <balbi@ti.com>
CC: Santosh Shilimkar <santosh.shilimkar@ti.com>
Signed-off-by: Grygorii Strashko <grygorii.strashko@ti.com>
---
 include/linux/phy/phy.h |    8 ++++++++
 1 file changed, 8 insertions(+)

Comments

Santosh Shilimkar March 13, 2014, 1:37 p.m. UTC | #1
On Thursday 13 March 2014 07:11 PM, Strashko, Grygorii wrote:
> This fixes a regression on Keystone 2 platforms caused by patch
> 57303488cd37da58263e842de134dc65f7c626d5
> "usb: dwc3: adapt dwc3 core to use Generic PHY Framework" which adds
> optional support of generic phy in DWC3 core.
> 
> On Keystone 2 platforms the USB is not working now because
> CONFIG_GENERIC_PHY isn't set and, as result, Generic PHY APIs stubs
> return -ENOSYS always. The log shows:
>  dwc3 2690000.dwc3: failed to initialize core
>  dwc3: probe of 2690000.dwc3 failed with error -38
> 
> Hence, fix it by making NULL a valid phy reference in Generic PHY
> APIs stubs in the same way as it was done by the patch
> 04c2facad8fee66c981a51852806d8923336f362 "drivers: phy: Make NULL
> a valid phy reference".
> 
> CC: Kishon Vijay Abraham I <kishon@ti.com>
> CC: Felipe Balbi <balbi@ti.com>
> CC: Santosh Shilimkar <santosh.shilimkar@ti.com>
> Signed-off-by: Grygorii Strashko <grygorii.strashko@ti.com>
> ---
This fixes the regression seen in Linux next and patch seems
reasonable to me.
Acked-by: Santosh Shilimkar <santosh.shilimkar@ti.com>

Felipe, Kishon,
Can you guys pick this fix if you are ok by it. Thanks


>  include/linux/phy/phy.h |    8 ++++++++
>  1 file changed, 8 insertions(+)
> 
> diff --git a/include/linux/phy/phy.h b/include/linux/phy/phy.h
> index e2f5ca9..5a9b193 100644
> --- a/include/linux/phy/phy.h
> +++ b/include/linux/phy/phy.h
> @@ -204,21 +204,29 @@ static inline void phy_pm_runtime_forbid(struct phy *phy)
>  
>  static inline int phy_init(struct phy *phy)
>  {
> +	if (!phy)
> +		return 0;
>  	return -ENOSYS;
>  }
>  
>  static inline int phy_exit(struct phy *phy)
>  {
> +	if (!phy)
> +		return 0;
>  	return -ENOSYS;
>  }
>  
>  static inline int phy_power_on(struct phy *phy)
>  {
> +	if (!phy)
> +		return 0;
>  	return -ENOSYS;
>  }
>  
>  static inline int phy_power_off(struct phy *phy)
>  {
> +	if (!phy)
> +		return 0;
>  	return -ENOSYS;
>  }
>  
>
Kishon Vijay Abraham I March 13, 2014, 1:43 p.m. UTC | #2
Hi Santosh,

On Thursday 13 March 2014 07:07 PM, Santosh Shilimkar wrote:
> On Thursday 13 March 2014 07:11 PM, Strashko, Grygorii wrote:
>> This fixes a regression on Keystone 2 platforms caused by patch
>> 57303488cd37da58263e842de134dc65f7c626d5
>> "usb: dwc3: adapt dwc3 core to use Generic PHY Framework" which adds
>> optional support of generic phy in DWC3 core.
>>
>> On Keystone 2 platforms the USB is not working now because
>> CONFIG_GENERIC_PHY isn't set and, as result, Generic PHY APIs stubs
>> return -ENOSYS always. The log shows:
>>   dwc3 2690000.dwc3: failed to initialize core
>>   dwc3: probe of 2690000.dwc3 failed with error -38
>>
>> Hence, fix it by making NULL a valid phy reference in Generic PHY
>> APIs stubs in the same way as it was done by the patch
>> 04c2facad8fee66c981a51852806d8923336f362 "drivers: phy: Make NULL
>> a valid phy reference".
>>
>> CC: Kishon Vijay Abraham I <kishon@ti.com>
>> CC: Felipe Balbi <balbi@ti.com>
>> CC: Santosh Shilimkar <santosh.shilimkar@ti.com>
>> Signed-off-by: Grygorii Strashko <grygorii.strashko@ti.com>
>> ---
> This fixes the regression seen in Linux next and patch seems
> reasonable to me.
> Acked-by: Santosh Shilimkar <santosh.shilimkar@ti.com>
>
> Felipe, Kishon,
> Can you guys pick this fix if you are ok by it. Thanks

I've already given a PULL request to Greg for 3.15. Is it ok to take 
this in -rc cycle?

-Kishon
>
>
>>   include/linux/phy/phy.h |    8 ++++++++
>>   1 file changed, 8 insertions(+)
>>
>> diff --git a/include/linux/phy/phy.h b/include/linux/phy/phy.h
>> index e2f5ca9..5a9b193 100644
>> --- a/include/linux/phy/phy.h
>> +++ b/include/linux/phy/phy.h
>> @@ -204,21 +204,29 @@ static inline void phy_pm_runtime_forbid(struct phy *phy)
>>
>>   static inline int phy_init(struct phy *phy)
>>   {
>> +	if (!phy)
>> +		return 0;
>>   	return -ENOSYS;
>>   }
>>
>>   static inline int phy_exit(struct phy *phy)
>>   {
>> +	if (!phy)
>> +		return 0;
>>   	return -ENOSYS;
>>   }
>>
>>   static inline int phy_power_on(struct phy *phy)
>>   {
>> +	if (!phy)
>> +		return 0;
>>   	return -ENOSYS;
>>   }
>>
>>   static inline int phy_power_off(struct phy *phy)
>>   {
>> +	if (!phy)
>> +		return 0;
>>   	return -ENOSYS;
>>   }
>>
>>
>
Santosh Shilimkar March 13, 2014, 1:47 p.m. UTC | #3
On Thursday 13 March 2014 09:43 PM, Kishon Vijay Abraham I wrote:
> Hi Santosh,
> 
> On Thursday 13 March 2014 07:07 PM, Santosh Shilimkar wrote:
>> On Thursday 13 March 2014 07:11 PM, Strashko, Grygorii wrote:
>>> This fixes a regression on Keystone 2 platforms caused by patch
>>> 57303488cd37da58263e842de134dc65f7c626d5
>>> "usb: dwc3: adapt dwc3 core to use Generic PHY Framework" which adds
>>> optional support of generic phy in DWC3 core.
>>>
>>> On Keystone 2 platforms the USB is not working now because
>>> CONFIG_GENERIC_PHY isn't set and, as result, Generic PHY APIs stubs
>>> return -ENOSYS always. The log shows:
>>>   dwc3 2690000.dwc3: failed to initialize core
>>>   dwc3: probe of 2690000.dwc3 failed with error -38
>>>
>>> Hence, fix it by making NULL a valid phy reference in Generic PHY
>>> APIs stubs in the same way as it was done by the patch
>>> 04c2facad8fee66c981a51852806d8923336f362 "drivers: phy: Make NULL
>>> a valid phy reference".
>>>
>>> CC: Kishon Vijay Abraham I <kishon@ti.com>
>>> CC: Felipe Balbi <balbi@ti.com>
>>> CC: Santosh Shilimkar <santosh.shilimkar@ti.com>
>>> Signed-off-by: Grygorii Strashko <grygorii.strashko@ti.com>
>>> ---
>> This fixes the regression seen in Linux next and patch seems
>> reasonable to me.
>> Acked-by: Santosh Shilimkar <santosh.shilimkar@ti.com>
>>
>> Felipe, Kishon,
>> Can you guys pick this fix if you are ok by it. Thanks
> 
> I've already given a PULL request to Greg for 3.15. Is it ok to take this in -rc cycle?
> 
Am not sure because this is breaking the existing functionality.
May be you can request Greg to pull this fix as well.

Regards,
Santosh
Felipe Balbi March 13, 2014, 3:20 p.m. UTC | #4
On Thu, Mar 13, 2014 at 01:11:13PM +0200, Grygorii Strashko wrote:
> This fixes a regression on Keystone 2 platforms caused by patch
> 57303488cd37da58263e842de134dc65f7c626d5
> "usb: dwc3: adapt dwc3 core to use Generic PHY Framework" which adds
> optional support of generic phy in DWC3 core.
> 
> On Keystone 2 platforms the USB is not working now because
> CONFIG_GENERIC_PHY isn't set and, as result, Generic PHY APIs stubs
> return -ENOSYS always. The log shows:
>  dwc3 2690000.dwc3: failed to initialize core
>  dwc3: probe of 2690000.dwc3 failed with error -38
> 
> Hence, fix it by making NULL a valid phy reference in Generic PHY
> APIs stubs in the same way as it was done by the patch
> 04c2facad8fee66c981a51852806d8923336f362 "drivers: phy: Make NULL
> a valid phy reference".
> 
> CC: Kishon Vijay Abraham I <kishon@ti.com>
> CC: Felipe Balbi <balbi@ti.com>
> CC: Santosh Shilimkar <santosh.shilimkar@ti.com>
> Signed-off-by: Grygorii Strashko <grygorii.strashko@ti.com>

nice :-)

Acked-by: Felipe Balbi <balbi@ti.com>
Felipe Balbi March 13, 2014, 9:44 p.m. UTC | #5
Hi,

On Thu, Mar 13, 2014 at 10:20:24AM -0500, Felipe Balbi wrote:
> On Thu, Mar 13, 2014 at 01:11:13PM +0200, Grygorii Strashko wrote:
> > This fixes a regression on Keystone 2 platforms caused by patch
> > 57303488cd37da58263e842de134dc65f7c626d5
> > "usb: dwc3: adapt dwc3 core to use Generic PHY Framework" which adds
> > optional support of generic phy in DWC3 core.
> > 
> > On Keystone 2 platforms the USB is not working now because
> > CONFIG_GENERIC_PHY isn't set and, as result, Generic PHY APIs stubs
> > return -ENOSYS always. The log shows:
> >  dwc3 2690000.dwc3: failed to initialize core
> >  dwc3: probe of 2690000.dwc3 failed with error -38
> > 
> > Hence, fix it by making NULL a valid phy reference in Generic PHY
> > APIs stubs in the same way as it was done by the patch
> > 04c2facad8fee66c981a51852806d8923336f362 "drivers: phy: Make NULL
> > a valid phy reference".
> > 
> > CC: Kishon Vijay Abraham I <kishon@ti.com>
> > CC: Felipe Balbi <balbi@ti.com>
> > CC: Santosh Shilimkar <santosh.shilimkar@ti.com>
> > Signed-off-by: Grygorii Strashko <grygorii.strashko@ti.com>
> 
> nice :-)
> 
> Acked-by: Felipe Balbi <balbi@ti.com>

Greg, if your tree isn't closed yet, could you consider this patch still
for v3.15 merge window ? Grygorii found a regression on Keystone
platforms which this patch fixes. Let me know if you need the original
patch and myself or Kishon can send it to you.
Santosh Shilimkar April 2, 2014, 5:53 p.m. UTC | #6
On Thursday 13 March 2014 05:44 PM, Felipe Balbi wrote:
> Hi,
> 
> On Thu, Mar 13, 2014 at 10:20:24AM -0500, Felipe Balbi wrote:
>> On Thu, Mar 13, 2014 at 01:11:13PM +0200, Grygorii Strashko wrote:
>>> This fixes a regression on Keystone 2 platforms caused by patch
>>> 57303488cd37da58263e842de134dc65f7c626d5
>>> "usb: dwc3: adapt dwc3 core to use Generic PHY Framework" which adds
>>> optional support of generic phy in DWC3 core.
>>>
>>> On Keystone 2 platforms the USB is not working now because
>>> CONFIG_GENERIC_PHY isn't set and, as result, Generic PHY APIs stubs
>>> return -ENOSYS always. The log shows:
>>>  dwc3 2690000.dwc3: failed to initialize core
>>>  dwc3: probe of 2690000.dwc3 failed with error -38
>>>
>>> Hence, fix it by making NULL a valid phy reference in Generic PHY
>>> APIs stubs in the same way as it was done by the patch
>>> 04c2facad8fee66c981a51852806d8923336f362 "drivers: phy: Make NULL
>>> a valid phy reference".
>>>
>>> CC: Kishon Vijay Abraham I <kishon@ti.com>
>>> CC: Felipe Balbi <balbi@ti.com>
>>> CC: Santosh Shilimkar <santosh.shilimkar@ti.com>
>>> Signed-off-by: Grygorii Strashko <grygorii.strashko@ti.com>
>>
>> nice :-)
>>
>> Acked-by: Felipe Balbi <balbi@ti.com>
> 
> Greg, if your tree isn't closed yet, could you consider this patch still
> for v3.15 merge window ? Grygorii found a regression on Keystone
> platforms which this patch fixes. Let me know if you need the original
> patch and myself or Kishon can send it to you.
> 
Just checking whether the fix was picked up for the 3.14 merge window ?

Regards,
Santosh
Greg KH April 2, 2014, 6:16 p.m. UTC | #7
On Wed, Apr 02, 2014 at 01:53:19PM -0400, Santosh Shilimkar wrote:
> On Thursday 13 March 2014 05:44 PM, Felipe Balbi wrote:
> > Hi,
> > 
> > On Thu, Mar 13, 2014 at 10:20:24AM -0500, Felipe Balbi wrote:
> >> On Thu, Mar 13, 2014 at 01:11:13PM +0200, Grygorii Strashko wrote:
> >>> This fixes a regression on Keystone 2 platforms caused by patch
> >>> 57303488cd37da58263e842de134dc65f7c626d5
> >>> "usb: dwc3: adapt dwc3 core to use Generic PHY Framework" which adds
> >>> optional support of generic phy in DWC3 core.
> >>>
> >>> On Keystone 2 platforms the USB is not working now because
> >>> CONFIG_GENERIC_PHY isn't set and, as result, Generic PHY APIs stubs
> >>> return -ENOSYS always. The log shows:
> >>>  dwc3 2690000.dwc3: failed to initialize core
> >>>  dwc3: probe of 2690000.dwc3 failed with error -38
> >>>
> >>> Hence, fix it by making NULL a valid phy reference in Generic PHY
> >>> APIs stubs in the same way as it was done by the patch
> >>> 04c2facad8fee66c981a51852806d8923336f362 "drivers: phy: Make NULL
> >>> a valid phy reference".
> >>>
> >>> CC: Kishon Vijay Abraham I <kishon@ti.com>
> >>> CC: Felipe Balbi <balbi@ti.com>
> >>> CC: Santosh Shilimkar <santosh.shilimkar@ti.com>
> >>> Signed-off-by: Grygorii Strashko <grygorii.strashko@ti.com>
> >>
> >> nice :-)
> >>
> >> Acked-by: Felipe Balbi <balbi@ti.com>
> > 
> > Greg, if your tree isn't closed yet, could you consider this patch still
> > for v3.15 merge window ? Grygorii found a regression on Keystone
> > platforms which this patch fixes. Let me know if you need the original
> > patch and myself or Kishon can send it to you.
> > 
> Just checking whether the fix was picked up for the 3.14 merge window ?

3.14 is long released, the merge window for that was months ago.

greg k-h
Santosh Shilimkar April 2, 2014, 6:17 p.m. UTC | #8
On Wednesday 02 April 2014 02:16 PM, Greg KH wrote:
> On Wed, Apr 02, 2014 at 01:53:19PM -0400, Santosh Shilimkar wrote:
>> On Thursday 13 March 2014 05:44 PM, Felipe Balbi wrote:
>>> Hi,
>>>
>>> On Thu, Mar 13, 2014 at 10:20:24AM -0500, Felipe Balbi wrote:
>>>> On Thu, Mar 13, 2014 at 01:11:13PM +0200, Grygorii Strashko wrote:
>>>>> This fixes a regression on Keystone 2 platforms caused by patch
>>>>> 57303488cd37da58263e842de134dc65f7c626d5
>>>>> "usb: dwc3: adapt dwc3 core to use Generic PHY Framework" which adds
>>>>> optional support of generic phy in DWC3 core.
>>>>>
>>>>> On Keystone 2 platforms the USB is not working now because
>>>>> CONFIG_GENERIC_PHY isn't set and, as result, Generic PHY APIs stubs
>>>>> return -ENOSYS always. The log shows:
>>>>>  dwc3 2690000.dwc3: failed to initialize core
>>>>>  dwc3: probe of 2690000.dwc3 failed with error -38
>>>>>
>>>>> Hence, fix it by making NULL a valid phy reference in Generic PHY
>>>>> APIs stubs in the same way as it was done by the patch
>>>>> 04c2facad8fee66c981a51852806d8923336f362 "drivers: phy: Make NULL
>>>>> a valid phy reference".
>>>>>
>>>>> CC: Kishon Vijay Abraham I <kishon@ti.com>
>>>>> CC: Felipe Balbi <balbi@ti.com>
>>>>> CC: Santosh Shilimkar <santosh.shilimkar@ti.com>
>>>>> Signed-off-by: Grygorii Strashko <grygorii.strashko@ti.com>
>>>>
>>>> nice :-)
>>>>
>>>> Acked-by: Felipe Balbi <balbi@ti.com>
>>>
>>> Greg, if your tree isn't closed yet, could you consider this patch still
>>> for v3.15 merge window ? Grygorii found a regression on Keystone
>>> platforms which this patch fixes. Let me know if you need the original
>>> patch and myself or Kishon can send it to you.
>>>
>> Just checking whether the fix was picked up for the 3.14 merge window ?
> 
> 3.14 is long released, the merge window for that was months ago.
> 
Sorry for the typo. I mean for upcoming v3.15 merge window.


regards,
Santosh
Greg KH April 2, 2014, 6:26 p.m. UTC | #9
On Wed, Apr 02, 2014 at 02:17:19PM -0400, Santosh Shilimkar wrote:
> On Wednesday 02 April 2014 02:16 PM, Greg KH wrote:
> > On Wed, Apr 02, 2014 at 01:53:19PM -0400, Santosh Shilimkar wrote:
> >> On Thursday 13 March 2014 05:44 PM, Felipe Balbi wrote:
> >>> Hi,
> >>>
> >>> On Thu, Mar 13, 2014 at 10:20:24AM -0500, Felipe Balbi wrote:
> >>>> On Thu, Mar 13, 2014 at 01:11:13PM +0200, Grygorii Strashko wrote:
> >>>>> This fixes a regression on Keystone 2 platforms caused by patch
> >>>>> 57303488cd37da58263e842de134dc65f7c626d5
> >>>>> "usb: dwc3: adapt dwc3 core to use Generic PHY Framework" which adds
> >>>>> optional support of generic phy in DWC3 core.
> >>>>>
> >>>>> On Keystone 2 platforms the USB is not working now because
> >>>>> CONFIG_GENERIC_PHY isn't set and, as result, Generic PHY APIs stubs
> >>>>> return -ENOSYS always. The log shows:
> >>>>>  dwc3 2690000.dwc3: failed to initialize core
> >>>>>  dwc3: probe of 2690000.dwc3 failed with error -38
> >>>>>
> >>>>> Hence, fix it by making NULL a valid phy reference in Generic PHY
> >>>>> APIs stubs in the same way as it was done by the patch
> >>>>> 04c2facad8fee66c981a51852806d8923336f362 "drivers: phy: Make NULL
> >>>>> a valid phy reference".
> >>>>>
> >>>>> CC: Kishon Vijay Abraham I <kishon@ti.com>
> >>>>> CC: Felipe Balbi <balbi@ti.com>
> >>>>> CC: Santosh Shilimkar <santosh.shilimkar@ti.com>
> >>>>> Signed-off-by: Grygorii Strashko <grygorii.strashko@ti.com>
> >>>>
> >>>> nice :-)
> >>>>
> >>>> Acked-by: Felipe Balbi <balbi@ti.com>
> >>>
> >>> Greg, if your tree isn't closed yet, could you consider this patch still
> >>> for v3.15 merge window ? Grygorii found a regression on Keystone
> >>> platforms which this patch fixes. Let me know if you need the original
> >>> patch and myself or Kishon can send it to you.
> >>>
> >> Just checking whether the fix was picked up for the 3.14 merge window ?
> > 
> > 3.14 is long released, the merge window for that was months ago.
> > 
> Sorry for the typo. I mean for upcoming v3.15 merge window.

My trees are now "empty" now, with everything I had for the 3.15-rc1
merge window already in Linus's tree.  So I suggest looking there to see
if this made it in or not.

If not, be sure to resend it.

thanks,

greg k-h
Kishon Vijay Abraham I April 16, 2014, 10:09 a.m. UTC | #10
Hi,

On Thursday 13 March 2014 07:07 PM, Santosh Shilimkar wrote:
> On Thursday 13 March 2014 07:11 PM, Strashko, Grygorii wrote:
>> This fixes a regression on Keystone 2 platforms caused by patch
>> 57303488cd37da58263e842de134dc65f7c626d5
>> "usb: dwc3: adapt dwc3 core to use Generic PHY Framework" which adds
>> optional support of generic phy in DWC3 core.
>>
>> On Keystone 2 platforms the USB is not working now because
>> CONFIG_GENERIC_PHY isn't set and, as result, Generic PHY APIs stubs
>> return -ENOSYS always. The log shows:
>>  dwc3 2690000.dwc3: failed to initialize core
>>  dwc3: probe of 2690000.dwc3 failed with error -38
>>
>> Hence, fix it by making NULL a valid phy reference in Generic PHY
>> APIs stubs in the same way as it was done by the patch
>> 04c2facad8fee66c981a51852806d8923336f362 "drivers: phy: Make NULL
>> a valid phy reference".
>>
>> CC: Kishon Vijay Abraham I <kishon@ti.com>
>> CC: Felipe Balbi <balbi@ti.com>
>> CC: Santosh Shilimkar <santosh.shilimkar@ti.com>
>> Signed-off-by: Grygorii Strashko <grygorii.strashko@ti.com>
>> ---
> This fixes the regression seen in Linux next and patch seems
> reasonable to me.
> Acked-by: Santosh Shilimkar <santosh.shilimkar@ti.com>
> 
> Felipe, Kishon,
> Can you guys pick this fix if you are ok by it. Thanks
> 
> 
>>  include/linux/phy/phy.h |    8 ++++++++
>>  1 file changed, 8 insertions(+)
>>
>> diff --git a/include/linux/phy/phy.h b/include/linux/phy/phy.h
>> index e2f5ca9..5a9b193 100644
>> --- a/include/linux/phy/phy.h
>> +++ b/include/linux/phy/phy.h
>> @@ -204,21 +204,29 @@ static inline void phy_pm_runtime_forbid(struct phy *phy)
>>  
>>  static inline int phy_init(struct phy *phy)
>>  {
>> +	if (!phy)
>> +		return 0;
>>  	return -ENOSYS;
>>  }
>>  
>>  static inline int phy_exit(struct phy *phy)
>>  {
>> +	if (!phy)
>> +		return 0;
>>  	return -ENOSYS;
>>  }
>>  
>>  static inline int phy_power_on(struct phy *phy)
>>  {
>> +	if (!phy)
>> +		return 0;
>>  	return -ENOSYS;
>>  }
>>  
>>  static inline int phy_power_off(struct phy *phy)
>>  {
>> +	if (!phy)
>> +		return 0;
>>  	return -ENOSYS;
>>  }

Can you add these checks for other stubs in phy.h too?

Thanks
Kishon
diff mbox

Patch

diff --git a/include/linux/phy/phy.h b/include/linux/phy/phy.h
index e2f5ca9..5a9b193 100644
--- a/include/linux/phy/phy.h
+++ b/include/linux/phy/phy.h
@@ -204,21 +204,29 @@  static inline void phy_pm_runtime_forbid(struct phy *phy)
 
 static inline int phy_init(struct phy *phy)
 {
+	if (!phy)
+		return 0;
 	return -ENOSYS;
 }
 
 static inline int phy_exit(struct phy *phy)
 {
+	if (!phy)
+		return 0;
 	return -ENOSYS;
 }
 
 static inline int phy_power_on(struct phy *phy)
 {
+	if (!phy)
+		return 0;
 	return -ENOSYS;
 }
 
 static inline int phy_power_off(struct phy *phy)
 {
+	if (!phy)
+		return 0;
 	return -ENOSYS;
 }