[<prev] [next>] [day] [month] [year] [list]
Message-ID: <202211041513.Xzpt6qwr-lkp@intel.com>
Date: Fri, 4 Nov 2022 15:31:04 +0800
From: kernel test robot <lkp@...el.com>
To: "Gustavo A. R. Silva" <gustavoars@...nel.org>
Cc: llvm@...ts.linux.dev, oe-kbuild-all@...ts.linux.dev,
linux-kernel@...r.kernel.org, Kees Cook <keescook@...omium.org>
Subject: drivers/rtc/rtc-msc313.c:227:38: warning: cast from 'void (*)(struct
clk *)' to 'void (*)(void *)' converts to incompatible function type
tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head: ee6050c8af96bba2f81e8b0793a1fc2f998fcd20
commit: 552a23a0e5d0a84cecd4687043d8030673981d30 Makefile: Enable -Wcast-function-type
date: 12 months ago
config: riscv-randconfig-r001-20221104
compiler: clang version 16.0.0 (https://github.com/llvm/llvm-project 2bbafe04fe785a9469bea5a3737f8d7d3ce4aca2)
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
# install riscv cross compiling tool for clang build
# apt-get install binutils-riscv64-linux-gnu
# https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=552a23a0e5d0a84cecd4687043d8030673981d30
git remote add linus https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
git fetch --no-tags linus master
git checkout 552a23a0e5d0a84cecd4687043d8030673981d30
# save the config file
mkdir build_dir && cp config build_dir/.config
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross W=1 O=build_dir ARCH=riscv SHELL=/bin/bash drivers/rtc/
If you fix the issue, kindly add following tag where applicable
| Reported-by: kernel test robot <lkp@...el.com>
All warnings (new ones prefixed by >>):
>> drivers/rtc/rtc-msc313.c:227:38: warning: cast from 'void (*)(struct clk *)' to 'void (*)(void *)' converts to incompatible function type [-Wcast-function-type-strict]
ret = devm_add_action_or_reset(dev, (void (*) (void *))clk_disable_unprepare, clk);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1 warning generated.
vim +227 drivers/rtc/rtc-msc313.c
be7d9c9161b9c7 Daniel Palmer 2021-08-23 179
be7d9c9161b9c7 Daniel Palmer 2021-08-23 180 static int msc313_rtc_probe(struct platform_device *pdev)
be7d9c9161b9c7 Daniel Palmer 2021-08-23 181 {
be7d9c9161b9c7 Daniel Palmer 2021-08-23 182 struct device *dev = &pdev->dev;
be7d9c9161b9c7 Daniel Palmer 2021-08-23 183 struct msc313_rtc *priv;
be7d9c9161b9c7 Daniel Palmer 2021-08-23 184 unsigned long rate;
be7d9c9161b9c7 Daniel Palmer 2021-08-23 185 struct clk *clk;
be7d9c9161b9c7 Daniel Palmer 2021-08-23 186 int ret;
be7d9c9161b9c7 Daniel Palmer 2021-08-23 187 int irq;
be7d9c9161b9c7 Daniel Palmer 2021-08-23 188
be7d9c9161b9c7 Daniel Palmer 2021-08-23 189 priv = devm_kzalloc(&pdev->dev, sizeof(struct msc313_rtc), GFP_KERNEL);
be7d9c9161b9c7 Daniel Palmer 2021-08-23 190 if (!priv)
be7d9c9161b9c7 Daniel Palmer 2021-08-23 191 return -ENOMEM;
be7d9c9161b9c7 Daniel Palmer 2021-08-23 192
be7d9c9161b9c7 Daniel Palmer 2021-08-23 193 priv->rtc_base = devm_platform_ioremap_resource(pdev, 0);
be7d9c9161b9c7 Daniel Palmer 2021-08-23 194 if (IS_ERR(priv->rtc_base))
be7d9c9161b9c7 Daniel Palmer 2021-08-23 195 return PTR_ERR(priv->rtc_base);
be7d9c9161b9c7 Daniel Palmer 2021-08-23 196
be7d9c9161b9c7 Daniel Palmer 2021-08-23 197 irq = platform_get_irq(pdev, 0);
be7d9c9161b9c7 Daniel Palmer 2021-08-23 198 if (irq < 0)
be7d9c9161b9c7 Daniel Palmer 2021-08-23 199 return -EINVAL;
be7d9c9161b9c7 Daniel Palmer 2021-08-23 200
be7d9c9161b9c7 Daniel Palmer 2021-08-23 201 priv->rtc_dev = devm_rtc_allocate_device(dev);
be7d9c9161b9c7 Daniel Palmer 2021-08-23 202 if (IS_ERR(priv->rtc_dev))
be7d9c9161b9c7 Daniel Palmer 2021-08-23 203 return PTR_ERR(priv->rtc_dev);
be7d9c9161b9c7 Daniel Palmer 2021-08-23 204
be7d9c9161b9c7 Daniel Palmer 2021-08-23 205 priv->rtc_dev->ops = &msc313_rtc_ops;
be7d9c9161b9c7 Daniel Palmer 2021-08-23 206 priv->rtc_dev->range_max = U32_MAX;
be7d9c9161b9c7 Daniel Palmer 2021-08-23 207
be7d9c9161b9c7 Daniel Palmer 2021-08-23 208 ret = devm_request_irq(dev, irq, msc313_rtc_interrupt, IRQF_SHARED,
be7d9c9161b9c7 Daniel Palmer 2021-08-23 209 dev_name(&pdev->dev), &pdev->dev);
be7d9c9161b9c7 Daniel Palmer 2021-08-23 210 if (ret) {
be7d9c9161b9c7 Daniel Palmer 2021-08-23 211 dev_err(dev, "Could not request IRQ\n");
be7d9c9161b9c7 Daniel Palmer 2021-08-23 212 return ret;
be7d9c9161b9c7 Daniel Palmer 2021-08-23 213 }
be7d9c9161b9c7 Daniel Palmer 2021-08-23 214
be7d9c9161b9c7 Daniel Palmer 2021-08-23 215 clk = devm_clk_get(dev, NULL);
be7d9c9161b9c7 Daniel Palmer 2021-08-23 216 if (IS_ERR(clk)) {
be7d9c9161b9c7 Daniel Palmer 2021-08-23 217 dev_err(dev, "No input reference clock\n");
be7d9c9161b9c7 Daniel Palmer 2021-08-23 218 return PTR_ERR(clk);
be7d9c9161b9c7 Daniel Palmer 2021-08-23 219 }
be7d9c9161b9c7 Daniel Palmer 2021-08-23 220
be7d9c9161b9c7 Daniel Palmer 2021-08-23 221 ret = clk_prepare_enable(clk);
be7d9c9161b9c7 Daniel Palmer 2021-08-23 222 if (ret) {
be7d9c9161b9c7 Daniel Palmer 2021-08-23 223 dev_err(dev, "Failed to enable the reference clock, %d\n", ret);
be7d9c9161b9c7 Daniel Palmer 2021-08-23 224 return ret;
be7d9c9161b9c7 Daniel Palmer 2021-08-23 225 }
be7d9c9161b9c7 Daniel Palmer 2021-08-23 226
be7d9c9161b9c7 Daniel Palmer 2021-08-23 @227 ret = devm_add_action_or_reset(dev, (void (*) (void *))clk_disable_unprepare, clk);
be7d9c9161b9c7 Daniel Palmer 2021-08-23 228 if (ret)
be7d9c9161b9c7 Daniel Palmer 2021-08-23 229 return ret;
be7d9c9161b9c7 Daniel Palmer 2021-08-23 230
be7d9c9161b9c7 Daniel Palmer 2021-08-23 231 rate = clk_get_rate(clk);
be7d9c9161b9c7 Daniel Palmer 2021-08-23 232 writew(rate & 0xFFFF, priv->rtc_base + REG_RTC_FREQ_CW_L);
be7d9c9161b9c7 Daniel Palmer 2021-08-23 233 writew((rate >> 16) & 0xFFFF, priv->rtc_base + REG_RTC_FREQ_CW_H);
be7d9c9161b9c7 Daniel Palmer 2021-08-23 234
be7d9c9161b9c7 Daniel Palmer 2021-08-23 235 platform_set_drvdata(pdev, priv);
be7d9c9161b9c7 Daniel Palmer 2021-08-23 236
be7d9c9161b9c7 Daniel Palmer 2021-08-23 237 return devm_rtc_register_device(priv->rtc_dev);
be7d9c9161b9c7 Daniel Palmer 2021-08-23 238 }
be7d9c9161b9c7 Daniel Palmer 2021-08-23 239
:::::: The code at line 227 was first introduced by commit
:::::: be7d9c9161b9c76edeff15e79edc2f256568fe05 rtc: Add support for the MSTAR MSC313 RTC
:::::: TO: Daniel Palmer <daniel@...f.com>
:::::: CC: Alexandre Belloni <alexandre.belloni@...tlin.com>
--
0-DAY CI Kernel Test Service
https://01.org/lkp
View attachment "config" of type "text/plain" (123025 bytes)
Powered by blists - more mailing lists