Re: [PATCH 02/18] rtc: s5m: drop needless struct s5m_rtc_info::i2c member

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi André,

kernel test robot noticed the following build warnings:

[auto build test WARNING on 0226d0ce98a477937ed295fb7df4cc30b46fc304]

url:    https://github.com/intel-lab-lkp/linux/commits/Andr-Draszik/rtc-max77686-drop-needless-struct-max77686_rtc_info-rtc-member/20250228-221320
base:   0226d0ce98a477937ed295fb7df4cc30b46fc304
patch link:    https://lore.kernel.org/r/20250228-rtc-cleanups-v1-2-b44cec078481%40linaro.org
patch subject: [PATCH 02/18] rtc: s5m: drop needless struct s5m_rtc_info::i2c member
config: arm-randconfig-004-20250301 (https://download.01.org/0day-ci/archive/20250302/202503020150.LkqTktVQ-lkp@xxxxxxxxx/config)
compiler: clang version 21.0.0git (https://github.com/llvm/llvm-project 14170b16028c087ca154878f5ed93d3089a965c6)
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20250302/202503020150.LkqTktVQ-lkp@xxxxxxxxx/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@xxxxxxxxx>
| Closes: https://lore.kernel.org/oe-kbuild-all/202503020150.LkqTktVQ-lkp@xxxxxxxxx/

All warnings (new ones prefixed by >>):

   In file included from drivers/rtc/rtc-s5m.c:11:
   In file included from include/linux/i2c.h:19:
   In file included from include/linux/regulator/consumer.h:35:
   In file included from include/linux/suspend.h:5:
   In file included from include/linux/swap.h:9:
   In file included from include/linux/memcontrol.h:21:
   In file included from include/linux/mm.h:2287:
   include/linux/vmstat.h:507:36: warning: arithmetic between different enumeration types ('enum node_stat_item' and 'enum lru_list') [-Wenum-enum-conversion]
     507 |         return node_stat_name(NR_LRU_BASE + lru) + 3; // skip "nr_"
         |                               ~~~~~~~~~~~ ^ ~~~
>> drivers/rtc/rtc-s5m.c:678:46: warning: variable 'i2c' is uninitialized when used here [-Wuninitialized]
     678 |         i2c = devm_i2c_new_dummy_device(&pdev->dev, i2c->adapter,
         |                                                     ^~~
   drivers/rtc/rtc-s5m.c:642:24: note: initialize the variable 'i2c' to silence this warning
     642 |         struct i2c_client *i2c;
         |                               ^
         |                                = NULL
   2 warnings generated.


vim +/i2c +678 drivers/rtc/rtc-s5m.c

   637	
   638	static int s5m_rtc_probe(struct platform_device *pdev)
   639	{
   640		struct sec_pmic_dev *s5m87xx = dev_get_drvdata(pdev->dev.parent);
   641		struct s5m_rtc_info *info;
   642		struct i2c_client *i2c;
   643		const struct regmap_config *regmap_cfg;
   644		int ret, alarm_irq;
   645	
   646		info = devm_kzalloc(&pdev->dev, sizeof(*info), GFP_KERNEL);
   647		if (!info)
   648			return -ENOMEM;
   649	
   650		switch (platform_get_device_id(pdev)->driver_data) {
   651		case S2MPS15X:
   652			regmap_cfg = &s2mps14_rtc_regmap_config;
   653			info->regs = &s2mps15_rtc_regs;
   654			alarm_irq = S2MPS14_IRQ_RTCA0;
   655			break;
   656		case S2MPS14X:
   657			regmap_cfg = &s2mps14_rtc_regmap_config;
   658			info->regs = &s2mps14_rtc_regs;
   659			alarm_irq = S2MPS14_IRQ_RTCA0;
   660			break;
   661		case S2MPS13X:
   662			regmap_cfg = &s2mps14_rtc_regmap_config;
   663			info->regs = &s2mps13_rtc_regs;
   664			alarm_irq = S2MPS14_IRQ_RTCA0;
   665			break;
   666		case S5M8767X:
   667			regmap_cfg = &s5m_rtc_regmap_config;
   668			info->regs = &s5m_rtc_regs;
   669			alarm_irq = S5M8767_IRQ_RTCA1;
   670			break;
   671		default:
   672			dev_err(&pdev->dev,
   673					"Device type %lu is not supported by RTC driver\n",
   674					platform_get_device_id(pdev)->driver_data);
   675			return -ENODEV;
   676		}
   677	
 > 678		i2c = devm_i2c_new_dummy_device(&pdev->dev, i2c->adapter,
   679						RTC_I2C_ADDR);
   680		if (IS_ERR(i2c)) {
   681			dev_err(&pdev->dev, "Failed to allocate I2C for RTC\n");
   682			return PTR_ERR(i2c);
   683		}
   684	
   685		info->regmap = devm_regmap_init_i2c(i2c, regmap_cfg);
   686		if (IS_ERR(info->regmap)) {
   687			ret = PTR_ERR(info->regmap);
   688			dev_err(&pdev->dev, "Failed to allocate RTC register map: %d\n",
   689					ret);
   690			return ret;
   691		}
   692	
   693		info->dev = &pdev->dev;
   694		info->s5m87xx = s5m87xx;
   695		info->device_type = platform_get_device_id(pdev)->driver_data;
   696	
   697		if (s5m87xx->irq_data) {
   698			info->irq = regmap_irq_get_virq(s5m87xx->irq_data, alarm_irq);
   699			if (info->irq <= 0) {
   700				dev_err(&pdev->dev, "Failed to get virtual IRQ %d\n",
   701					alarm_irq);
   702				return -EINVAL;
   703			}
   704		}
   705	
   706		platform_set_drvdata(pdev, info);
   707	
   708		ret = s5m8767_rtc_init_reg(info);
   709		if (ret)
   710			return ret;
   711	
   712		info->rtc_dev = devm_rtc_allocate_device(&pdev->dev);
   713		if (IS_ERR(info->rtc_dev))
   714			return PTR_ERR(info->rtc_dev);
   715	
   716		info->rtc_dev->ops = &s5m_rtc_ops;
   717	
   718		info->rtc_dev->range_min = RTC_TIMESTAMP_BEGIN_2000;
   719		info->rtc_dev->range_max = RTC_TIMESTAMP_END_2099;
   720	
   721		if (!info->irq) {
   722			clear_bit(RTC_FEATURE_ALARM, info->rtc_dev->features);
   723		} else {
   724			ret = devm_request_threaded_irq(&pdev->dev, info->irq, NULL,
   725							s5m_rtc_alarm_irq, 0, "rtc-alarm0",
   726							info);
   727			if (ret < 0) {
   728				dev_err(&pdev->dev, "Failed to request alarm IRQ: %d: %d\n",
   729					info->irq, ret);
   730				return ret;
   731			}
   732			device_init_wakeup(&pdev->dev, true);
   733		}
   734	
   735		return devm_rtc_register_device(info->rtc_dev);
   736	}
   737	

-- 
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki




[Index of Archives]     [Linux SoC Development]     [Linux Rockchip Development]     [Linux for Synopsys ARC Processors]    
  • [Linux on Unisoc (RDA Micro) SoCs]     [Linux Actions SoC]     [Linux USB Development]     [Video for Linux]     [Linux Audio Users]     [Linux SCSI]     [Yosemite News]

  •   Powered by Linux