Subject: Re: [PATCH] net: phy: at803x: support interrupt on 8030 and 8035

From: Mason <[email-masked]>
Date: Thu, 12 Nov 2015 23:14:11 +0100

On 12/11/2015 20:14, Florian Fainelli wrote:
> On 12/11/15 11:09, Måns Rullgård wrote:
>> On 12 November 2015 19:06:23 GMT+00:00, Mason wrote:
>>> On 12/11/2015 18:40, Mans Rullgard wrote:
>>>> Commit 77a993942 "phy/at8031: enable at8031 to work on interrupt mode"
>>>> added interrupt support for the 8031 PHY but left out the other two
>>>> chips supported by this driver.
>>>>
>>>> This patch sets the .ack_interrupt and .config_intr functions for the
>>>> 8030 and 8035 drivers as well.
>>>>
>>>> Signed-off-by: Mans Rullgard <[email-masked]>
>>>> ---
>>>> I have only tested this with an 8035.  I can't find a datasheet for
>>>> the 8030, but since 8031, 8032, and 8035 all have the same register
>>>> layout, there's a good chance 8030 does as well.
>>>> ---
>>>>  drivers/net/phy/at803x.c | 4 ++++
>>>>  1 file changed, 4 insertions(+)
>>>>
>>>> diff --git a/drivers/net/phy/at803x.c b/drivers/net/phy/at803x.c
>>>> index fabf11d..2d020a3 100644
>>>> --- a/drivers/net/phy/at803x.c
>>>> +++ b/drivers/net/phy/at803x.c
>>>> @@ -308,6 +308,8 @@ static struct phy_driver at803x_driver[] = {
>>>>  	.flags			= PHY_HAS_INTERRUPT,
>>>>  	.config_aneg		= genphy_config_aneg,
>>>>  	.read_status		= genphy_read_status,
>>>> +	.ack_interrupt		= at803x_ack_interrupt,
>>>> +	.config_intr		= at803x_config_intr,
>>>>  	.driver			= {
>>>>  		.owner = THIS_MODULE,
>>>>  	},
>>>> @@ -327,6 +329,8 @@ static struct phy_driver at803x_driver[] = {
>>>>  	.flags			= PHY_HAS_INTERRUPT,
>>>>  	.config_aneg		= genphy_config_aneg,
>>>>  	.read_status		= genphy_read_status,
>>>> +	.ack_interrupt		= at803x_ack_interrupt,
>>>> +	.config_intr		= at803x_config_intr,
>>>>  	.driver			= {
>>>>  		.owner = THIS_MODULE,
>>>>  	},
>>>
>>> Shouldn't we take the opportunity to clean up the duplicated register
>>> definitions? (I'll send an informal patch to spur discussion.)
>>>
>>> Regards.
>>
>> That can be done independently. Feel free to send a patch.
> 
> Agreed, that deserve a separate patch.

Isn't there a problem when at803x_set_wol() sets the AT803X_WOL_ENABLE
bit, but a DISABLE/ENABLE cycle through at803x_config_intr() will
discard that bit?

Regards.