Message ID | 1447350020-27969-1-git-send-email-mans@mansr.com |
---|---|
State | Accepted, archived |
Delegated to: | David Miller |
Headers | show |
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@mansr.com> > --- > 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. -- To unsubscribe from this list: send the line "unsubscribe netdev" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
On 12 November 2015 19:06:23 GMT+00:00, Mason <slash.tmp@free.fr> 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@mansr.com> >> --- >> 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.
On 12/11/15 11:09, Måns Rullgård wrote: > On 12 November 2015 19:06:23 GMT+00:00, Mason <slash.tmp@free.fr> 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@mansr.com> >>> --- >>> 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.
On 12/11/15 09: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@mansr.com> Reviewed-by: Florian Fainelli <f.fainelli@gmail.com>
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@mansr.com> >>>> --- >>>> 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. -- To unsubscribe from this list: send the line "unsubscribe netdev" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Mason <slash.tmp@free.fr> 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@mansr.com> >>>>> --- >>>>> 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.
From: Mans Rullgard <mans@mansr.com> Date: Thu, 12 Nov 2015 17:40:20 +0000 > 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@mansr.com> Applied. -- To unsubscribe from this list: send the line "unsubscribe netdev" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
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, },
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@mansr.com> --- 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(+)