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

From: Måns Rullgård
Date: Thu Nov 12 2015 - 17:28:48 EST


Mason <slash.tmp@xxxxxxx> writes:

> 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 <mans@xxxxxxxxx>
>>>>> ---
>>>>> 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?

Possibly, but fixing that should be yet another patch.

--
Måns Rullgård
mans@xxxxxxxxx
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/