Message ID | 20221127231035.17547-2-zajec5@gmail.com |
---|---|
State | Handled Elsewhere |
Delegated to: | Tom Rini |
Headers | show |
Series | [1/2] nvmem: core: refactor .cell_post_process() CB arguments | expand |
Hi Rafał, I love your patch! Yet something to improve: [auto build test ERROR on shawnguo/for-next] [also build test ERROR on soc/for-next linus/master v6.1-rc7 next-20221125] [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/Rafa-Mi-ecki/nvmem-core-refactor-cell_post_process-CB-arguments/20221128-071155 base: https://git.kernel.org/pub/scm/linux/kernel/git/shawnguo/linux.git for-next patch link: https://lore.kernel.org/r/20221127231035.17547-2-zajec5%40gmail.com patch subject: [PATCH 2/2] nvmem: u-boot-env: reformat MAC in "ethaddr" cell when reading config: riscv-randconfig-r042-20221127 compiler: riscv64-linux-gcc (GCC) 12.1.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/intel-lab-lkp/linux/commit/7ed383c8df3e3a2435255360e03171ebdc4437b4 git remote add linux-review https://github.com/intel-lab-lkp/linux git fetch --no-tags linux-review Rafa-Mi-ecki/nvmem-core-refactor-cell_post_process-CB-arguments/20221128-071155 git checkout 7ed383c8df3e3a2435255360e03171ebdc4437b4 # save the config file mkdir build_dir && cp config build_dir/.config COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-12.1.0 make.cross W=1 O=build_dir ARCH=riscv SHELL=/bin/bash If you fix the issue, kindly add following tag where applicable | Reported-by: kernel test robot <lkp@intel.com> All errors (new ones prefixed by >>): riscv64-linux-ld: arch/riscv/kvm/vcpu.o: in function `.L0 ': arch/riscv/kvm/vcpu.c:271: undefined reference to `riscv_cbom_block_size' riscv64-linux-ld: arch/riscv/kvm/vcpu.c:271: undefined reference to `riscv_cbom_block_size' riscv64-linux-ld: drivers/nvmem/u-boot-env.o: in function `.L0 ': >> drivers/nvmem/u-boot-env.c:75: undefined reference to `mac_pton' vim +75 drivers/nvmem/u-boot-env.c 66 67 static int u_boot_env_cell_post_process(void *context, struct nvmem_cell_entry *cell, 68 const char *id, void *buf, size_t *len) 69 { 70 struct u_boot_env *priv = context; 71 72 if (!strcmp(cell->name, "ethaddr")) { 73 u8 mac[ETH_ALEN]; 74 > 75 if (mac_pton(buf, mac)) { 76 ether_addr_copy(buf, mac); 77 if (len) 78 *len = ETH_ALEN; 79 } 80 } 81 82 return 0; 83 } 84
Hi Rafał, I love your patch! Perhaps something to improve: [auto build test WARNING on shawnguo/for-next] [also build test WARNING on soc/for-next linus/master v6.1-rc7 next-20221125] [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/Rafa-Mi-ecki/nvmem-core-refactor-cell_post_process-CB-arguments/20221128-071155 base: https://git.kernel.org/pub/scm/linux/kernel/git/shawnguo/linux.git for-next patch link: https://lore.kernel.org/r/20221127231035.17547-2-zajec5%40gmail.com patch subject: [PATCH 2/2] nvmem: u-boot-env: reformat MAC in "ethaddr" cell when reading config: x86_64-allyesconfig compiler: gcc-11 (Debian 11.3.0-8) 11.3.0 reproduce (this is a W=1 build): # https://github.com/intel-lab-lkp/linux/commit/7ed383c8df3e3a2435255360e03171ebdc4437b4 git remote add linux-review https://github.com/intel-lab-lkp/linux git fetch --no-tags linux-review Rafa-Mi-ecki/nvmem-core-refactor-cell_post_process-CB-arguments/20221128-071155 git checkout 7ed383c8df3e3a2435255360e03171ebdc4437b4 # save the config file mkdir build_dir && cp config build_dir/.config make W=1 O=build_dir ARCH=x86_64 SHELL=/bin/bash drivers/ If you fix the issue, kindly add following tag where applicable | Reported-by: kernel test robot <lkp@intel.com> All warnings (new ones prefixed by >>): drivers/nvmem/u-boot-env.c: In function 'u_boot_env_cell_post_process': >> drivers/nvmem/u-boot-env.c:70:28: warning: unused variable 'priv' [-Wunused-variable] 70 | struct u_boot_env *priv = context; | ^~~~ vim +/priv +70 drivers/nvmem/u-boot-env.c 66 67 static int u_boot_env_cell_post_process(void *context, struct nvmem_cell_entry *cell, 68 const char *id, void *buf, size_t *len) 69 { > 70 struct u_boot_env *priv = context; 71 72 if (!strcmp(cell->name, "ethaddr")) { 73 u8 mac[ETH_ALEN]; 74 75 if (mac_pton(buf, mac)) { 76 ether_addr_copy(buf, mac); 77 if (len) 78 *len = ETH_ALEN; 79 } 80 } 81 82 return 0; 83 } 84
diff --git a/drivers/nvmem/u-boot-env.c b/drivers/nvmem/u-boot-env.c index 2a87dda45188..d103a52e0008 100644 --- a/drivers/nvmem/u-boot-env.c +++ b/drivers/nvmem/u-boot-env.c @@ -4,6 +4,8 @@ */ #include <linux/crc32.h> +#include <linux/etherdevice.h> +#include <linux/if_ether.h> #include <linux/mod_devicetable.h> #include <linux/module.h> #include <linux/mtd/mtd.h> @@ -70,6 +72,24 @@ static int u_boot_env_read(void *context, unsigned int offset, void *val, return 0; } +static int u_boot_env_cell_post_process(void *context, struct nvmem_cell_entry *cell, + const char *id, void *buf, size_t *len) +{ + struct u_boot_env *priv = context; + + if (!strcmp(cell->name, "ethaddr")) { + u8 mac[ETH_ALEN]; + + if (mac_pton(buf, mac)) { + ether_addr_copy(buf, mac); + if (len) + *len = ETH_ALEN; + } + } + + return 0; +} + static int u_boot_env_add_cells(struct u_boot_env *priv, uint8_t *buf, size_t data_offset, size_t data_len) { @@ -179,6 +199,7 @@ static int u_boot_env_probe(struct platform_device *pdev) struct nvmem_config config = { .name = "u-boot-env", .reg_read = u_boot_env_read, + .cell_post_process = u_boot_env_cell_post_process, }; struct device *dev = &pdev->dev; struct device_node *np = dev->of_node;