On Fri, Jul 04, 2025 at 08:03:47PM +0200, Andrew Lunn wrote: > > +#define M_NET_FEATURE_SG ((u32)(1 << 0)) > > +#define M_NET_FEATURE_TX_CHECKSUM ((u32)(1 << 1)) > > +#define M_NET_FEATURE_RX_CHECKSUM ((u32)(1 << 2)) > > Please use the BIT() macro. > Got it, I will fix this. > > + u32 feature_flags; > > + u16 usecstocount; > > +}; > > + > > > +#define rnpgbe_rd_reg(reg) readl((void *)(reg)) > > +#define rnpgbe_wr_reg(reg, val) writel((val), (void *)(reg)) > > These casts look wrong. You should be getting your basic iomem pointer > from a function which returns an void __iomem* pointer, so the cast > should not be needed. > Yes, I also get failed from 'patch status' website, I should remove 'void *' here. > > -static int rnpgbe_add_adpater(struct pci_dev *pdev) > > +static int rnpgbe_add_adpater(struct pci_dev *pdev, > > + const struct rnpgbe_info *ii) > > { > > + int err = 0; > > struct mucse *mucse = NULL; > > struct net_device *netdev; > > + struct mucse_hw *hw = NULL; > > + u8 __iomem *hw_addr = NULL; > > + u32 dma_version = 0; > > static int bd_number; > > + u32 queues = ii->total_queue_pair_cnts; > > You need to work on your reverse Christmas tree. Local variables > should be ordered longest to shortest. > > Andrew > Got it, I will fix it, and try to check other patches. Thanks for your feedback.