Message ID | 20240502091847.65181-13-justinlai0215@realtek.com (mailing list archive) |
---|---|
State | Superseded |
Delegated to: | Netdev Maintainers |
Headers | show |
Series | Add Realtek automotive PCIe driver | expand |
Context | Check | Description |
---|---|---|
netdev/tree_selection | success | Clearly marked for net-next, async |
netdev/apply | fail | Patch does not apply to net-next-1 |
On Thu, May 02, 2024 at 05:18:46PM +0800, Justin Lai wrote: > 1. Add the RTASE entry in the Kconfig. > 2. Add the CONFIG_RTASE entry in the Makefile. > > Signed-off-by: Justin Lai <justinlai0215@realtek.com> > --- > drivers/net/ethernet/realtek/Kconfig | 17 +++++++++++++++++ > drivers/net/ethernet/realtek/Makefile | 1 + > 2 files changed, 18 insertions(+) > > diff --git a/drivers/net/ethernet/realtek/Kconfig b/drivers/net/ethernet/realtek/Kconfig > index 93d9df55b361..57ef924deebd 100644 > --- a/drivers/net/ethernet/realtek/Kconfig > +++ b/drivers/net/ethernet/realtek/Kconfig > @@ -113,4 +113,21 @@ config R8169 > To compile this driver as a module, choose M here: the module > will be called r8169. This is recommended. > > +config RTASE > + tristate "Realtek Automotive Switch 9054/9068/9072/9075/9068/9071 PCIe Interface support" > + depends on PCI > + select CRC32 Hi Justin, I believe that you also need: select PAGE_POOL As the driver uses page_pool_alloc_pages() FWIIW, I observed this when using a config based on make tinyconfig with PCI and NET enabled, all WiFi drivers disabled, and only and only this Ethernet driver enabled. > + help > + Say Y here if you have a Realtek Ethernet adapter belonging to > + the following families: > + RTL9054 5GBit Ethernet > + RTL9068 5GBit Ethernet > + RTL9072 5GBit Ethernet > + RTL9075 5GBit Ethernet > + RTL9068 5GBit Ethernet > + RTL9071 5GBit Ethernet > + > + To compile this driver as a module, choose M here: the module > + will be called rtase. This is recommended. The advice above to chose Y and M seem to conflict. Perhaps this can be edited somehow. > + > endif # NET_VENDOR_REALTEK > diff --git a/drivers/net/ethernet/realtek/Makefile b/drivers/net/ethernet/realtek/Makefile > index 2e1d78b106b0..0c1c16f63e9a 100644 > --- a/drivers/net/ethernet/realtek/Makefile > +++ b/drivers/net/ethernet/realtek/Makefile > @@ -8,3 +8,4 @@ obj-$(CONFIG_8139TOO) += 8139too.o > obj-$(CONFIG_ATP) += atp.o > r8169-objs += r8169_main.o r8169_firmware.o r8169_phy_config.o > obj-$(CONFIG_R8169) += r8169.o > +obj-$(CONFIG_RTASE) += rtase/ > -- > 2.34.1 > >
Hi Justin,
kernel test robot noticed the following build errors:
[auto build test ERROR on horms-ipvs/master]
[cannot apply to net-next/main linus/master v6.9-rc6 next-20240503]
[If your patch is applied to the wrong git tree, kindly drop us a note.
And when submitting patch, we suggest to use '--base' as documented in
https://git-scm.com/docs/git-format-patch#_base_tree_information]
url: https://github.com/intel-lab-lkp/linux/commits/Justin-Lai/rtase-Add-pci-table-supported-in-this-module/20240502-172835
base: https://git.kernel.org/pub/scm/linux/kernel/git/horms/ipvs.git master
patch link: https://lore.kernel.org/r/20240502091847.65181-13-justinlai0215%40realtek.com
patch subject: [PATCH net-next v17 12/13] realtek: Update the Makefile and Kconfig in the realtek folder
config: loongarch-allmodconfig (https://download.01.org/0day-ci/archive/20240504/202405042153.ugnyFsrz-lkp@intel.com/config)
compiler: loongarch64-linux-gcc (GCC) 13.2.0
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20240504/202405042153.ugnyFsrz-lkp@intel.com/reproduce)
If you fix the issue in a separate patch/commit (i.e. not just a new version of
the same patch/commit), kindly add following tags
| Reported-by: kernel test robot <lkp@intel.com>
| Closes: https://lore.kernel.org/oe-kbuild-all/202405042153.ugnyFsrz-lkp@intel.com/
All errors (new ones prefixed by >>):
>> drivers/net/ethernet/realtek/rtase/rtase_main.c:67:10: fatal error: net/netdev_queues.h: No such file or directory
67 | #include <net/netdev_queues.h>
| ^~~~~~~~~~~~~~~~~~~~~
compilation terminated.
vim +67 drivers/net/ethernet/realtek/rtase/rtase_main.c
6c114677e472d0 Justin Lai 2024-05-02 @67 #include <net/netdev_queues.h>
6c114677e472d0 Justin Lai 2024-05-02 68 #include <net/page_pool/helpers.h>
6c114677e472d0 Justin Lai 2024-05-02 69 #include <net/pkt_cls.h>
6c114677e472d0 Justin Lai 2024-05-02 70
Hi Justin,
kernel test robot noticed the following build errors:
[auto build test ERROR on horms-ipvs/master]
[cannot apply to net-next/main linus/master v6.9-rc6 next-20240503]
[If your patch is applied to the wrong git tree, kindly drop us a note.
And when submitting patch, we suggest to use '--base' as documented in
https://git-scm.com/docs/git-format-patch#_base_tree_information]
url: https://github.com/intel-lab-lkp/linux/commits/Justin-Lai/rtase-Add-pci-table-supported-in-this-module/20240502-172835
base: https://git.kernel.org/pub/scm/linux/kernel/git/horms/ipvs.git master
patch link: https://lore.kernel.org/r/20240502091847.65181-13-justinlai0215%40realtek.com
patch subject: [PATCH net-next v17 12/13] realtek: Update the Makefile and Kconfig in the realtek folder
config: s390-allmodconfig (https://download.01.org/0day-ci/archive/20240505/202405050111.thv4v0Bl-lkp@intel.com/config)
compiler: clang version 19.0.0git (https://github.com/llvm/llvm-project 37ae4ad0eef338776c7e2cffb3896153d43dcd90)
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20240505/202405050111.thv4v0Bl-lkp@intel.com/reproduce)
If you fix the issue in a separate patch/commit (i.e. not just a new version of
the same patch/commit), kindly add following tags
| Reported-by: kernel test robot <lkp@intel.com>
| Closes: https://lore.kernel.org/oe-kbuild-all/202405050111.thv4v0Bl-lkp@intel.com/
All errors (new ones prefixed by >>):
In file included from drivers/net/ethernet/realtek/rtase/rtase_main.c:47:
In file included from include/linux/dma-mapping.h:7:
In file included from include/linux/device.h:32:
In file included from include/linux/device/driver.h:21:
In file included from include/linux/module.h:19:
In file included from include/linux/elf.h:6:
In file included from arch/s390/include/asm/elf.h:173:
In file included from arch/s390/include/asm/mmu_context.h:11:
In file included from arch/s390/include/asm/pgalloc.h:18:
In file included from include/linux/mm.h:1970:
include/linux/vmstat.h:502:43: warning: arithmetic between different enumeration types ('enum zone_stat_item' and 'enum numa_stat_item') [-Wenum-enum-conversion]
502 | return vmstat_text[NR_VM_ZONE_STAT_ITEMS +
| ~~~~~~~~~~~~~~~~~~~~~ ^
503 | item];
| ~~~~
include/linux/vmstat.h:509:43: warning: arithmetic between different enumeration types ('enum zone_stat_item' and 'enum numa_stat_item') [-Wenum-enum-conversion]
509 | return vmstat_text[NR_VM_ZONE_STAT_ITEMS +
| ~~~~~~~~~~~~~~~~~~~~~ ^
510 | NR_VM_NUMA_EVENT_ITEMS +
| ~~~~~~~~~~~~~~~~~~~~~~
include/linux/vmstat.h:516:36: warning: arithmetic between different enumeration types ('enum node_stat_item' and 'enum lru_list') [-Wenum-enum-conversion]
516 | return node_stat_name(NR_LRU_BASE + lru) + 3; // skip "nr_"
| ~~~~~~~~~~~ ^ ~~~
include/linux/vmstat.h:521:43: warning: arithmetic between different enumeration types ('enum zone_stat_item' and 'enum numa_stat_item') [-Wenum-enum-conversion]
521 | return vmstat_text[NR_VM_ZONE_STAT_ITEMS +
| ~~~~~~~~~~~~~~~~~~~~~ ^
522 | NR_VM_NUMA_EVENT_ITEMS +
| ~~~~~~~~~~~~~~~~~~~~~~
include/linux/vmstat.h:530:43: warning: arithmetic between different enumeration types ('enum zone_stat_item' and 'enum numa_stat_item') [-Wenum-enum-conversion]
530 | return vmstat_text[NR_VM_ZONE_STAT_ITEMS +
| ~~~~~~~~~~~~~~~~~~~~~ ^
531 | NR_VM_NUMA_EVENT_ITEMS +
| ~~~~~~~~~~~~~~~~~~~~~~
In file included from drivers/net/ethernet/realtek/rtase/rtase_main.c:47:
In file included from include/linux/dma-mapping.h:10:
In file included from include/linux/scatterlist.h:9:
In file included from arch/s390/include/asm/io.h:75:
include/asm-generic/io.h:547:31: warning: performing pointer arithmetic on a null pointer has undefined behavior [-Wnull-pointer-arithmetic]
547 | val = __raw_readb(PCI_IOBASE + addr);
| ~~~~~~~~~~ ^
include/asm-generic/io.h:560:61: warning: performing pointer arithmetic on a null pointer has undefined behavior [-Wnull-pointer-arithmetic]
560 | val = __le16_to_cpu((__le16 __force)__raw_readw(PCI_IOBASE + addr));
| ~~~~~~~~~~ ^
include/uapi/linux/byteorder/big_endian.h:37:59: note: expanded from macro '__le16_to_cpu'
37 | #define __le16_to_cpu(x) __swab16((__force __u16)(__le16)(x))
| ^
include/uapi/linux/swab.h:102:54: note: expanded from macro '__swab16'
102 | #define __swab16(x) (__u16)__builtin_bswap16((__u16)(x))
| ^
In file included from drivers/net/ethernet/realtek/rtase/rtase_main.c:47:
In file included from include/linux/dma-mapping.h:10:
In file included from include/linux/scatterlist.h:9:
In file included from arch/s390/include/asm/io.h:75:
include/asm-generic/io.h:573:61: warning: performing pointer arithmetic on a null pointer has undefined behavior [-Wnull-pointer-arithmetic]
573 | val = __le32_to_cpu((__le32 __force)__raw_readl(PCI_IOBASE + addr));
| ~~~~~~~~~~ ^
include/uapi/linux/byteorder/big_endian.h:35:59: note: expanded from macro '__le32_to_cpu'
35 | #define __le32_to_cpu(x) __swab32((__force __u32)(__le32)(x))
| ^
include/uapi/linux/swab.h:115:54: note: expanded from macro '__swab32'
115 | #define __swab32(x) (__u32)__builtin_bswap32((__u32)(x))
| ^
In file included from drivers/net/ethernet/realtek/rtase/rtase_main.c:47:
In file included from include/linux/dma-mapping.h:10:
In file included from include/linux/scatterlist.h:9:
In file included from arch/s390/include/asm/io.h:75:
include/asm-generic/io.h:584:33: warning: performing pointer arithmetic on a null pointer has undefined behavior [-Wnull-pointer-arithmetic]
584 | __raw_writeb(value, PCI_IOBASE + addr);
| ~~~~~~~~~~ ^
include/asm-generic/io.h:594:59: warning: performing pointer arithmetic on a null pointer has undefined behavior [-Wnull-pointer-arithmetic]
594 | __raw_writew((u16 __force)cpu_to_le16(value), PCI_IOBASE + addr);
| ~~~~~~~~~~ ^
include/asm-generic/io.h:604:59: warning: performing pointer arithmetic on a null pointer has undefined behavior [-Wnull-pointer-arithmetic]
604 | __raw_writel((u32 __force)cpu_to_le32(value), PCI_IOBASE + addr);
| ~~~~~~~~~~ ^
include/asm-generic/io.h:692:20: warning: performing pointer arithmetic on a null pointer has undefined behavior [-Wnull-pointer-arithmetic]
692 | readsb(PCI_IOBASE + addr, buffer, count);
| ~~~~~~~~~~ ^
include/asm-generic/io.h:700:20: warning: performing pointer arithmetic on a null pointer has undefined behavior [-Wnull-pointer-arithmetic]
700 | readsw(PCI_IOBASE + addr, buffer, count);
| ~~~~~~~~~~ ^
include/asm-generic/io.h:708:20: warning: performing pointer arithmetic on a null pointer has undefined behavior [-Wnull-pointer-arithmetic]
708 | readsl(PCI_IOBASE + addr, buffer, count);
| ~~~~~~~~~~ ^
include/asm-generic/io.h:717:21: warning: performing pointer arithmetic on a null pointer has undefined behavior [-Wnull-pointer-arithmetic]
717 | writesb(PCI_IOBASE + addr, buffer, count);
| ~~~~~~~~~~ ^
include/asm-generic/io.h:726:21: warning: performing pointer arithmetic on a null pointer has undefined behavior [-Wnull-pointer-arithmetic]
726 | writesw(PCI_IOBASE + addr, buffer, count);
| ~~~~~~~~~~ ^
include/asm-generic/io.h:735:21: warning: performing pointer arithmetic on a null pointer has undefined behavior [-Wnull-pointer-arithmetic]
735 | writesl(PCI_IOBASE + addr, buffer, count);
| ~~~~~~~~~~ ^
>> drivers/net/ethernet/realtek/rtase/rtase_main.c:67:10: fatal error: 'net/netdev_queues.h' file not found
67 | #include <net/netdev_queues.h>
| ^~~~~~~~~~~~~~~~~~~~~
17 warnings and 1 error generated.
vim +67 drivers/net/ethernet/realtek/rtase/rtase_main.c
6c114677e472d0 Justin Lai 2024-05-02 @67 #include <net/netdev_queues.h>
6c114677e472d0 Justin Lai 2024-05-02 68 #include <net/page_pool/helpers.h>
6c114677e472d0 Justin Lai 2024-05-02 69 #include <net/pkt_cls.h>
6c114677e472d0 Justin Lai 2024-05-02 70
> On Thu, May 02, 2024 at 05:18:46PM +0800, Justin Lai wrote: > > 1. Add the RTASE entry in the Kconfig. > > 2. Add the CONFIG_RTASE entry in the Makefile. > > > > Signed-off-by: Justin Lai <justinlai0215@realtek.com> > > --- > > drivers/net/ethernet/realtek/Kconfig | 17 +++++++++++++++++ > > drivers/net/ethernet/realtek/Makefile | 1 + > > 2 files changed, 18 insertions(+) > > > > diff --git a/drivers/net/ethernet/realtek/Kconfig > > b/drivers/net/ethernet/realtek/Kconfig > > index 93d9df55b361..57ef924deebd 100644 > > --- a/drivers/net/ethernet/realtek/Kconfig > > +++ b/drivers/net/ethernet/realtek/Kconfig > > @@ -113,4 +113,21 @@ config R8169 > > To compile this driver as a module, choose M here: the module > > will be called r8169. This is recommended. > > > > +config RTASE > > + tristate "Realtek Automotive Switch > 9054/9068/9072/9075/9068/9071 PCIe Interface support" > > + depends on PCI > > + select CRC32 > > Hi Justin, > > I believe that you also need: > > select PAGE_POOL > > As the driver uses page_pool_alloc_pages() > > FWIIW, I observed this when using a config based on make tinyconfig with PCI > and NET enabled, all WiFi drivers disabled, and only and only this Ethernet > driver enabled. Thank you for your feedback, I will modify this part. > > > + help > > + Say Y here if you have a Realtek Ethernet adapter belonging to > > + the following families: > > + RTL9054 5GBit Ethernet > > + RTL9068 5GBit Ethernet > > + RTL9072 5GBit Ethernet > > + RTL9075 5GBit Ethernet > > + RTL9068 5GBit Ethernet > > + RTL9071 5GBit Ethernet > > + > > + To compile this driver as a module, choose M here: the module > > + will be called rtase. This is recommended. > > The advice above to chose Y and M seem to conflict. > Perhaps this can be edited somehow. > I will confirm and modify this part again, thank you for your suggestion. > > + > > endif # NET_VENDOR_REALTEK > > diff --git a/drivers/net/ethernet/realtek/Makefile > > b/drivers/net/ethernet/realtek/Makefile > > index 2e1d78b106b0..0c1c16f63e9a 100644 > > --- a/drivers/net/ethernet/realtek/Makefile > > +++ b/drivers/net/ethernet/realtek/Makefile > > @@ -8,3 +8,4 @@ obj-$(CONFIG_8139TOO) += 8139too.o > > obj-$(CONFIG_ATP) += atp.o > > r8169-objs += r8169_main.o r8169_firmware.o r8169_phy_config.o > > obj-$(CONFIG_R8169) += r8169.o > > +obj-$(CONFIG_RTASE) += rtase/ > > -- > > 2.34.1 > > > >
The problem this time seems to be caused by me not doing a rebase. I will modify the reviewer's suggestions in the next version and re-upload the next version after rebase. > Hi Justin, > > kernel test robot noticed the following build errors: > > [auto build test ERROR on horms-ipvs/master] [cannot apply to net-next/main > linus/master v6.9-rc6 next-20240503] [If your patch is applied to the wrong git > tree, kindly drop us a note. > And when submitting patch, we suggest to use '--base' as documented in > https://git-scm.com/docs/git-format-patch#_base_tree_information] > > url: > https://github.com/intel-lab-lkp/linux/commits/Justin-Lai/rtase-Add-pci-table-s > upported-in-this-module/20240502-172835 > base: https://git.kernel.org/pub/scm/linux/kernel/git/horms/ipvs.git master > patch link: > https://lore.kernel.org/r/20240502091847.65181-13-justinlai0215%40realtek.c > om > patch subject: [PATCH net-next v17 12/13] realtek: Update the Makefile and > Kconfig in the realtek folder > config: s390-allmodconfig > (https://download.01.org/0day-ci/archive/20240505/202405050111.thv4v0Bl-l > kp@intel.com/config) > compiler: clang version 19.0.0git (https://github.com/llvm/llvm-project > 37ae4ad0eef338776c7e2cffb3896153d43dcd90) > reproduce (this is a W=1 build): > (https://download.01.org/0day-ci/archive/20240505/202405050111.thv4v0Bl-l > kp@intel.com/reproduce) > > If you fix the issue in a separate patch/commit (i.e. not just a new version of > the same patch/commit), kindly add following tags > | Reported-by: kernel test robot <lkp@intel.com> > | Closes: > | https://lore.kernel.org/oe-kbuild-all/202405050111.thv4v0Bl-lkp@intel. > | com/ > > All errors (new ones prefixed by >>): > > In file included from drivers/net/ethernet/realtek/rtase/rtase_main.c:47: > In file included from include/linux/dma-mapping.h:7: > In file included from include/linux/device.h:32: > In file included from include/linux/device/driver.h:21: > In file included from include/linux/module.h:19: > In file included from include/linux/elf.h:6: > In file included from arch/s390/include/asm/elf.h:173: > In file included from arch/s390/include/asm/mmu_context.h:11: > In file included from arch/s390/include/asm/pgalloc.h:18: > In file included from include/linux/mm.h:1970: > include/linux/vmstat.h:502:43: warning: arithmetic between different > enumeration types ('enum zone_stat_item' and 'enum numa_stat_item') > [-Wenum-enum-conversion] > 502 | return vmstat_text[NR_VM_ZONE_STAT_ITEMS + > | ~~~~~~~~~~~~~~~~~~~~~ ^ > 503 | item]; > | ~~~~ > include/linux/vmstat.h:509:43: warning: arithmetic between different > enumeration types ('enum zone_stat_item' and 'enum numa_stat_item') > [-Wenum-enum-conversion] > 509 | return vmstat_text[NR_VM_ZONE_STAT_ITEMS + > | ~~~~~~~~~~~~~~~~~~~~~ ^ > 510 | NR_VM_NUMA_EVENT_ITEMS + > | ~~~~~~~~~~~~~~~~~~~~~~ > include/linux/vmstat.h:516:36: warning: arithmetic between different > enumeration types ('enum node_stat_item' and 'enum lru_list') > [-Wenum-enum-conversion] > 516 | return node_stat_name(NR_LRU_BASE + lru) + 3; // skip > "nr_" > | ~~~~~~~~~~~ ^ ~~~ > include/linux/vmstat.h:521:43: warning: arithmetic between different > enumeration types ('enum zone_stat_item' and 'enum numa_stat_item') > [-Wenum-enum-conversion] > 521 | return vmstat_text[NR_VM_ZONE_STAT_ITEMS + > | ~~~~~~~~~~~~~~~~~~~~~ ^ > 522 | NR_VM_NUMA_EVENT_ITEMS + > | ~~~~~~~~~~~~~~~~~~~~~~ > include/linux/vmstat.h:530:43: warning: arithmetic between different > enumeration types ('enum zone_stat_item' and 'enum numa_stat_item') > [-Wenum-enum-conversion] > 530 | return vmstat_text[NR_VM_ZONE_STAT_ITEMS + > | ~~~~~~~~~~~~~~~~~~~~~ ^ > 531 | NR_VM_NUMA_EVENT_ITEMS + > | ~~~~~~~~~~~~~~~~~~~~~~ > In file included from drivers/net/ethernet/realtek/rtase/rtase_main.c:47: > In file included from include/linux/dma-mapping.h:10: > In file included from include/linux/scatterlist.h:9: > In file included from arch/s390/include/asm/io.h:75: > include/asm-generic/io.h:547:31: warning: performing pointer arithmetic > on a null pointer has undefined behavior [-Wnull-pointer-arithmetic] > 547 | val = __raw_readb(PCI_IOBASE + addr); > | ~~~~~~~~~~ ^ > include/asm-generic/io.h:560:61: warning: performing pointer arithmetic > on a null pointer has undefined behavior [-Wnull-pointer-arithmetic] > 560 | val = __le16_to_cpu((__le16 > __force)__raw_readw(PCI_IOBASE + addr)); > | > ~~~~~~~~~~ ^ > include/uapi/linux/byteorder/big_endian.h:37:59: note: expanded from > macro '__le16_to_cpu' > 37 | #define __le16_to_cpu(x) __swab16((__force __u16)(__le16)(x)) > | > ^ > include/uapi/linux/swab.h:102:54: note: expanded from macro '__swab16' > 102 | #define __swab16(x) (__u16)__builtin_bswap16((__u16)(x)) > | > ^ > In file included from drivers/net/ethernet/realtek/rtase/rtase_main.c:47: > In file included from include/linux/dma-mapping.h:10: > In file included from include/linux/scatterlist.h:9: > In file included from arch/s390/include/asm/io.h:75: > include/asm-generic/io.h:573:61: warning: performing pointer arithmetic > on a null pointer has undefined behavior [-Wnull-pointer-arithmetic] > 573 | val = __le32_to_cpu((__le32 > __force)__raw_readl(PCI_IOBASE + addr)); > | > ~~~~~~~~~~ ^ > include/uapi/linux/byteorder/big_endian.h:35:59: note: expanded from > macro '__le32_to_cpu' > 35 | #define __le32_to_cpu(x) __swab32((__force __u32)(__le32)(x)) > | > ^ > include/uapi/linux/swab.h:115:54: note: expanded from macro '__swab32' > 115 | #define __swab32(x) (__u32)__builtin_bswap32((__u32)(x)) > | > ^ > In file included from drivers/net/ethernet/realtek/rtase/rtase_main.c:47: > In file included from include/linux/dma-mapping.h:10: > In file included from include/linux/scatterlist.h:9: > In file included from arch/s390/include/asm/io.h:75: > include/asm-generic/io.h:584:33: warning: performing pointer arithmetic > on a null pointer has undefined behavior [-Wnull-pointer-arithmetic] > 584 | __raw_writeb(value, PCI_IOBASE + addr); > | ~~~~~~~~~~ ^ > include/asm-generic/io.h:594:59: warning: performing pointer arithmetic > on a null pointer has undefined behavior [-Wnull-pointer-arithmetic] > 594 | __raw_writew((u16 __force)cpu_to_le16(value), > PCI_IOBASE + addr); > | > ~~~~~~~~~~ ^ > include/asm-generic/io.h:604:59: warning: performing pointer arithmetic > on a null pointer has undefined behavior [-Wnull-pointer-arithmetic] > 604 | __raw_writel((u32 __force)cpu_to_le32(value), > PCI_IOBASE + addr); > | > ~~~~~~~~~~ ^ > include/asm-generic/io.h:692:20: warning: performing pointer arithmetic > on a null pointer has undefined behavior [-Wnull-pointer-arithmetic] > 692 | readsb(PCI_IOBASE + addr, buffer, count); > | ~~~~~~~~~~ ^ > include/asm-generic/io.h:700:20: warning: performing pointer arithmetic > on a null pointer has undefined behavior [-Wnull-pointer-arithmetic] > 700 | readsw(PCI_IOBASE + addr, buffer, count); > | ~~~~~~~~~~ ^ > include/asm-generic/io.h:708:20: warning: performing pointer arithmetic > on a null pointer has undefined behavior [-Wnull-pointer-arithmetic] > 708 | readsl(PCI_IOBASE + addr, buffer, count); > | ~~~~~~~~~~ ^ > include/asm-generic/io.h:717:21: warning: performing pointer arithmetic > on a null pointer has undefined behavior [-Wnull-pointer-arithmetic] > 717 | writesb(PCI_IOBASE + addr, buffer, count); > | ~~~~~~~~~~ ^ > include/asm-generic/io.h:726:21: warning: performing pointer arithmetic > on a null pointer has undefined behavior [-Wnull-pointer-arithmetic] > 726 | writesw(PCI_IOBASE + addr, buffer, count); > | ~~~~~~~~~~ ^ > include/asm-generic/io.h:735:21: warning: performing pointer arithmetic > on a null pointer has undefined behavior [-Wnull-pointer-arithmetic] > 735 | writesl(PCI_IOBASE + addr, buffer, count); > | ~~~~~~~~~~ ^ > >> drivers/net/ethernet/realtek/rtase/rtase_main.c:67:10: fatal error: > >> 'net/netdev_queues.h' file not found > 67 | #include <net/netdev_queues.h> > | ^~~~~~~~~~~~~~~~~~~~~ > 17 warnings and 1 error generated. > > > vim +67 drivers/net/ethernet/realtek/rtase/rtase_main.c > > 6c114677e472d0 Justin Lai 2024-05-02 @67 #include > <net/netdev_queues.h> > 6c114677e472d0 Justin Lai 2024-05-02 68 #include > <net/page_pool/helpers.h> > 6c114677e472d0 Justin Lai 2024-05-02 69 #include <net/pkt_cls.h> > 6c114677e472d0 Justin Lai 2024-05-02 70 > > -- > 0-DAY CI Kernel Test Service > https://github.com/intel/lkp-tests/wiki
> On Thu, May 02, 2024 at 05:18:46PM +0800, Justin Lai wrote: > > 1. Add the RTASE entry in the Kconfig. > > 2. Add the CONFIG_RTASE entry in the Makefile. > > > > Signed-off-by: Justin Lai <justinlai0215@realtek.com> > > --- > > drivers/net/ethernet/realtek/Kconfig | 17 +++++++++++++++++ > > drivers/net/ethernet/realtek/Makefile | 1 + > > 2 files changed, 18 insertions(+) > > > > diff --git a/drivers/net/ethernet/realtek/Kconfig > > b/drivers/net/ethernet/realtek/Kconfig > > index 93d9df55b361..57ef924deebd 100644 > > --- a/drivers/net/ethernet/realtek/Kconfig > > +++ b/drivers/net/ethernet/realtek/Kconfig > > @@ -113,4 +113,21 @@ config R8169 > > To compile this driver as a module, choose M here: the module > > will be called r8169. This is recommended. > > > > +config RTASE > > + tristate "Realtek Automotive Switch > 9054/9068/9072/9075/9068/9071 PCIe Interface support" > > + depends on PCI > > + select CRC32 > > Hi Justin, > > I believe that you also need: > > select PAGE_POOL > > As the driver uses page_pool_alloc_pages() > > FWIIW, I observed this when using a config based on make tinyconfig with PCI > and NET enabled, all WiFi drivers disabled, and only and only this Ethernet > driver enabled. > > > + help > > + Say Y here if you have a Realtek Ethernet adapter belonging to > > + the following families: > > + RTL9054 5GBit Ethernet > > + RTL9068 5GBit Ethernet > > + RTL9072 5GBit Ethernet > > + RTL9075 5GBit Ethernet > > + RTL9068 5GBit Ethernet > > + RTL9071 5GBit Ethernet > > + > > + To compile this driver as a module, choose M here: the module > > + will be called rtase. This is recommended. > > The advice above to chose Y and M seem to conflict. > Perhaps this can be edited somehow. > Hi Simon, I would like to ask if it would be clearer if I changed it to the following? config RTASE tristate "Realtek Automotive Switch 9054/9068/9072/9075/9068/9071 PCIe Interface support" depends on PCI select CRC32 select PAGE_POOL help Say Y here and it will be compiled and linked with the kernel if you have a Realtek Ethernet adapter belonging to the following families: RTL9054 5GBit Ethernet RTL9068 5GBit Ethernet RTL9072 5GBit Ethernet RTL9075 5GBit Ethernet RTL9068 5GBit Ethernet RTL9071 5GBit Ethernet To compile this driver as a module, choose M here: the module will be called rtase. This is recommended. > > + > > endif # NET_VENDOR_REALTEK > > diff --git a/drivers/net/ethernet/realtek/Makefile > > b/drivers/net/ethernet/realtek/Makefile > > index 2e1d78b106b0..0c1c16f63e9a 100644 > > --- a/drivers/net/ethernet/realtek/Makefile > > +++ b/drivers/net/ethernet/realtek/Makefile > > @@ -8,3 +8,4 @@ obj-$(CONFIG_8139TOO) += 8139too.o > > obj-$(CONFIG_ATP) += atp.o > > r8169-objs += r8169_main.o r8169_firmware.o r8169_phy_config.o > > obj-$(CONFIG_R8169) += r8169.o > > +obj-$(CONFIG_RTASE) += rtase/ > > -- > > 2.34.1 > > > >
On Tue, May 07, 2024 at 09:44:14AM +0000, Justin Lai wrote: > > On Thu, May 02, 2024 at 05:18:46PM +0800, Justin Lai wrote: > > > 1. Add the RTASE entry in the Kconfig. > > > 2. Add the CONFIG_RTASE entry in the Makefile. > > > > > > Signed-off-by: Justin Lai <justinlai0215@realtek.com> > > > --- > > > drivers/net/ethernet/realtek/Kconfig | 17 +++++++++++++++++ > > > drivers/net/ethernet/realtek/Makefile | 1 + > > > 2 files changed, 18 insertions(+) > > > > > > diff --git a/drivers/net/ethernet/realtek/Kconfig > > > b/drivers/net/ethernet/realtek/Kconfig > > > index 93d9df55b361..57ef924deebd 100644 > > > --- a/drivers/net/ethernet/realtek/Kconfig > > > +++ b/drivers/net/ethernet/realtek/Kconfig > > > @@ -113,4 +113,21 @@ config R8169 > > > To compile this driver as a module, choose M here: the module > > > will be called r8169. This is recommended. > > > > > > +config RTASE > > > + tristate "Realtek Automotive Switch > > 9054/9068/9072/9075/9068/9071 PCIe Interface support" > > > + depends on PCI > > > + select CRC32 > > > > Hi Justin, > > > > I believe that you also need: > > > > select PAGE_POOL > > > > As the driver uses page_pool_alloc_pages() > > > > FWIIW, I observed this when using a config based on make tinyconfig with PCI > > and NET enabled, all WiFi drivers disabled, and only and only this Ethernet > > driver enabled. > > > > > + help > > > + Say Y here if you have a Realtek Ethernet adapter belonging to > > > + the following families: > > > + RTL9054 5GBit Ethernet > > > + RTL9068 5GBit Ethernet > > > + RTL9072 5GBit Ethernet > > > + RTL9075 5GBit Ethernet > > > + RTL9068 5GBit Ethernet > > > + RTL9071 5GBit Ethernet > > > + > > > + To compile this driver as a module, choose M here: the module > > > + will be called rtase. This is recommended. > > > > The advice above to chose Y and M seem to conflict. > > Perhaps this can be edited somehow. > > > > Hi Simon, > I would like to ask if it would be clearer if I changed it to the following? > > config RTASE > tristate "Realtek Automotive Switch 9054/9068/9072/9075/9068/9071 PCIe Interface support" > depends on PCI > select CRC32 > select PAGE_POOL > help > Say Y here and it will be compiled and linked with the kernel > if you have a Realtek Ethernet adapter belonging to the > following families: > RTL9054 5GBit Ethernet > RTL9068 5GBit Ethernet > RTL9072 5GBit Ethernet > RTL9075 5GBit Ethernet > RTL9068 5GBit Ethernet > RTL9071 5GBit Ethernet > > To compile this driver as a module, choose M here: the module > will be called rtase. This is recommended. Thanks Justin, Yes, I think that addresses my concern.
diff --git a/drivers/net/ethernet/realtek/Kconfig b/drivers/net/ethernet/realtek/Kconfig index 93d9df55b361..57ef924deebd 100644 --- a/drivers/net/ethernet/realtek/Kconfig +++ b/drivers/net/ethernet/realtek/Kconfig @@ -113,4 +113,21 @@ config R8169 To compile this driver as a module, choose M here: the module will be called r8169. This is recommended. +config RTASE + tristate "Realtek Automotive Switch 9054/9068/9072/9075/9068/9071 PCIe Interface support" + depends on PCI + select CRC32 + help + Say Y here if you have a Realtek Ethernet adapter belonging to + the following families: + RTL9054 5GBit Ethernet + RTL9068 5GBit Ethernet + RTL9072 5GBit Ethernet + RTL9075 5GBit Ethernet + RTL9068 5GBit Ethernet + RTL9071 5GBit Ethernet + + To compile this driver as a module, choose M here: the module + will be called rtase. This is recommended. + endif # NET_VENDOR_REALTEK diff --git a/drivers/net/ethernet/realtek/Makefile b/drivers/net/ethernet/realtek/Makefile index 2e1d78b106b0..0c1c16f63e9a 100644 --- a/drivers/net/ethernet/realtek/Makefile +++ b/drivers/net/ethernet/realtek/Makefile @@ -8,3 +8,4 @@ obj-$(CONFIG_8139TOO) += 8139too.o obj-$(CONFIG_ATP) += atp.o r8169-objs += r8169_main.o r8169_firmware.o r8169_phy_config.o obj-$(CONFIG_R8169) += r8169.o +obj-$(CONFIG_RTASE) += rtase/
1. Add the RTASE entry in the Kconfig. 2. Add the CONFIG_RTASE entry in the Makefile. Signed-off-by: Justin Lai <justinlai0215@realtek.com> --- drivers/net/ethernet/realtek/Kconfig | 17 +++++++++++++++++ drivers/net/ethernet/realtek/Makefile | 1 + 2 files changed, 18 insertions(+)