Hi Joseph, Thank you for the patch! Perhaps something to improve: [auto build test WARNING on ce83278f313ce65a9bbd780a3e07fa3f62d82525] url: https://github.com/0day-ci/linux/commits/Joseph-CHANG/ADD-DM9051-NET-DEVICE/20211208-193833 base: ce83278f313ce65a9bbd780a3e07fa3f62d82525 config: arc-allyesconfig (https://download.01.org/0day-ci/archive/20211208/202112082228.stoSxUom-lkp@xxxxxxxxx/config) compiler: arceb-elf-gcc (GCC) 11.2.0 reproduce (this is a W=1 build): wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross chmod +x ~/bin/make.cross # https://github.com/0day-ci/linux/commit/9ee7a9a16698431c764b4b21a0839e87f3692078 git remote add linux-review https://github.com/0day-ci/linux git fetch --no-tags linux-review Joseph-CHANG/ADD-DM9051-NET-DEVICE/20211208-193833 git checkout 9ee7a9a16698431c764b4b21a0839e87f3692078 # save the config file to linux build tree mkdir build_dir COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-11.2.0 make.cross O=build_dir ARCH=arc SHELL=/bin/bash drivers/net/ethernet/davicom/ If you fix the issue, kindly add following tag as appropriate Reported-by: kernel test robot <lkp@xxxxxxxxx> All warnings (new ones prefixed by >>): drivers/net/ethernet/davicom/dm9051.c: In function 'dm9051_read_mac_to_dev': drivers/net/ethernet/davicom/dm9051.c:255:35: error: assignment of read-only location '*(ndev->dev_addr + (sizetype)i)' 255 | ndev->dev_addr[i] = ior(db, DM9051_PAR + i); | ^ drivers/net/ethernet/davicom/dm9051.c:260:43: error: assignment of read-only location '*(ndev->dev_addr + (sizetype)i)' 260 | ndev->dev_addr[i] = ior(db, DM9051_PAR + i); | ^ drivers/net/ethernet/davicom/dm9051.c: In function 'dm_set_mac_lock': >> drivers/net/ethernet/davicom/dm9051.c:341:57: warning: passing argument 3 of 'dm_write_eeprom_func' discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers] 341 | dm_write_eeprom_func(db, i / 2, &ndev->dev_addr[i]); | ^~~~~~~~~~~~~~~~~~ drivers/net/ethernet/davicom/dm9051.c:156:73: note: expected 'u8 *' {aka 'unsigned char *'} but argument is of type 'const unsigned char *' 156 | static void dm_write_eeprom_func(struct board_info *db, int offset, u8 *data) | ~~~~^~~~ vim +341 drivers/net/ethernet/davicom/dm9051.c 318 319 /* set mac permanently 320 */ 321 static void dm_set_mac_lock(struct board_info *db) 322 { 323 struct net_device *ndev = db->ndev; 324 325 if (db->enter_setmac) { 326 int i, oft; 327 328 db->enter_setmac = 0; 329 netdev_info(ndev, "set_mac_address %02x %02x %02x %02x %02x %02x\n", 330 ndev->dev_addr[0], ndev->dev_addr[1], ndev->dev_addr[2], 331 ndev->dev_addr[3], ndev->dev_addr[4], ndev->dev_addr[5]); 332 333 /* write to net device and chip */ 334 ADDR_LOCK_HEAD_ESSENTIAL(db); //mutex_lock 335 for (i = 0, oft = DM9051_PAR; i < ETH_ALEN; i++, oft++) 336 iow(db, oft, ndev->dev_addr[i]); 337 ADDR_LOCK_TAIL_ESSENTIAL(db); //mutex_unlock 338 339 /* write to EEPROM */ 340 for (i = 0; i < ETH_ALEN; i += 2) > 341 dm_write_eeprom_func(db, i / 2, &ndev->dev_addr[i]); 342 } 343 } 344 --- 0-DAY CI Kernel Test Service, Intel Corporation https://lists.01.org/hyperkitty/list/kbuild-all@xxxxxxxxxxxx