From: Sascha Hauer <s.hauer@xxxxxxxxxxxxxx> Sent: Monday, May 25, 2020 6:49 PM > On Mon, May 25, 2020 at 03:09:26PM +0800, fugang.duan@xxxxxxx wrote: > > From: Fugang Duan <fugang.duan@xxxxxxx> > > > > The commit da722186f654 (net: fec: set GPR bit on suspend by DT > > configuration) set the GPR reigster offset and bit in driver for wake > > on lan feature. > > > > But it introduces two issues here: > > - one SOC has two instances, they have different bit > > - different SOCs may have different offset and bit > > > > So to support wake-on-lan feature on other i.MX platforms, it should > > configure the GPR reigster offset and bit from DT. > > > > So the patch is to improve the commit da722186f654 (net: fec: set GPR > > bit on suspend by DT configuration) to support multiple ethernet > > instances on i.MX series. > > > > v2: > > * switch back to store the quirks bitmask in driver_data > > > > Signed-off-by: Fugang Duan <fugang.duan@xxxxxxx> > > --- > > drivers/net/ethernet/freescale/fec_main.c | 103 > > ++++++++++-------------------- > > 1 file changed, 34 insertions(+), 69 deletions(-) > > > > diff --git a/drivers/net/ethernet/freescale/fec_main.c > > b/drivers/net/ethernet/freescale/fec_main.c > > index 2e20914..4f55d30 100644 > > --- a/drivers/net/ethernet/freescale/fec_main.c > > +++ b/drivers/net/ethernet/freescale/fec_main.c > > @@ -86,56 +86,6 @@ static void fec_enet_itr_coal_init(struct net_device > *ndev); > > #define FEC_ENET_OPD_V 0xFFF0 > > #define FEC_MDIO_PM_TIMEOUT 100 /* ms */ > > > > -struct fec_devinfo { > > - u32 quirks; > > - u8 stop_gpr_reg; > > - u8 stop_gpr_bit; > > -}; > > Honestly I like the approach of having a struct fec_devinfo for abstracting > differences between different hardware variants. It gives you more freedom > to describe the differences. Converting this back to a single bitfield is a step > backward, even when currently struct fec_devinfo only contains a single > value. > > Sascha > Sascha, thanks for your review. v1 patch is doing like this by using a struct fec_devinfo for abstracting differences. In fact, I also like v1 method. I will send the v3 version by using v1 patch. > -- > Pengutronix e.K. | > | > Steuerwalder Str. 21 | > https://eur01.safelinks.protection.outlook.com/?url=http%3A%2F%2Fwww.p > engutronix.de%2F&data=02%7C01%7Cfugang.duan%40nxp.com%7C2ae > 2657af251492ced5608d80099384e%7C686ea1d3bc2b4c6fa92cd99c5c30163 > 5%7C0%7C0%7C637260005356084997&sdata=sarhmRepUf1o4hCZ8WH > oSBrg%2Fl128jz%2BNXxHRGAM%2FL0%3D&reserved=0 | > 31137 Hildesheim, Germany | Phone: > +49-5121-206917-0 | > Amtsgericht Hildesheim, HRA 2686 | Fax: > +49-5121-206917-5555 |