Re: [PATCH v3] fs/btrfs: Fix uninitialized variable
by kernel test robot
Hi Khaled,
Thank you for the patch! Perhaps something to improve:
[auto build test WARNING on kdave/for-next]
[also build test WARNING on v5.12-rc8 next-20210420]
[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]
url: https://github.com/0day-ci/linux/commits/Khaled-ROMDHANI/fs-btrfs-Fix-uni...
base: https://git.kernel.org/pub/scm/linux/kernel/git/kdave/linux.git for-next
config: s390-randconfig-r032-20210420 (attached as .config)
compiler: clang version 13.0.0 (https://github.com/llvm/llvm-project ca8eef7e3da8f750d7c7aa004fe426d1d34787ea)
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 s390 cross compiling tool for clang build
# apt-get install binutils-s390x-linux-gnu
# https://github.com/0day-ci/linux/commit/c05b2a58c9ed11bd753f1e64695bd89da...
git remote add linux-review https://github.com/0day-ci/linux
git fetch --no-tags linux-review Khaled-ROMDHANI/fs-btrfs-Fix-uninitialized-variable/20210420-231754
git checkout c05b2a58c9ed11bd753f1e64695bd89da715fbaa
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross W=1 ARCH=s390
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
All warnings (new ones prefixed by >>):
In file included from fs/btrfs/zoned.c:5:
In file included from include/linux/blkdev.h:26:
In file included from include/linux/scatterlist.h:9:
In file included from arch/s390/include/asm/io.h:80:
include/asm-generic/io.h:464:31: warning: performing pointer arithmetic on a null pointer has undefined behavior [-Wnull-pointer-arithmetic]
val = __raw_readb(PCI_IOBASE + addr);
~~~~~~~~~~ ^
include/asm-generic/io.h:477:61: warning: performing pointer arithmetic on a null pointer has undefined behavior [-Wnull-pointer-arithmetic]
val = __le16_to_cpu((__le16 __force)__raw_readw(PCI_IOBASE + addr));
~~~~~~~~~~ ^
include/uapi/linux/byteorder/big_endian.h:36:59: note: expanded from macro '__le16_to_cpu'
#define __le16_to_cpu(x) __swab16((__force __u16)(__le16)(x))
^
include/uapi/linux/swab.h:102:54: note: expanded from macro '__swab16'
#define __swab16(x) (__u16)__builtin_bswap16((__u16)(x))
^
In file included from fs/btrfs/zoned.c:5:
In file included from include/linux/blkdev.h:26:
In file included from include/linux/scatterlist.h:9:
In file included from arch/s390/include/asm/io.h:80:
include/asm-generic/io.h:490:61: warning: performing pointer arithmetic on a null pointer has undefined behavior [-Wnull-pointer-arithmetic]
val = __le32_to_cpu((__le32 __force)__raw_readl(PCI_IOBASE + addr));
~~~~~~~~~~ ^
include/uapi/linux/byteorder/big_endian.h:34:59: note: expanded from macro '__le32_to_cpu'
#define __le32_to_cpu(x) __swab32((__force __u32)(__le32)(x))
^
include/uapi/linux/swab.h:115:54: note: expanded from macro '__swab32'
#define __swab32(x) (__u32)__builtin_bswap32((__u32)(x))
^
In file included from fs/btrfs/zoned.c:5:
In file included from include/linux/blkdev.h:26:
In file included from include/linux/scatterlist.h:9:
In file included from arch/s390/include/asm/io.h:80:
include/asm-generic/io.h:501:33: warning: performing pointer arithmetic on a null pointer has undefined behavior [-Wnull-pointer-arithmetic]
__raw_writeb(value, PCI_IOBASE + addr);
~~~~~~~~~~ ^
include/asm-generic/io.h:511:59: warning: performing pointer arithmetic on a null pointer has undefined behavior [-Wnull-pointer-arithmetic]
__raw_writew((u16 __force)cpu_to_le16(value), PCI_IOBASE + addr);
~~~~~~~~~~ ^
include/asm-generic/io.h:521:59: warning: performing pointer arithmetic on a null pointer has undefined behavior [-Wnull-pointer-arithmetic]
__raw_writel((u32 __force)cpu_to_le32(value), PCI_IOBASE + addr);
~~~~~~~~~~ ^
include/asm-generic/io.h:609:20: warning: performing pointer arithmetic on a null pointer has undefined behavior [-Wnull-pointer-arithmetic]
readsb(PCI_IOBASE + addr, buffer, count);
~~~~~~~~~~ ^
include/asm-generic/io.h:617:20: warning: performing pointer arithmetic on a null pointer has undefined behavior [-Wnull-pointer-arithmetic]
readsw(PCI_IOBASE + addr, buffer, count);
~~~~~~~~~~ ^
include/asm-generic/io.h:625:20: warning: performing pointer arithmetic on a null pointer has undefined behavior [-Wnull-pointer-arithmetic]
readsl(PCI_IOBASE + addr, buffer, count);
~~~~~~~~~~ ^
include/asm-generic/io.h:634:21: warning: performing pointer arithmetic on a null pointer has undefined behavior [-Wnull-pointer-arithmetic]
writesb(PCI_IOBASE + addr, buffer, count);
~~~~~~~~~~ ^
include/asm-generic/io.h:643:21: warning: performing pointer arithmetic on a null pointer has undefined behavior [-Wnull-pointer-arithmetic]
writesw(PCI_IOBASE + addr, buffer, count);
~~~~~~~~~~ ^
include/asm-generic/io.h:652:21: warning: performing pointer arithmetic on a null pointer has undefined behavior [-Wnull-pointer-arithmetic]
writesl(PCI_IOBASE + addr, buffer, count);
~~~~~~~~~~ ^
>> fs/btrfs/zoned.c:147:10: warning: variable 'zone' is uninitialized when used here [-Wuninitialized]
ASSERT(zone);
^~~~
fs/btrfs/ctree.h:3420:10: note: expanded from macro 'ASSERT'
(likely(expr) ? (void)0 : assertfail(#expr, __FILE__, __LINE__))
^~~~
include/linux/compiler.h:45:39: note: expanded from macro 'likely'
# define likely(x) (__branch_check__(x, 1, __builtin_constant_p(x)))
^
include/linux/compiler.h:33:34: note: expanded from macro '__branch_check__'
______r = __builtin_expect(!!(x), expect); \
^
fs/btrfs/zoned.c:139:10: note: initialize the variable 'zone' to silence this warning
u64 zone;
^
= 0
13 warnings generated.
vim +/zone +147 fs/btrfs/zoned.c
133
134 /*
135 * Get the first zone number of the superblock mirror
136 */
137 static inline u32 sb_zone_number(int shift, int mirror)
138 {
139 u64 zone;
140
141 ASSERT(mirror < BTRFS_SUPER_MIRROR_MAX);
142 switch (mirror) {
143 case 0: zone = 0; break;
144 case 1: zone = 1ULL << (BTRFS_SB_LOG_FIRST_SHIFT - shift); break;
145 case 2: zone = 1ULL << (BTRFS_SB_LOG_SECOND_SHIFT - shift); break;
146 default:
> 147 ASSERT(zone);
148 break;
149 }
150
151 ASSERT(zone <= U32_MAX);
152
153 return (u32)zone;
154 }
155
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
1 year, 5 months
drivers/watchdog/at91rm9200_wdt.c:219:27: sparse: sparse: incorrect type in initializer (incompatible argument 2 (different address spaces))
by kernel test robot
Hi Masahiro,
First bad commit (maybe != root cause):
tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head: 7af08140979a6e7e12b78c93b8625c8d25b084e2
commit: ea29b20a828511de3348334e529a3d046a180416 init/Kconfig: make COMPILE_TEST depend on HAS_IOMEM
date: 5 weeks ago
config: s390-randconfig-s032-20210420 (attached as .config)
compiler: s390-linux-gcc (GCC) 9.3.0
reproduce:
wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
chmod +x ~/bin/make.cross
# apt-get install sparse
# sparse version: v0.6.3-341-g8af24329-dirty
# https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit...
git remote add linus https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
git fetch --no-tags linus master
git checkout ea29b20a828511de3348334e529a3d046a180416
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-9.3.0 make.cross C=1 CF='-fdiagnostic-prefix -D__CHECK_ENDIAN__' W=1 ARCH=s390
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
sparse warnings: (new ones prefixed by >>)
>> drivers/watchdog/at91rm9200_wdt.c:219:27: sparse: sparse: incorrect type in initializer (incompatible argument 2 (different address spaces)) @@ expected long ( *write )( ... ) @@ got long ( * )( ... ) @@
drivers/watchdog/at91rm9200_wdt.c:219:27: sparse: expected long ( *write )( ... )
drivers/watchdog/at91rm9200_wdt.c:219:27: sparse: got long ( * )( ... )
vim +219 drivers/watchdog/at91rm9200_wdt.c
853807fb500a94 drivers/char/watchdog/at91_wdt.c Andrew Victor 2006-03-14 211
62322d2554d2f9 drivers/char/watchdog/at91_wdt.c Arjan van de Ven 2006-07-03 212 static const struct file_operations at91wdt_fops = {
853807fb500a94 drivers/char/watchdog/at91_wdt.c Andrew Victor 2006-03-14 213 .owner = THIS_MODULE,
853807fb500a94 drivers/char/watchdog/at91_wdt.c Andrew Victor 2006-03-14 214 .llseek = no_llseek,
2760600da2a13d drivers/watchdog/at91rm9200_wdt.c Alan Cox 2008-05-19 215 .unlocked_ioctl = at91_wdt_ioctl,
b6dfb2477fb0bf drivers/watchdog/at91rm9200_wdt.c Arnd Bergmann 2019-06-03 216 .compat_ioctl = compat_ptr_ioctl,
853807fb500a94 drivers/char/watchdog/at91_wdt.c Andrew Victor 2006-03-14 217 .open = at91_wdt_open,
853807fb500a94 drivers/char/watchdog/at91_wdt.c Andrew Victor 2006-03-14 218 .release = at91_wdt_close,
853807fb500a94 drivers/char/watchdog/at91_wdt.c Andrew Victor 2006-03-14 @219 .write = at91_wdt_write,
853807fb500a94 drivers/char/watchdog/at91_wdt.c Andrew Victor 2006-03-14 220 };
853807fb500a94 drivers/char/watchdog/at91_wdt.c Andrew Victor 2006-03-14 221
:::::: The code at line 219 was first introduced by commit
:::::: 853807fb500a9442d88646b7be92bfa51334f8e8 [WATCHDOG] at91_wdt.c - Atmel AT91RM9200 watchdog driver
:::::: TO: Andrew Victor <andrew(a)sanpeople.com>
:::::: CC: Wim Van Sebroeck <wim(a)iguana.be>
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
1 year, 5 months
[chrome-os:chromeos-5.4 56/243] drivers/media/platform/mtk-vcodec/vdec/vdec_vp9_req_lat_if.c:2028:44: sparse: sparse: incorrect type in argument 2 (different address spaces)
by kernel test robot
tree: https://chromium.googlesource.com/chromiumos/third_party/kernel chromeos-5.4
head: 52d269f32500581166246e0e494b2b62d979dba6
commit: bc0b0ae994e6bb17b12bfd882c2eb837eb29c078 [56/243] CHROMIUM: media: mtk-vcodec: Add vp9 slice api driver for mt8192
config: nios2-randconfig-s032-20210420 (attached as .config)
compiler: nios2-linux-gcc (GCC) 9.3.0
reproduce:
wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
chmod +x ~/bin/make.cross
# apt-get install sparse
# sparse version: v0.6.3-341-g8af24329-dirty
git remote add chrome-os https://chromium.googlesource.com/chromiumos/third_party/kernel
git fetch --no-tags chrome-os chromeos-5.4
git checkout bc0b0ae994e6bb17b12bfd882c2eb837eb29c078
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-9.3.0 make.cross C=1 CF='-fdiagnostic-prefix -D__CHECK_ENDIAN__' W=1 ARCH=nios2
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
sparse warnings: (new ones prefixed by >>)
>> drivers/media/platform/mtk-vcodec/vdec/vdec_vp9_req_lat_if.c:2028:44: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] <asn:2> *addr @@ got unsigned int * @@
drivers/media/platform/mtk-vcodec/vdec/vdec_vp9_req_lat_if.c:2028:44: sparse: expected void volatile [noderef] <asn:2> *addr
drivers/media/platform/mtk-vcodec/vdec/vdec_vp9_req_lat_if.c:2028:44: sparse: got unsigned int *
>> drivers/media/platform/mtk-vcodec/vdec/vdec_vp9_req_lat_if.c:543:34: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void const volatile [noderef] <asn:2> *addr @@ got struct vdec_vp9_slice_frame_ctx *[assigned] remote_frame_ctx @@
drivers/media/platform/mtk-vcodec/vdec/vdec_vp9_req_lat_if.c:543:34: sparse: expected void const volatile [noderef] <asn:2> *addr
drivers/media/platform/mtk-vcodec/vdec/vdec_vp9_req_lat_if.c:543:34: sparse: got struct vdec_vp9_slice_frame_ctx *[assigned] remote_frame_ctx
drivers/media/platform/mtk-vcodec/vdec/vdec_vp9_req_lat_if.c:689:40: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void const volatile [noderef] <asn:2> *addr @@ got struct vdec_vp9_slice_compressed_header * @@
drivers/media/platform/mtk-vcodec/vdec/vdec_vp9_req_lat_if.c:689:40: sparse: expected void const volatile [noderef] <asn:2> *addr
drivers/media/platform/mtk-vcodec/vdec/vdec_vp9_req_lat_if.c:689:40: sparse: got struct vdec_vp9_slice_compressed_header *
>> drivers/media/platform/mtk-vcodec/vdec/vdec_vp9_req_lat_if.c:690:48: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void const volatile [noderef] <asn:2> *addr @@ got unsigned int [usertype] ( * )[8][4] @@
drivers/media/platform/mtk-vcodec/vdec/vdec_vp9_req_lat_if.c:690:48: sparse: expected void const volatile [noderef] <asn:2> *addr
drivers/media/platform/mtk-vcodec/vdec/vdec_vp9_req_lat_if.c:690:48: sparse: got unsigned int [usertype] ( * )[8][4]
drivers/media/platform/mtk-vcodec/vdec/vdec_vp9_req_lat_if.c:692:45: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void const volatile [noderef] <asn:2> *addr @@ got struct vdec_vp9_slice_mem * @@
drivers/media/platform/mtk-vcodec/vdec/vdec_vp9_req_lat_if.c:692:45: sparse: expected void const volatile [noderef] <asn:2> *addr
drivers/media/platform/mtk-vcodec/vdec/vdec_vp9_req_lat_if.c:692:45: sparse: got struct vdec_vp9_slice_mem *
drivers/media/platform/mtk-vcodec/vdec/vdec_vp9_req_lat_if.c:696:37: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void const volatile [noderef] <asn:2> *addr @@ got struct vdec_vp9_slice_state * @@
drivers/media/platform/mtk-vcodec/vdec/vdec_vp9_req_lat_if.c:696:37: sparse: expected void const volatile [noderef] <asn:2> *addr
drivers/media/platform/mtk-vcodec/vdec/vdec_vp9_req_lat_if.c:696:37: sparse: got struct vdec_vp9_slice_state *
>> drivers/media/platform/mtk-vcodec/vdec/vdec_vp9_req_lat_if.c:703:21: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void volatile [noderef] <asn:2> *addr @@ got struct vdec_vp9_slice_vsi *remote_vsi @@
drivers/media/platform/mtk-vcodec/vdec/vdec_vp9_req_lat_if.c:703:21: sparse: expected void volatile [noderef] <asn:2> *addr
drivers/media/platform/mtk-vcodec/vdec/vdec_vp9_req_lat_if.c:703:21: sparse: got struct vdec_vp9_slice_vsi *remote_vsi
>> drivers/media/platform/mtk-vcodec/vdec/vdec_vp9_req_lat_if.c:1930:45: sparse: sparse: Using plain integer as NULL pointer
drivers/media/platform/mtk-vcodec/vdec/vdec_vp9_req_lat_if.c:1945:44: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] <asn:2> *addr @@ got unsigned int * @@
drivers/media/platform/mtk-vcodec/vdec/vdec_vp9_req_lat_if.c:1945:44: sparse: expected void volatile [noderef] <asn:2> *addr
drivers/media/platform/mtk-vcodec/vdec/vdec_vp9_req_lat_if.c:1945:44: sparse: got unsigned int *
drivers/media/platform/mtk-vcodec/vdec/vdec_vp9_req_lat_if.c: note: in included file (through arch/nios2/include/asm/io.h, include/linux/io.h, arch/nios2/include/asm/pgtable.h, ...):
include/asm-generic/io.h:225:22: sparse: sparse: incorrect type in argument 1 (different base types) @@ expected unsigned int [usertype] value @@ got restricted __le32 [usertype] @@
include/asm-generic/io.h:225:22: sparse: expected unsigned int [usertype] value
include/asm-generic/io.h:225:22: sparse: got restricted __le32 [usertype]
include/asm-generic/io.h:225:22: sparse: sparse: incorrect type in argument 1 (different base types) @@ expected unsigned int [usertype] value @@ got restricted __le32 [usertype] @@
include/asm-generic/io.h:225:22: sparse: expected unsigned int [usertype] value
include/asm-generic/io.h:225:22: sparse: got restricted __le32 [usertype]
vim +2028 drivers/media/platform/mtk-vcodec/vdec/vdec_vp9_req_lat_if.c
1881
1882 static int vdec_vp9_slice_lat_decode(void *h_vdec,
1883 struct mtk_vcodec_mem *bs,
1884 struct vdec_fb *fb,
1885 bool *res_chg)
1886 {
1887 struct vdec_vp9_slice_instance *instance = h_vdec;
1888 struct vdec_lat_buf *lat_buf;
1889 struct vdec_vp9_slice_pfc *pfc;
1890 struct vdec_vp9_slice_vsi *vsi;
1891 struct mtk_vcodec_ctx *ctx;
1892 int ret;
1893
1894 if (!instance || !instance->ctx)
1895 return -EINVAL;
1896 ctx = instance->ctx;
1897
1898 /* init msgQ for the first time */
1899 if (!ctx->msg_queue.init_done) {
1900 if (vdec_msg_queue_init(ctx, &ctx->msg_queue,
1901 vdec_vp9_slice_core_decode, sizeof(*pfc))) {
1902 mtk_vcodec_err(instance,
1903 "Failed to init VP9 msg queue\n");
1904 return -ENOMEM;
1905 }
1906 }
1907
1908 /* bs NULL means flush decoder */
1909 if (!bs)
1910 return vdec_vp9_slice_flush(h_vdec, bs, fb, res_chg);
1911
1912 lat_buf = vdec_msg_queue_get_lat_buf(&ctx->msg_queue);
1913 if (!lat_buf) {
1914 mtk_vcodec_err(instance, "Failed to get VP9 lat buf\n");
1915 return -EBUSY;
1916 }
1917 pfc = (struct vdec_vp9_slice_pfc *)lat_buf->private_data;
1918 if (!pfc)
1919 return -EINVAL;
1920 vsi = &pfc->vsi;
1921
1922 ret = vdec_vp9_slice_setup_lat(instance, bs, lat_buf, pfc);
1923 if (ret) {
1924 mtk_vcodec_err(instance,
1925 "Failed to setup VP9 lat ret %d\n", ret);
1926 return ret;
1927 }
1928 vdec_vp9_slice_vsi_to_remote(vsi, instance->vsi);
1929
> 1930 ret = vpu_dec_start(&instance->vpu, 0, 0);
1931 if (ret) {
1932 mtk_vcodec_err(instance,
1933 "Failed to dec VP9 ret %d\n", ret);
1934 return ret;
1935 }
1936
1937 if (instance->irq) {
1938 ret = mtk_vcodec_wait_for_done_ctx(ctx,
1939 MTK_INST_IRQ_RECEIVED,
1940 WAIT_INTR_TIMEOUT_MS);
1941 /* update remote vsi if decode timeout */
1942 if (ret) {
1943 mtk_vcodec_err(instance,
1944 "VP9 decode timeout %d\n", ret);
1945 writel(1, &instance->vsi->state.timeout);
1946 }
1947 vpu_dec_end(&instance->vpu);
1948 }
1949
1950 vdec_vp9_slice_vsi_from_remote(vsi, instance->vsi, 0);
1951 ret = vdec_vp9_slice_update_lat(instance, lat_buf, pfc);
1952
1953 /* LAT trans full, re-decode */
1954 if (ret == -EAGAIN) {
1955 mtk_vcodec_err(instance, "VP9 trans full\n");
1956 vdec_msg_queue_buf_to_lat(lat_buf);
1957 return 0;
1958 }
1959
1960 /*
1961 * LAT trans full, no more UBE
1962 * decode timeout
1963 */
1964 if (ret == -ENOMEM || vsi->state.timeout) {
1965 mtk_vcodec_err(instance,
1966 "VP9 insufficient buffer or timeout\n");
1967 vdec_msg_queue_buf_to_lat(lat_buf);
1968 return -EBUSY;
1969 }
1970
1971 mtk_vcodec_debug(instance, "lat dma 1 0x%lx 0x%lx\n",
1972 pfc->vsi.trans.dma_addr, pfc->vsi.trans.dma_addr_end);
1973
1974 vdec_msg_queue_update_ube_wptr(&ctx->msg_queue,
1975 vsi->trans.dma_addr_end + ctx->msg_queue.wdma_addr.dma_addr);
1976 vdec_msg_queue_buf_to_core(ctx->dev, lat_buf);
1977
1978 return 0;
1979 }
1980
1981 static int vdec_vp9_slice_core_decode(
1982 struct vdec_lat_buf *lat_buf)
1983 {
1984 struct vdec_vp9_slice_instance *instance;
1985 struct vdec_vp9_slice_pfc *pfc;
1986 struct mtk_vcodec_ctx *ctx = NULL;
1987 struct vdec_fb *fb = NULL;
1988 int ret = -EINVAL;
1989
1990 if (!lat_buf)
1991 goto err;
1992
1993 pfc = lat_buf->private_data;
1994 ctx = lat_buf->ctx;
1995 if (!pfc || !ctx)
1996 goto err;
1997
1998 instance = ctx->drv_handle;
1999 if (!instance)
2000 goto err;
2001
2002 fb = ctx->dev->vdec_pdata->get_cap_buffer(ctx);
2003 if (!fb) {
2004 ret = -EBUSY;
2005 goto err;
2006 }
2007
2008 ret = vdec_vp9_slice_setup_core(instance, fb, lat_buf, pfc);
2009 if (ret) {
2010 mtk_vcodec_err(instance, "vdec_vp9_slice_setup_core\n");
2011 goto err;
2012 }
2013 vdec_vp9_slice_vsi_to_remote(&pfc->vsi, instance->core_vsi);
2014
2015 ret = vpu_dec_core(&instance->vpu);
2016 if (ret) {
2017 mtk_vcodec_err(instance, "vpu_dec_core\n");
2018 goto err;
2019 }
2020
2021 if (instance->irq) {
2022 ret = mtk_vcodec_wait_for_core_done_ctx(ctx,
2023 MTK_INST_IRQ_RECEIVED,
2024 WAIT_INTR_TIMEOUT_MS);
2025 /* update remote vsi if decode timeout */
2026 if (ret) {
2027 mtk_vcodec_err(instance, "VP9 core timeout\n");
> 2028 writel(1, &instance->core_vsi->state.timeout);
2029 }
2030 vpu_dec_core_end(&instance->vpu);
2031 }
2032
2033 vdec_vp9_slice_vsi_from_remote(&pfc->vsi, instance->core_vsi, 1);
2034 ret = vdec_vp9_slice_update_core(instance, lat_buf, pfc);
2035 if (ret) {
2036 mtk_vcodec_err(instance, "vdec_vp9_slice_update_core\n");
2037 goto err;
2038 }
2039
2040 pfc->vsi.trans.dma_addr_end += ctx->msg_queue.wdma_addr.dma_addr;
2041 mtk_vcodec_debug(instance, "core dma_addr_end 0x%lx\n",
2042 pfc->vsi.trans.dma_addr_end);
2043 vdec_msg_queue_update_ube_rptr(&ctx->msg_queue,
2044 pfc->vsi.trans.dma_addr_end);
2045 ctx->dev->vdec_pdata->cap_to_disp(ctx, fb, 0);
2046
2047 return 0;
2048
2049 err:
2050 if (ctx) {
2051 /* always update read pointer */
2052 vdec_msg_queue_update_ube_rptr(&ctx->msg_queue,
2053 pfc->vsi.trans.dma_addr_end);
2054
2055 if (fb)
2056 ctx->dev->vdec_pdata->cap_to_disp(ctx, fb, 1);
2057 }
2058 return ret;
2059 }
2060
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
1 year, 5 months
[chrome-os:chromeos-5.4 54/243] drivers/media/platform/mtk-vcodec/vdec/vdec_h264_req_lat_if.c:388:27: sparse: sparse: non size-preserving pointer to integer cast
by kernel test robot
tree: https://chromium.googlesource.com/chromiumos/third_party/kernel chromeos-5.4
head: 52d269f32500581166246e0e494b2b62d979dba6
commit: 0a438b290ea431bc87156be5819e9f85fa951240 [54/243] CHROMIUM: media: mtk-vcodec: Add h264 slice api driver for mt8192
config: nios2-randconfig-s032-20210420 (attached as .config)
compiler: nios2-linux-gcc (GCC) 9.3.0
reproduce:
wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
chmod +x ~/bin/make.cross
# apt-get install sparse
# sparse version: v0.6.3-341-g8af24329-dirty
git remote add chrome-os https://chromium.googlesource.com/chromiumos/third_party/kernel
git fetch --no-tags chrome-os chromeos-5.4
git checkout 0a438b290ea431bc87156be5819e9f85fa951240
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-9.3.0 make.cross C=1 CF='-fdiagnostic-prefix -D__CHECK_ENDIAN__' W=1 ARCH=nios2
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
sparse warnings: (new ones prefixed by >>)
>> drivers/media/platform/mtk-vcodec/vdec/vdec_h264_req_lat_if.c:388:27: sparse: sparse: non size-preserving pointer to integer cast
vim +388 drivers/media/platform/mtk-vcodec/vdec/vdec_h264_req_lat_if.c
367
368 static int vdec_h264_slice_core_decode(struct vdec_lat_buf *lat_buf)
369 {
370 struct vdec_fb *fb;
371 uint64_t vdec_fb_va;
372 uint64_t y_fb_dma, c_fb_dma;
373 int err, timeout, i, dec_err;
374 struct vdec_vpu_inst *vpu;
375 struct mtk_video_dec_buf *dst_buf_info;
376 struct mtk_vcodec_ctx *ctx = lat_buf->ctx;
377 struct vdec_h264_slice_inst *inst = ctx->drv_handle;
378 struct vb2_v4l2_buffer *vb2_v4l2;
379 struct vdec_h264_slice_share_info *share_info = lat_buf->private_data;
380 struct mtk_vcodec_mem *mem;
381
382 mtk_vcodec_debug(inst, "[h264-core] vdec_h264 core decode");
383 memcpy(&inst->vsi_core->h264_slice_params, &share_info->h264_slice_params,
384 sizeof(share_info->h264_slice_params));
385 fb = ctx->dev->vdec_pdata->get_cap_buffer(ctx);
386 vpu = &inst->vpu;
387 dst_buf_info = container_of(fb, struct mtk_video_dec_buf, frame_buffer);
> 388 vdec_fb_va = (u64)fb;
389 y_fb_dma = fb ? (u64)fb->base_y.dma_addr : 0;
390
391 if (ctx->q_data[MTK_Q_DATA_DST].fmt->num_planes == 1)
392 c_fb_dma =
393 y_fb_dma + inst->ctx->picinfo.buf_w * inst->ctx->picinfo.buf_h;
394 else
395 c_fb_dma = fb ? (u64)fb->base_c.dma_addr : 0;
396
397 mtk_vcodec_debug(inst, "[h264-core] y/c addr = 0x%x 0x%x", y_fb_dma,
398 c_fb_dma);
399
400 inst->vsi_core->dec.y_fb_dma = y_fb_dma;
401 inst->vsi_core->dec.c_fb_dma = c_fb_dma;
402 inst->vsi_core->dec.vdec_fb_va = vdec_fb_va;
403 inst->vsi_core->dec.nal_info = share_info->nal_info;
404 inst->vsi_core->wdma_start_addr =
405 lat_buf->ctx->msg_queue.wdma_addr.dma_addr;
406 inst->vsi_core->wdma_end_addr =
407 lat_buf->ctx->msg_queue.wdma_addr.dma_addr +
408 lat_buf->ctx->msg_queue.wdma_addr.size;
409 inst->vsi_core->wdma_err_addr = lat_buf->wdma_err_addr.dma_addr;
410 inst->vsi_core->slice_bc_start_addr = lat_buf->slice_bc_addr.dma_addr;
411 inst->vsi_core->slice_bc_end_addr = lat_buf->slice_bc_addr.dma_addr +
412 lat_buf->slice_bc_addr.size;
413 inst->vsi_core->trans_start = share_info->trans_start;
414 inst->vsi_core->trans_end = share_info->trans_end;
415 for (i = 0; i < H264_MAX_MV_NUM; i++) {
416 mem = &inst->mv_buf[i];
417 inst->vsi_core->mv_buf_dma[i] = mem->dma_addr;
418 }
419
420 vb2_v4l2 = v4l2_m2m_next_dst_buf(ctx->m2m_ctx);
421
422 vb2_v4l2->vb2_buf.timestamp = lat_buf->ts_info.vb2_buf.timestamp;
423 vb2_v4l2->timecode = lat_buf->ts_info.timecode;
424 vb2_v4l2->field = lat_buf->ts_info.field;
425 vb2_v4l2->flags = lat_buf->ts_info.flags;
426 vb2_v4l2->vb2_buf.copied_timestamp =
427 lat_buf->ts_info.vb2_buf.copied_timestamp;
428
429 vdec_h264_slice_fill_decode_reflist(inst,
430 &inst->vsi_core->h264_slice_params, share_info);
431
432 err = vpu_dec_core(vpu);
433 if (err) {
434 dec_err = 1;
435 mtk_vcodec_err(inst, "core decode err=%d", err);
436 goto vdec_dec_end;
437 } else {
438 dec_err = 0;
439 }
440
441 /* wait decoder done interrupt */
442 timeout = mtk_vcodec_wait_for_core_done_ctx(
443 inst->ctx, MTK_INST_IRQ_RECEIVED, WAIT_INTR_TIMEOUT_MS);
444 if (timeout)
445 mtk_vcodec_err(inst, "core decode timeout: pic_%d",
446 ctx->decoded_frame_cnt);
447 inst->vsi_core->dec.timeout = !!timeout;
448
449 vpu_dec_core_end(vpu);
450
451 mtk_vcodec_debug(inst, "y_crc: 0x%x 0x%x 0x%x 0x%x",
452 inst->vsi_core->dec.crc[0],
453 inst->vsi_core->dec.crc[1],
454 inst->vsi_core->dec.crc[2],
455 inst->vsi_core->dec.crc[3]);
456
457 mtk_vcodec_debug(inst, "c_crc: 0x%x 0x%x 0x%x 0x%x",
458 inst->vsi_core->dec.crc[4],
459 inst->vsi_core->dec.crc[5],
460 inst->vsi_core->dec.crc[6],
461 inst->vsi_core->dec.crc[7]);
462
463 vdec_dec_end:
464 vdec_msg_queue_update_ube_rptr(&lat_buf->ctx->msg_queue,
465 inst->vsi_core->trans_end);
466 ctx->dev->vdec_pdata->cap_to_disp(ctx, fb, dec_err);
467 mtk_vcodec_debug(inst, "core decode done err=%d", err);
468 ctx->decoded_frame_cnt++;
469
470 return 0;
471 }
472
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
1 year, 5 months
drivers/watchdog/at91rm9200_wdt.c:219:27: sparse: sparse: incorrect type in initializer (incompatible argument 2 (different address spaces))
by kernel test robot
Hi Masahiro,
First bad commit (maybe != root cause):
tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head: 7af08140979a6e7e12b78c93b8625c8d25b084e2
commit: ea29b20a828511de3348334e529a3d046a180416 init/Kconfig: make COMPILE_TEST depend on HAS_IOMEM
date: 5 weeks ago
config: s390-randconfig-s032-20210420 (attached as .config)
compiler: s390-linux-gcc (GCC) 9.3.0
reproduce:
wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
chmod +x ~/bin/make.cross
# apt-get install sparse
# sparse version: v0.6.3-330-g09ec74f6-dirty
# https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit...
git remote add linus https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
git fetch --no-tags linus master
git checkout ea29b20a828511de3348334e529a3d046a180416
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-9.3.0 make.cross C=1 CF='-fdiagnostic-prefix -D__CHECK_ENDIAN__' W=1 ARCH=s390
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
sparse warnings: (new ones prefixed by >>)
>> drivers/watchdog/at91rm9200_wdt.c:219:27: sparse: sparse: incorrect type in initializer (incompatible argument 2 (different address spaces)) @@ expected long ( *write )( ... ) @@ got long ( * )( ... ) @@
drivers/watchdog/at91rm9200_wdt.c:219:27: sparse: expected long ( *write )( ... )
drivers/watchdog/at91rm9200_wdt.c:219:27: sparse: got long ( * )( ... )
vim +219 drivers/watchdog/at91rm9200_wdt.c
853807fb500a94 drivers/char/watchdog/at91_wdt.c Andrew Victor 2006-03-14 211
62322d2554d2f9 drivers/char/watchdog/at91_wdt.c Arjan van de Ven 2006-07-03 212 static const struct file_operations at91wdt_fops = {
853807fb500a94 drivers/char/watchdog/at91_wdt.c Andrew Victor 2006-03-14 213 .owner = THIS_MODULE,
853807fb500a94 drivers/char/watchdog/at91_wdt.c Andrew Victor 2006-03-14 214 .llseek = no_llseek,
2760600da2a13d drivers/watchdog/at91rm9200_wdt.c Alan Cox 2008-05-19 215 .unlocked_ioctl = at91_wdt_ioctl,
b6dfb2477fb0bf drivers/watchdog/at91rm9200_wdt.c Arnd Bergmann 2019-06-03 216 .compat_ioctl = compat_ptr_ioctl,
853807fb500a94 drivers/char/watchdog/at91_wdt.c Andrew Victor 2006-03-14 217 .open = at91_wdt_open,
853807fb500a94 drivers/char/watchdog/at91_wdt.c Andrew Victor 2006-03-14 218 .release = at91_wdt_close,
853807fb500a94 drivers/char/watchdog/at91_wdt.c Andrew Victor 2006-03-14 @219 .write = at91_wdt_write,
853807fb500a94 drivers/char/watchdog/at91_wdt.c Andrew Victor 2006-03-14 220 };
853807fb500a94 drivers/char/watchdog/at91_wdt.c Andrew Victor 2006-03-14 221
:::::: The code at line 219 was first introduced by commit
:::::: 853807fb500a9442d88646b7be92bfa51334f8e8 [WATCHDOG] at91_wdt.c - Atmel AT91RM9200 watchdog driver
:::::: TO: Andrew Victor <andrew(a)sanpeople.com>
:::::: CC: Wim Van Sebroeck <wim(a)iguana.be>
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
1 year, 5 months
drivers/watchdog/at91rm9200_wdt.c:219:27: sparse: sparse: incorrect type in initializer (incompatible argument 2 (different address spaces))
by kernel test robot
Hi Masahiro,
First bad commit (maybe != root cause):
tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head: 7af08140979a6e7e12b78c93b8625c8d25b084e2
commit: ea29b20a828511de3348334e529a3d046a180416 init/Kconfig: make COMPILE_TEST depend on HAS_IOMEM
date: 5 weeks ago
config: s390-randconfig-s032-20210420 (attached as .config)
compiler: s390-linux-gcc (GCC) 9.3.0
reproduce:
wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
chmod +x ~/bin/make.cross
# apt-get install sparse
# sparse version: v0.6.3-330-g09ec74f6-dirty
# https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit...
git remote add linus https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
git fetch --no-tags linus master
git checkout ea29b20a828511de3348334e529a3d046a180416
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-9.3.0 make.cross C=1 CF='-fdiagnostic-prefix -D__CHECK_ENDIAN__' W=1 ARCH=s390
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
sparse warnings: (new ones prefixed by >>)
>> drivers/watchdog/at91rm9200_wdt.c:219:27: sparse: sparse: incorrect type in initializer (incompatible argument 2 (different address spaces)) @@ expected long ( *write )( ... ) @@ got long ( * )( ... ) @@
drivers/watchdog/at91rm9200_wdt.c:219:27: sparse: expected long ( *write )( ... )
drivers/watchdog/at91rm9200_wdt.c:219:27: sparse: got long ( * )( ... )
vim +219 drivers/watchdog/at91rm9200_wdt.c
853807fb500a94 drivers/char/watchdog/at91_wdt.c Andrew Victor 2006-03-14 211
62322d2554d2f9 drivers/char/watchdog/at91_wdt.c Arjan van de Ven 2006-07-03 212 static const struct file_operations at91wdt_fops = {
853807fb500a94 drivers/char/watchdog/at91_wdt.c Andrew Victor 2006-03-14 213 .owner = THIS_MODULE,
853807fb500a94 drivers/char/watchdog/at91_wdt.c Andrew Victor 2006-03-14 214 .llseek = no_llseek,
2760600da2a13d drivers/watchdog/at91rm9200_wdt.c Alan Cox 2008-05-19 215 .unlocked_ioctl = at91_wdt_ioctl,
b6dfb2477fb0bf drivers/watchdog/at91rm9200_wdt.c Arnd Bergmann 2019-06-03 216 .compat_ioctl = compat_ptr_ioctl,
853807fb500a94 drivers/char/watchdog/at91_wdt.c Andrew Victor 2006-03-14 217 .open = at91_wdt_open,
853807fb500a94 drivers/char/watchdog/at91_wdt.c Andrew Victor 2006-03-14 218 .release = at91_wdt_close,
853807fb500a94 drivers/char/watchdog/at91_wdt.c Andrew Victor 2006-03-14 @219 .write = at91_wdt_write,
853807fb500a94 drivers/char/watchdog/at91_wdt.c Andrew Victor 2006-03-14 220 };
853807fb500a94 drivers/char/watchdog/at91_wdt.c Andrew Victor 2006-03-14 221
:::::: The code at line 219 was first introduced by commit
:::::: 853807fb500a9442d88646b7be92bfa51334f8e8 [WATCHDOG] at91_wdt.c - Atmel AT91RM9200 watchdog driver
:::::: TO: Andrew Victor <andrew(a)sanpeople.com>
:::::: CC: Wim Van Sebroeck <wim(a)iguana.be>
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
1 year, 5 months
[lee-linaro:android-3.18-preview 729/1070] drivers/media/platform/fsl-viu.c:1624:2: error: implicit declaration of function 'v4l2_ctrl_handler_free'
by kernel test robot
tree: https://git.linaro.org/people/lee.jones/linux.git android-3.18-preview
head: 3438af5abc0267b4033cf648679b9c31fe5875e2
commit: f9c7f7610723dc835728840963a5299ef5767552 [729/1070] media: fsl-viu: fix error handling in viu_of_probe()
config: powerpc64-randconfig-r013-20210420 (attached as .config)
compiler: powerpc-linux-gcc (GCC) 5.5.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
git remote add lee-linaro https://git.linaro.org/people/lee.jones/linux.git
git fetch --no-tags lee-linaro android-3.18-preview
git checkout f9c7f7610723dc835728840963a5299ef5767552
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-5.5.0 make.cross W=1 ARCH=powerpc64
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
All errors (new ones prefixed by >>):
In file included from arch/powerpc/kernel/time.c:40:0:
include/linux/mm.h: In function 'is_vmalloc_addr':
include/linux/mm.h:382:14: error: comparison between signed and unsigned integer expressions [-Werror=sign-compare]
return addr >= VMALLOC_START && addr < VMALLOC_END;
^
In file included from arch/powerpc/include/asm/bug.h:127:0,
from include/linux/bug.h:4,
from include/linux/thread_info.h:11,
from include/asm-generic/preempt.h:4,
from arch/powerpc/include/generated/asm/preempt.h:1,
from include/linux/preempt.h:18,
from include/linux/spinlock.h:50,
from include/linux/seqlock.h:35,
from include/linux/time.h:5,
from include/uapi/linux/timex.h:56,
from include/linux/timex.h:56,
from include/linux/sched.h:19,
from arch/powerpc/kernel/time.c:36:
include/linux/scatterlist.h: In function 'sg_set_buf':
arch/powerpc/include/asm/page.h:127:32: error: comparison of unsigned expression >= 0 is always true [-Werror=type-limits]
#define pfn_valid(pfn) ((pfn) >= ARCH_PFN_OFFSET && (pfn) < max_mapnr)
^
include/asm-generic/bug.h:146:36: note: in definition of macro 'BUG_ON'
#define BUG_ON(condition) do { if (condition) BUG(); } while (0)
^
arch/powerpc/include/asm/page.h:132:32: note: in expansion of macro 'pfn_valid'
#define virt_addr_valid(kaddr) pfn_valid(__pa(kaddr) >> PAGE_SHIFT)
^
include/linux/scatterlist.h:115:10: note: in expansion of macro 'virt_addr_valid'
BUG_ON(!virt_addr_valid(buf));
^
In file included from include/linux/clockchips.h:27:0,
from arch/powerpc/kernel/time.c:45:
arch/powerpc/kernel/time.c: At top level:
include/linux/clocksource.h:112:75: error: signed and unsigned type in conditional expression [-Werror=sign-compare]
#define CLOCKSOURCE_MASK(bits) (cycle_t)((bits) < 64 ? ((1ULL<<(bits))-1) : -1)
^
arch/powerpc/kernel/time.c:84:18: note: in expansion of macro 'CLOCKSOURCE_MASK'
.mask = CLOCKSOURCE_MASK(64),
^
include/linux/clocksource.h:112:75: error: signed and unsigned type in conditional expression [-Werror=sign-compare]
#define CLOCKSOURCE_MASK(bits) (cycle_t)((bits) < 64 ? ((1ULL<<(bits))-1) : -1)
^
arch/powerpc/kernel/time.c:93:18: note: in expansion of macro 'CLOCKSOURCE_MASK'
.mask = CLOCKSOURCE_MASK(64),
^
arch/powerpc/kernel/time.c: In function '__delay':
arch/powerpc/kernel/time.c:398:17: error: comparison between signed and unsigned integer expressions [-Werror=sign-compare]
} while (diff < loops);
^
arch/powerpc/kernel/time.c: At top level:
arch/powerpc/kernel/time.c:572:6: error: no previous prototype for 'hdec_interrupt' [-Werror=missing-prototypes]
void hdec_interrupt(struct pt_regs *regs)
^
>> arch/powerpc/kernel/time.c:594:6: error: no previous prototype for 'arch_suspend_disable_irqs' [-Werror=missing-prototypes]
void arch_suspend_disable_irqs(void)
^
>> arch/powerpc/kernel/time.c:602:6: error: no previous prototype for 'arch_suspend_enable_irqs' [-Werror=missing-prototypes]
void arch_suspend_enable_irqs(void)
^
arch/powerpc/kernel/time.c:890:13: error: no previous prototype for 'time_init' [-Werror=missing-prototypes]
void __init time_init(void)
^
cc1: all warnings being treated as errors
--
>> arch/powerpc/lib/xor_vmx.c:57:6: error: no previous prototype for 'xor_altivec_2' [-Werror=missing-prototypes]
void xor_altivec_2(unsigned long bytes, unsigned long *v1_in,
^
>> arch/powerpc/lib/xor_vmx.c:81:6: error: no previous prototype for 'xor_altivec_3' [-Werror=missing-prototypes]
void xor_altivec_3(unsigned long bytes, unsigned long *v1_in,
^
>> arch/powerpc/lib/xor_vmx.c:109:6: error: no previous prototype for 'xor_altivec_4' [-Werror=missing-prototypes]
void xor_altivec_4(unsigned long bytes, unsigned long *v1_in,
^
>> arch/powerpc/lib/xor_vmx.c:142:6: error: no previous prototype for 'xor_altivec_5' [-Werror=missing-prototypes]
void xor_altivec_5(unsigned long bytes, unsigned long *v1_in,
^
cc1: all warnings being treated as errors
--
In file included from arch/powerpc/xmon/xmon.c:16:0:
include/linux/mm.h: In function 'is_vmalloc_addr':
include/linux/mm.h:382:14: error: comparison between signed and unsigned integer expressions [-Werror=sign-compare]
return addr >= VMALLOC_START && addr < VMALLOC_END;
^
In file included from arch/powerpc/include/asm/bug.h:127:0,
from include/linux/bug.h:4,
from include/linux/thread_info.h:11,
from include/asm-generic/preempt.h:4,
from arch/powerpc/include/generated/asm/preempt.h:1,
from include/linux/preempt.h:18,
from include/linux/spinlock.h:50,
from include/linux/seqlock.h:35,
from include/linux/time.h:5,
from include/uapi/linux/timex.h:56,
from include/linux/timex.h:56,
from include/linux/sched.h:19,
from arch/powerpc/xmon/xmon.c:14:
include/linux/scatterlist.h: In function 'sg_set_buf':
arch/powerpc/include/asm/page.h:127:32: error: comparison of unsigned expression >= 0 is always true [-Werror=type-limits]
#define pfn_valid(pfn) ((pfn) >= ARCH_PFN_OFFSET && (pfn) < max_mapnr)
^
include/asm-generic/bug.h:146:36: note: in definition of macro 'BUG_ON'
#define BUG_ON(condition) do { if (condition) BUG(); } while (0)
^
arch/powerpc/include/asm/page.h:132:32: note: in expansion of macro 'pfn_valid'
#define virt_addr_valid(kaddr) pfn_valid(__pa(kaddr) >> PAGE_SHIFT)
^
include/linux/scatterlist.h:115:10: note: in expansion of macro 'virt_addr_valid'
BUG_ON(!virt_addr_valid(buf));
^
arch/powerpc/xmon/xmon.c: In function 'memex':
>> arch/powerpc/xmon/xmon.c:1886:18: error: comparison between signed and unsigned integer expressions [-Werror=sign-compare]
for (i = 0; i < n; ++i)
^
arch/powerpc/xmon/xmon.c: In function 'scanhex':
arch/powerpc/xmon/xmon.c:2488:17: error: comparison between signed and unsigned integer expressions [-Werror=sign-compare]
for (i = 0; i < sizeof(regname) - 1; ++i) {
^
arch/powerpc/xmon/xmon.c: In function 'read_spr':
>> arch/powerpc/xmon/xmon.c:1572:16: error: variable 'ret' might be clobbered by 'longjmp' or 'vfork' [-Werror=clobbered]
unsigned long ret = -1UL;
^
cc1: all warnings being treated as errors
--
arch/powerpc/xmon/nonstdio.c: In function 'xmon_printf':
>> arch/powerpc/xmon/nonstdio.c:118:2: error: function might be possible candidate for 'gnu_printf' format attribute [-Werror=suggest-attribute=format]
n = vsnprintf(xmon_outbuf, sizeof(xmon_outbuf), format, args);
^
cc1: all warnings being treated as errors
--
In file included from include/linux/scatterlist.h:6:0,
from include/linux/dma-mapping.h:9,
from include/media/videobuf-dma-contig.h:16,
from drivers/media/platform/fsl-viu.c:31:
include/linux/mm.h: In function 'is_vmalloc_addr':
include/linux/mm.h:382:14: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
return addr >= VMALLOC_START && addr < VMALLOC_END;
^
In file included from arch/powerpc/include/asm/bug.h:127:0,
from include/linux/bug.h:4,
from include/linux/thread_info.h:11,
from include/asm-generic/preempt.h:4,
from arch/powerpc/include/generated/asm/preempt.h:1,
from include/linux/preempt.h:18,
from include/linux/spinlock.h:50,
from include/linux/seqlock.h:35,
from include/linux/time.h:5,
from include/linux/stat.h:18,
from include/linux/module.h:10,
from drivers/media/platform/fsl-viu.c:17:
include/linux/scatterlist.h: In function 'sg_set_buf':
arch/powerpc/include/asm/page.h:127:32: warning: comparison of unsigned expression >= 0 is always true [-Wtype-limits]
#define pfn_valid(pfn) ((pfn) >= ARCH_PFN_OFFSET && (pfn) < max_mapnr)
^
include/asm-generic/bug.h:146:36: note: in definition of macro 'BUG_ON'
#define BUG_ON(condition) do { if (condition) BUG(); } while (0)
^
arch/powerpc/include/asm/page.h:132:32: note: in expansion of macro 'pfn_valid'
#define virt_addr_valid(kaddr) pfn_valid(__pa(kaddr) >> PAGE_SHIFT)
^
include/linux/scatterlist.h:115:10: note: in expansion of macro 'virt_addr_valid'
BUG_ON(!virt_addr_valid(buf));
^
drivers/media/platform/fsl-viu.c: At top level:
drivers/media/platform/fsl-viu.c:272:17: warning: no previous prototype for 'format_by_fourcc' [-Wmissing-prototypes]
struct viu_fmt *format_by_fourcc(int fourcc)
^
drivers/media/platform/fsl-viu.c: In function 'format_by_fourcc':
drivers/media/platform/fsl-viu.c:276:16: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
for (i = 0; i < NUM_FORMATS; i++) {
^
drivers/media/platform/fsl-viu.c:277:30: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
if (formats[i].pixelformat == fourcc)
^
drivers/media/platform/fsl-viu.c: At top level:
drivers/media/platform/fsl-viu.c:285:6: warning: no previous prototype for 'viu_start_dma' [-Wmissing-prototypes]
void viu_start_dma(struct viu_dev *dev)
^
drivers/media/platform/fsl-viu.c:296:6: warning: no previous prototype for 'viu_stop_dma' [-Wmissing-prototypes]
void viu_stop_dma(struct viu_dev *dev)
^
drivers/media/platform/fsl-viu.c: In function 'buffer_prepare':
drivers/media/platform/fsl-viu.c:503:21: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
buf->vb.width != fh->width ||
^
drivers/media/platform/fsl-viu.c:504:21: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
buf->vb.height != fh->height ||
^
drivers/media/platform/fsl-viu.c: In function 'verify_preview':
drivers/media/platform/fsl-viu.c:730:26: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
field = (win->w.height > maxh/2)
^
drivers/media/platform/fsl-viu.c:746:19: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
if (win->w.width > maxw)
^
drivers/media/platform/fsl-viu.c:748:20: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
if (win->w.height > maxh)
^
drivers/media/platform/fsl-viu.c: At top level:
drivers/media/platform/fsl-viu.c:852:5: warning: no previous prototype for 'vidioc_g_fbuf' [-Wmissing-prototypes]
int vidioc_g_fbuf(struct file *file, void *priv, struct v4l2_framebuffer *arg)
^
drivers/media/platform/fsl-viu.c:863:5: warning: no previous prototype for 'vidioc_s_fbuf' [-Wmissing-prototypes]
int vidioc_s_fbuf(struct file *file, void *priv, const struct v4l2_framebuffer *arg)
^
drivers/media/platform/fsl-viu.c: In function 'vidioc_queryctrl':
drivers/media/platform/fsl-viu.c:1017:16: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
for (i = 0; i < ARRAY_SIZE(viu_qctrl); i++) {
^
drivers/media/platform/fsl-viu.c: In function 'vidioc_g_ctrl':
drivers/media/platform/fsl-viu.c:1031:16: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
for (i = 0; i < ARRAY_SIZE(viu_qctrl); i++) {
^
drivers/media/platform/fsl-viu.c: In function 'vidioc_s_ctrl':
drivers/media/platform/fsl-viu.c:1044:16: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
for (i = 0; i < ARRAY_SIZE(viu_qctrl); i++) {
^
drivers/media/platform/fsl-viu.c: In function 'viu_open':
drivers/media/platform/fsl-viu.c:1306:16: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
for (i = 0; i < ARRAY_SIZE(viu_qctrl); i++)
^
drivers/media/platform/fsl-viu.c: At top level:
drivers/media/platform/fsl-viu.c:1397:6: warning: no previous prototype for 'viu_reset' [-Wmissing-prototypes]
void viu_reset(struct viu_reg *reg)
^
drivers/media/platform/fsl-viu.c: In function 'viu_of_probe':
>> drivers/media/platform/fsl-viu.c:1624:2: error: implicit declaration of function 'v4l2_ctrl_handler_free' [-Werror=implicit-function-declaration]
v4l2_ctrl_handler_free(&viu_dev->hdl);
^
>> drivers/media/platform/fsl-viu.c:1624:33: error: 'struct viu_dev' has no member named 'hdl'
v4l2_ctrl_handler_free(&viu_dev->hdl);
^
drivers/media/platform/fsl-viu.c:1625:1: warning: label 'err_i2c' defined but not used [-Wunused-label]
err_i2c:
^
cc1: some warnings being treated as errors
vim +/v4l2_ctrl_handler_free +1624 drivers/media/platform/fsl-viu.c
1481
1482 static int viu_of_probe(struct platform_device *op)
1483 {
1484 struct viu_dev *viu_dev;
1485 struct video_device *vdev;
1486 struct resource r;
1487 struct viu_reg __iomem *viu_regs;
1488 struct i2c_adapter *ad;
1489 int ret, viu_irq;
1490 struct clk *clk;
1491
1492 ret = of_address_to_resource(op->dev.of_node, 0, &r);
1493 if (ret) {
1494 dev_err(&op->dev, "Can't parse device node resource\n");
1495 return -ENODEV;
1496 }
1497
1498 viu_irq = irq_of_parse_and_map(op->dev.of_node, 0);
1499 if (viu_irq == NO_IRQ) {
1500 dev_err(&op->dev, "Error while mapping the irq\n");
1501 return -EINVAL;
1502 }
1503
1504 /* request mem region */
1505 if (!devm_request_mem_region(&op->dev, r.start,
1506 sizeof(struct viu_reg), DRV_NAME)) {
1507 dev_err(&op->dev, "Error while requesting mem region\n");
1508 ret = -EBUSY;
1509 goto err_irq;
1510 }
1511
1512 /* remap registers */
1513 viu_regs = devm_ioremap(&op->dev, r.start, sizeof(struct viu_reg));
1514 if (!viu_regs) {
1515 dev_err(&op->dev, "Can't map register set\n");
1516 ret = -ENOMEM;
1517 goto err_irq;
1518 }
1519
1520 /* Prepare our private structure */
1521 viu_dev = devm_kzalloc(&op->dev, sizeof(struct viu_dev), GFP_ATOMIC);
1522 if (!viu_dev) {
1523 dev_err(&op->dev, "Can't allocate private structure\n");
1524 ret = -ENOMEM;
1525 goto err_irq;
1526 }
1527
1528 viu_dev->vr = viu_regs;
1529 viu_dev->irq = viu_irq;
1530 viu_dev->dev = &op->dev;
1531
1532 /* init video dma queues */
1533 INIT_LIST_HEAD(&viu_dev->vidq.active);
1534 INIT_LIST_HEAD(&viu_dev->vidq.queued);
1535
1536 snprintf(viu_dev->v4l2_dev.name,
1537 sizeof(viu_dev->v4l2_dev.name), "%s", "VIU");
1538 ret = v4l2_device_register(viu_dev->dev, &viu_dev->v4l2_dev);
1539 if (ret < 0) {
1540 dev_err(&op->dev, "v4l2_device_register() failed: %d\n", ret);
1541 goto err_irq;
1542 }
1543
1544 ad = i2c_get_adapter(0);
1545 if (!ad) {
1546 ret = -EFAULT;
1547 dev_err(&op->dev, "couldn't get i2c adapter\n");
1548 goto err_v4l2;
1549 }
1550
1551 viu_dev->decoder = v4l2_i2c_new_subdev(&viu_dev->v4l2_dev, ad,
1552 "saa7113", VIU_VIDEO_DECODER_ADDR, NULL);
1553
1554 viu_dev->vidq.timeout.function = viu_vid_timeout;
1555 viu_dev->vidq.timeout.data = (unsigned long)viu_dev;
1556 init_timer(&viu_dev->vidq.timeout);
1557 viu_dev->std = V4L2_STD_NTSC_M;
1558 viu_dev->first = 1;
1559
1560 /* Allocate memory for video device */
1561 vdev = video_device_alloc();
1562 if (vdev == NULL) {
1563 ret = -ENOMEM;
1564 goto err_hdl;
1565 }
1566
1567 memcpy(vdev, &viu_template, sizeof(viu_template));
1568
1569 vdev->v4l2_dev = &viu_dev->v4l2_dev;
1570
1571 viu_dev->vdev = vdev;
1572
1573 /* initialize locks */
1574 mutex_init(&viu_dev->lock);
1575 viu_dev->vdev->lock = &viu_dev->lock;
1576 spin_lock_init(&viu_dev->slock);
1577
1578 video_set_drvdata(viu_dev->vdev, viu_dev);
1579
1580 mutex_lock(&viu_dev->lock);
1581
1582 ret = video_register_device(viu_dev->vdev, VFL_TYPE_GRABBER, -1);
1583 if (ret < 0) {
1584 video_device_release(viu_dev->vdev);
1585 goto err_unlock;
1586 }
1587
1588 /* enable VIU clock */
1589 clk = devm_clk_get(&op->dev, "ipg");
1590 if (IS_ERR(clk)) {
1591 dev_err(&op->dev, "failed to lookup the clock!\n");
1592 ret = PTR_ERR(clk);
1593 goto err_vdev;
1594 }
1595 ret = clk_prepare_enable(clk);
1596 if (ret) {
1597 dev_err(&op->dev, "failed to enable the clock!\n");
1598 goto err_vdev;
1599 }
1600 viu_dev->clk = clk;
1601
1602 /* reset VIU module */
1603 viu_reset(viu_dev->vr);
1604
1605 /* install interrupt handler */
1606 if (request_irq(viu_dev->irq, viu_intr, 0, "viu", (void *)viu_dev)) {
1607 dev_err(&op->dev, "Request VIU IRQ failed.\n");
1608 ret = -ENODEV;
1609 goto err_clk;
1610 }
1611
1612 mutex_unlock(&viu_dev->lock);
1613
1614 dev_info(&op->dev, "Freescale VIU Video Capture Board\n");
1615 return ret;
1616
1617 err_clk:
1618 clk_disable_unprepare(viu_dev->clk);
1619 err_vdev:
1620 video_unregister_device(viu_dev->vdev);
1621 err_unlock:
1622 mutex_unlock(&viu_dev->lock);
1623 err_hdl:
> 1624 v4l2_ctrl_handler_free(&viu_dev->hdl);
1625 err_i2c:
1626 i2c_put_adapter(ad);
1627 err_v4l2:
1628 v4l2_device_unregister(&viu_dev->v4l2_dev);
1629 err_irq:
1630 irq_dispose_mapping(viu_irq);
1631 return ret;
1632 }
1633
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
1 year, 5 months
drivers/watchdog/at91rm9200_wdt.c:219:27: sparse: sparse: incorrect type in initializer (incompatible argument 2 (different address spaces))
by kernel test robot
Hi Masahiro,
First bad commit (maybe != root cause):
tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head: 7af08140979a6e7e12b78c93b8625c8d25b084e2
commit: ea29b20a828511de3348334e529a3d046a180416 init/Kconfig: make COMPILE_TEST depend on HAS_IOMEM
date: 5 weeks ago
config: s390-randconfig-s032-20210420 (attached as .config)
compiler: s390-linux-gcc (GCC) 9.3.0
reproduce:
wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
chmod +x ~/bin/make.cross
# apt-get install sparse
# sparse version: v0.6.3-341-g8af24329-dirty
# https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit...
git remote add linus https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
git fetch --no-tags linus master
git checkout ea29b20a828511de3348334e529a3d046a180416
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-9.3.0 make.cross C=1 CF='-fdiagnostic-prefix -D__CHECK_ENDIAN__' W=1 ARCH=s390
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
sparse warnings: (new ones prefixed by >>)
>> drivers/watchdog/at91rm9200_wdt.c:219:27: sparse: sparse: incorrect type in initializer (incompatible argument 2 (different address spaces)) @@ expected long ( *write )( ... ) @@ got long ( * )( ... ) @@
drivers/watchdog/at91rm9200_wdt.c:219:27: sparse: expected long ( *write )( ... )
drivers/watchdog/at91rm9200_wdt.c:219:27: sparse: got long ( * )( ... )
vim +219 drivers/watchdog/at91rm9200_wdt.c
853807fb500a94 drivers/char/watchdog/at91_wdt.c Andrew Victor 2006-03-14 211
62322d2554d2f9 drivers/char/watchdog/at91_wdt.c Arjan van de Ven 2006-07-03 212 static const struct file_operations at91wdt_fops = {
853807fb500a94 drivers/char/watchdog/at91_wdt.c Andrew Victor 2006-03-14 213 .owner = THIS_MODULE,
853807fb500a94 drivers/char/watchdog/at91_wdt.c Andrew Victor 2006-03-14 214 .llseek = no_llseek,
2760600da2a13d drivers/watchdog/at91rm9200_wdt.c Alan Cox 2008-05-19 215 .unlocked_ioctl = at91_wdt_ioctl,
b6dfb2477fb0bf drivers/watchdog/at91rm9200_wdt.c Arnd Bergmann 2019-06-03 216 .compat_ioctl = compat_ptr_ioctl,
853807fb500a94 drivers/char/watchdog/at91_wdt.c Andrew Victor 2006-03-14 217 .open = at91_wdt_open,
853807fb500a94 drivers/char/watchdog/at91_wdt.c Andrew Victor 2006-03-14 218 .release = at91_wdt_close,
853807fb500a94 drivers/char/watchdog/at91_wdt.c Andrew Victor 2006-03-14 @219 .write = at91_wdt_write,
853807fb500a94 drivers/char/watchdog/at91_wdt.c Andrew Victor 2006-03-14 220 };
853807fb500a94 drivers/char/watchdog/at91_wdt.c Andrew Victor 2006-03-14 221
:::::: The code at line 219 was first introduced by commit
:::::: 853807fb500a9442d88646b7be92bfa51334f8e8 [WATCHDOG] at91_wdt.c - Atmel AT91RM9200 watchdog driver
:::::: TO: Andrew Victor <andrew(a)sanpeople.com>
:::::: CC: Wim Van Sebroeck <wim(a)iguana.be>
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
1 year, 5 months
kernel/time/hrtimer.c:1764:20: warning: unused function '__hrtimer_peek_ahead_timers'
by kernel test robot
tree: https://github.com/0day-ci/linux/commits/UPDATE-20210417-000536/Marcelo-T...
head: 69994d721a37e41ea46e52c6642883e27c15d9d8
commit: 69994d721a37e41ea46e52c6642883e27c15d9d8 hrtimer: avoid retrigger_next_event IPI
date: 4 days ago
config: mips-randconfig-r023-20210420 (attached as .config)
compiler: clang version 13.0.0 (https://github.com/llvm/llvm-project ca8eef7e3da8f750d7c7aa004fe426d1d34787ea)
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 mips cross compiling tool for clang build
# apt-get install binutils-mips-linux-gnu
# https://github.com/0day-ci/linux/commit/69994d721a37e41ea46e52c6642883e27...
git remote add linux-review https://github.com/0day-ci/linux
git fetch --no-tags linux-review UPDATE-20210417-000536/Marcelo-Tosatti/hrtimer-avoid-retrigger_next_event-IPI/20210407-233005
git checkout 69994d721a37e41ea46e52c6642883e27c15d9d8
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross W=1 ARCH=mips
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
All warnings (new ones prefixed by >>):
kernel/time/hrtimer.c:120:21: warning: initializer overrides prior initialization of this subobject
= HRTIMER_BASE_REALTIME,
^~~~~~~~~~~~~~~~~~~~~
kernel/time/hrtimer.c:118:27: note: previous initialization is here
[0 ... MAX_CLOCKS - 1] = HRTIMER_MAX_CLOCK_BASES,
^~~~~~~~~~~~~~~~~~~~~~~
kernel/time/hrtimer.c:121:22: warning: initializer overrides prior initialization of this subobject
= HRTIMER_BASE_MONOTONIC,
^~~~~~~~~~~~~~~~~~~~~~
kernel/time/hrtimer.c:118:27: note: previous initialization is here
[0 ... MAX_CLOCKS - 1] = HRTIMER_MAX_CLOCK_BASES,
^~~~~~~~~~~~~~~~~~~~~~~
kernel/time/hrtimer.c:122:21: warning: initializer overrides prior initialization of this subobject
= HRTIMER_BASE_BOOTTIME,
^~~~~~~~~~~~~~~~~~~~~
kernel/time/hrtimer.c:118:27: note: previous initialization is here
[0 ... MAX_CLOCKS - 1] = HRTIMER_MAX_CLOCK_BASES,
^~~~~~~~~~~~~~~~~~~~~~~
kernel/time/hrtimer.c:123:17: warning: initializer overrides prior initialization of this subobject
= HRTIMER_BASE_TAI,
^~~~~~~~~~~~~~~~
kernel/time/hrtimer.c:118:27: note: previous initialization is here
[0 ... MAX_CLOCKS - 1] = HRTIMER_MAX_CLOCK_BASES,
^~~~~~~~~~~~~~~~~~~~~~~
kernel/time/hrtimer.c:147:20: warning: unused function 'is_migration_base'
static inline bool is_migration_base(struct hrtimer_clock_base
^
>> kernel/time/hrtimer.c:1764:20: warning: unused function '__hrtimer_peek_ahead_timers'
static inline void __hrtimer_peek_ahead_timers(void)
^
fatal error: error in backend: Nested variants found in inline asm string: ' .set push
.set mips64r2
.if ( 0x00 ) != -1)) 0x00 ) != -1)) : ($( static struct ftrace_branch_data __attribute__((__aligned__(4))) __attribute__((__section__("_ftrace_branch"))) __if_trace = $( .func = __func__, .file = "arch/mips/include/asm/bitops.h", .line = 105, $); 0x00 ) != -1)) : $))) ) && ( 0 ); .set push; .set mips64r2; .rept 1; sync 0x00; .endr; .set pop; .else; ; .endif
1: ll $0, $1
or $0, $2
sc $0, $1
beqz $0, 1b
.set pop
'
clang-13: error: clang frontend command failed with exit code 70 (use -v to see invocation)
clang version 13.0.0 (git://gitmirror/llvm_project ca8eef7e3da8f750d7c7aa004fe426d1d34787ea)
Target: mipsel-unknown-linux-gnu
Thread model: posix
InstalledDir: /opt/cross/clang-ca8eef7e3d/bin
clang-13: note: diagnostic msg:
Makefile arch include kernel mm scripts source usr
vim +/__hrtimer_peek_ahead_timers +1764 kernel/time/hrtimer.c
54cdfdb47f73b5 kernel/hrtimer.c Thomas Gleixner 2007-02-16 1762
016da20148a169 kernel/time/hrtimer.c Stephen Boyd 2017-03-16 1763 /* called with interrupts disabled */
c6eb3f70d44828 kernel/time/hrtimer.c Thomas Gleixner 2015-04-14 @1764 static inline void __hrtimer_peek_ahead_timers(void)
8bdec955b0da2f kernel/hrtimer.c Thomas Gleixner 2009-01-05 1765 {
8bdec955b0da2f kernel/hrtimer.c Thomas Gleixner 2009-01-05 1766 struct tick_device *td;
8bdec955b0da2f kernel/hrtimer.c Thomas Gleixner 2009-01-05 1767
8bdec955b0da2f kernel/hrtimer.c Thomas Gleixner 2009-01-05 1768 if (!hrtimer_hres_active())
8bdec955b0da2f kernel/hrtimer.c Thomas Gleixner 2009-01-05 1769 return;
8bdec955b0da2f kernel/hrtimer.c Thomas Gleixner 2009-01-05 1770
22127e93c587af kernel/time/hrtimer.c Christoph Lameter 2014-08-17 1771 td = this_cpu_ptr(&tick_cpu_device);
8bdec955b0da2f kernel/hrtimer.c Thomas Gleixner 2009-01-05 1772 if (td && td->evtdev)
8bdec955b0da2f kernel/hrtimer.c Thomas Gleixner 2009-01-05 1773 hrtimer_interrupt(td->evtdev);
8bdec955b0da2f kernel/hrtimer.c Thomas Gleixner 2009-01-05 1774 }
8bdec955b0da2f kernel/hrtimer.c Thomas Gleixner 2009-01-05 1775
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
1 year, 5 months