Re: [PATCH v27 3/4] i2c: ast2600: Add controller driver for AST2600 new register set
kernel test robot <[email protected]>
| Newsgroups | org.ozlabs.lists.openbmc,dev.linux.lists.oe-kbuild-all,org.infradead.lists.linux-arm-kernel,org.kernel.vger.linux-devicetree,org.kernel.vger.linux-i2c,org.kernel.vger.linux-kernel,org.ozlabs.lists.linux-aspeed |
|---|---|
| Message-ID | <[email protected]> |
Hi Ryan, kernel test robot noticed the following build errors: [auto build test ERROR on 6de23f81a5e08be8fbf5e8d7e9febc72a5b5f27f] url: https://github.com/intel-lab-lkp/linux/commits/Ryan-Chen/dt-bindings-i2c-Split-AST2600-binding-into-a-new-YAML/20260325-112805 base: 6de23f81a5e08be8fbf5e8d7e9febc72a5b5f27f patch link: https://lore.kernel.org/r/20260324-upstream_i2c-v27-3-f19b511c8c28%40aspeedtech.com patch subject: [PATCH v27 3/4] i2c: ast2600: Add controller driver for AST2600 new register set config: sparc-randconfig-r073-20260325 (https://download.01.org/0day-ci/archive/20260325/[email protected]/config) compiler: sparc-linux-gcc (GCC) 8.5.0 smatch: v0.5.0-9004-gb810ac53 reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20260325/[email protected]/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 <[email protected]> | Closes: https://lore.kernel.org/oe-kbuild-all/[email protected]/ All errors (new ones prefixed by >>): drivers/i2c/busses/i2c-ast2600.c: In function 'ast2600_i2c_probe': >> drivers/i2c/busses/i2c-ast2600.c:955:15: error: 'struct ast2600_i2c_bus' has no member named 'dma_abailable'; did you mean 'dma_available'? if (i2c_bus->dma_abailable) ^~~~~~~~~~~~~ dma_available vim +955 drivers/i2c/busses/i2c-ast2600.c 916 917 static int ast2600_i2c_probe(struct platform_device *pdev) 918 { 919 struct device *dev = &pdev->dev; 920 struct ast2600_i2c_bus *i2c_bus; 921 struct reset_control *rst; 922 struct resource *res; 923 u32 global_ctrl; 924 int ret; 925 926 if (!device_property_present(dev, "aspeed,global-regs")) 927 return -ENODEV; 928 929 i2c_bus = devm_kzalloc(dev, sizeof(*i2c_bus), GFP_KERNEL); 930 if (!i2c_bus) 931 return -ENOMEM; 932 933 i2c_bus->reg_base = devm_platform_ioremap_resource(pdev, 0); 934 if (IS_ERR(i2c_bus->reg_base)) 935 return PTR_ERR(i2c_bus->reg_base); 936 937 rst = devm_reset_control_get_shared_deasserted(dev, NULL); 938 if (IS_ERR(rst)) 939 return dev_err_probe(dev, PTR_ERR(rst), "Missing reset ctrl\n"); 940 941 i2c_bus->global_regs = 942 syscon_regmap_lookup_by_phandle(dev_of_node(dev), "aspeed,global-regs"); 943 if (IS_ERR(i2c_bus->global_regs)) 944 return PTR_ERR(i2c_bus->global_regs); 945 946 regmap_read(i2c_bus->global_regs, AST2600_I2CG_CTRL, &global_ctrl); 947 if ((global_ctrl & AST2600_GLOBAL_INIT) != AST2600_GLOBAL_INIT) { 948 regmap_write(i2c_bus->global_regs, AST2600_I2CG_CTRL, AST2600_GLOBAL_INIT); 949 regmap_write(i2c_bus->global_regs, AST2600_I2CG_CLK_DIV_CTRL, I2CCG_DIV_CTRL); 950 } 951 952 i2c_bus->dev = dev; 953 i2c_bus->multi_master = device_property_read_bool(dev, "multi-master"); 954 i2c_bus->dma_available = device_property_read_bool(dev, "aspeed,enable-dma"); > 955 if (i2c_bus->dma_abailable) 956 i2c_bus->mode = DMA_MODE; 957 else 958 i2c_bus->mode = BUFF_MODE; 959 960 if (i2c_bus->mode == BUFF_MODE) { 961 i2c_bus->buf_base = devm_platform_get_and_ioremap_resource(pdev, 1, &res); 962 if (IS_ERR(i2c_bus->buf_base)) 963 i2c_bus->mode = BYTE_MODE; 964 else 965 i2c_bus->buf_size = resource_size(res) / 2; 966 } 967 968 ast2600_i2c_set_xfer_mode(i2c_bus, i2c_bus->mode); 969 970 /* 971 * i2c timeout counter: use base clk4 1Mhz, 972 * per unit: 1/(1000/1024) = 1024us 973 */ 974 ret = device_property_read_u32(dev, "i2c-scl-clk-low-timeout-us", &i2c_bus->timeout); 975 if (!ret) 976 i2c_bus->timeout = DIV_ROUND_UP(i2c_bus->timeout, 1024); 977 978 init_completion(&i2c_bus->cmd_complete); 979 980 i2c_bus->irq = platform_get_irq(pdev, 0); 981 if (i2c_bus->irq < 0) 982 return i2c_bus->irq; 983 984 platform_set_drvdata(pdev, i2c_bus); 985 986 i2c_bus->clk = devm_clk_get(i2c_bus->dev, NULL); 987 if (IS_ERR(i2c_bus->clk)) 988 return dev_err_probe(i2c_bus->dev, PTR_ERR(i2c_bus->clk), "Can't get clock\n"); 989 990 i2c_bus->apb_clk = clk_get_rate(i2c_bus->clk); 991 992 i2c_parse_fw_timings(i2c_bus->dev, &i2c_bus->timing_info, true); 993 994 /* Initialize the I2C adapter */ 995 i2c_bus->adap.owner = THIS_MODULE; 996 i2c_bus->adap.algo = &i2c_ast2600_algorithm; 997 i2c_bus->adap.retries = 0; 998 i2c_bus->adap.dev.parent = i2c_bus->dev; 999 device_set_node(&i2c_bus->adap.dev, dev_fwnode(dev)); 1000 i2c_bus->adap.algo_data = i2c_bus; 1001 strscpy(i2c_bus->adap.name, pdev->name); 1002 i2c_set_adapdata(&i2c_bus->adap, i2c_bus); 1003 1004 ret = ast2600_i2c_init(i2c_bus); 1005 if (ret < 0) 1006 return dev_err_probe(dev, ret, "Unable to initial i2c %d\n", ret); 1007 1008 ret = devm_request_irq(dev, i2c_bus->irq, ast2600_i2c_bus_irq, 0, 1009 dev_name(dev), i2c_bus); 1010 if (ret < 0) { 1011 ret = dev_err_probe(dev, ret, "Unable to request irq %d\n", 1012 i2c_bus->irq); 1013 goto err; 1014 } 1015 1016 writel(AST2600_I2CM_PKT_DONE | AST2600_I2CM_BUS_RECOVER, 1017 i2c_bus->reg_base + AST2600_I2CM_IER); 1018 1019 ret = devm_i2c_add_adapter(dev, &i2c_bus->adap); 1020 if (ret) 1021 goto err; 1022 1023 ret = sysfs_create_file(&dev->kobj, &dev_attr_xfer_mode.attr); 1024 if (ret) 1025 goto err; 1026 1027 return 0; 1028 1029 err: 1030 writel(0, i2c_bus->reg_base + AST2600_I2CC_FUN_CTRL); 1031 writel(0, i2c_bus->reg_base + AST2600_I2CM_IER); 1032 return ret; 1033 } 1034 -- 0-DAY CI Kernel Test Service https://github.com/intel/lkp-tests/wiki