[U-Boot] [PATCH 1/1] dm: phy: add missing #ifdef CONFIG_PHY

Jean-Jacques Hiblot jjhiblot at ti.com
Fri Jul 21 08:01:03 UTC 2017



On 20/07/2017 16:50, Marek Vasut wrote:
> On 07/20/2017 02:31 PM, Patrice CHOTARD wrote:
>>
>> On 07/20/2017 02:21 PM, Marek Vasut wrote:
>>> On 07/20/2017 02:15 PM, patrice.chotard at st.com wrote:
>>>> From: Patrice Chotard <patrice.chotard at st.com>
>>>>
>>>> To avoid compilation breakage on platform that doesn't
>>>> support DM PHY but uses xhci-dwc3 driver, add the missing
>>>> CONFIG_PHY flag.
>>>>
>>>> Introduced by patch :
>>>> 84e53877 "usb: host: xhci-dwc3: Add generic PHY support"
>>>>
>>>> Cc: Ran Wang <ran.wang_1 at nxp.com>
>>>> Cc: Bin Meng <bmeng.cn at gmail.com>
>>>>
>>>> Signed-off-by: Patrice Chotard <patrice.chotard at st.com>
>>>> ---
>>>>    include/generic-phy.h | 47 +++++++++++++++++++++++++++++++++++++++++++++++
>>>>    1 file changed, 47 insertions(+)
>>>>
>>>> diff --git a/include/generic-phy.h b/include/generic-phy.h
>>>> index 58cd2b2..9dbc268 100644
>>>> --- a/include/generic-phy.h
>>>> +++ b/include/generic-phy.h
>>>> @@ -122,6 +122,7 @@ struct phy_ops {
>>>>    	int	(*power_off)(struct phy *phy);
>>>>    };
>>>>    
>>>> +#ifdef CONFIG_PHY
>>>>    
>>>>    /**
>>>>     * generic_phy_init() - initialize the PHY port
>>>> @@ -231,4 +232,50 @@ static inline bool generic_phy_valid(struct phy *phy)
>>>>    	return phy->dev != NULL;
>>>>    }
>>>>    
>>>> +#else /* CONFIG_PHY */
>>>> +
>>>> +int generic_phy_init(struct phy *phy)
>>>> +{
>>>> +	return 0;
>>>> +}
>>>> +
>>>> +int generic_phy_exit(struct phy *phy)
>>>> +{
>>>> +	return 0;
>>>> +}
>>>> +
>>>> +int generic_phy_reset(struct phy *phy)
>>>> +{
>>>> +	return 0;
>>>> +}
>>>> +
>>>> +int generic_phy_power_on(struct phy *phy)
>>>> +{
>>>> +	return 0;
>>>> +}
>>>> +
>>>> +int generic_phy_power_off(struct phy *phy)
>>>> +{
>>>> +	return 0;
>>>> +}
>>>> +
>>>> +int generic_phy_get_by_index(struct udevice *user, int index,
>>>> +			     struct phy *phy)
>>>> +{
>>>> +	return 0;
>>>> +}
>>>> +
>>>> +int generic_phy_get_by_name(struct udevice *user, const char *phy_name,
>>>> +			    struct phy *phy)
>>>> +{
>>>> +	return 0;
>>>> +}
>>>> +
>>>> +static inline bool generic_phy_valid(struct phy *phy)
>>>> +{
>>>> +	return 1;
>>> It's bool, should return true/false . Also I don't think the PHY is
>> Ah yes, i will fix the return value.
>>
>>> really valid. I wonder if we rather need a NOP PHY for the xhci .
>> The phy is not valid, but we don't care, as all other generic PHY API
>> are now defined as stubbed.
>> If you are agree, i will just fix the return value.
> For whatever reason, using a NOP PHY looks more natural. IMO Linux does
> that too. I'd like a second opinion on that though.
I tend to think likewise. the xhci-dwc3 driver can select PHY or depend 
on PHY in Kconfig this will fix the compilation breakage. And a NOP phy 
device can be used for the stubbing.
The reason I prefer this approach, is that the PHY framework can be used 
for other things than USB (SATA for example)  and thus can't be 
deselected just because the USB driver doesn't need it.
I'll prepare a patch for the noop PHY.

Jean-Jacques
>



More information about the U-Boot mailing list