* drivers/media/pci/sta2x11/sta2x11_vip.c:1053:6: warning: cast from 'irqreturn_t (*)(int, struct sta2x11_vip *)' (aka 'enum irqreturn (*)(int, struct sta2x11_vip *)') to 'irq_handler_t' (aka 'enum irqreturn (*)(int, void *)') converts to incompatible funct...
@ 2023-07-24 13:25 kernel test robot
0 siblings, 0 replies; 4+ messages in thread
From: kernel test robot @ 2023-07-24 13:25 UTC (permalink / raw)
To: Arnd Bergmann
Cc: llvm, oe-kbuild-all, linux-kernel, Mauro Carvalho Chehab,
linux-media, Hans Verkuil
Hi Arnd,
First bad commit (maybe != root cause):
tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head: 6eaae198076080886b9e7d57f4ae06fa782f90ef
commit: a157802359f7451ed8046b2b6dbaca187797e062 media: sta2x11: remove VIRT_TO_BUS dependency
date: 1 year, 1 month ago
config: s390-randconfig-r014-20230724 (https://download.01.org/0day-ci/archive/20230724/202307242115.wpdj3G3W-lkp@intel.com/config)
compiler: clang version 17.0.0 (https://github.com/llvm/llvm-project.git 4a5ac14ee968ff0ad5d2cc1ffa0299048db4c88a)
reproduce: (https://download.01.org/0day-ci/archive/20230724/202307242115.wpdj3G3W-lkp@intel.com/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@intel.com>
| Closes: https://lore.kernel.org/oe-kbuild-all/202307242115.wpdj3G3W-lkp@intel.com/
All warnings (new ones prefixed by >>):
In file included from drivers/media/pci/sta2x11/sta2x11_vip.c:18:
In file included from include/linux/pci.h:39:
In file included from include/linux/io.h:13:
In file included from arch/s390/include/asm/io.h:75:
include/asm-generic/io.h:464:31: warning: performing pointer arithmetic on a null pointer has undefined behavior [-Wnull-pointer-arithmetic]
464 | 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]
477 | val = __le16_to_cpu((__le16 __force)__raw_readw(PCI_IOBASE + addr));
| ~~~~~~~~~~ ^
include/uapi/linux/byteorder/big_endian.h:37:59: note: expanded from macro '__le16_to_cpu'
37 | #define __le16_to_cpu(x) __swab16((__force __u16)(__le16)(x))
| ^
include/uapi/linux/swab.h:102:54: note: expanded from macro '__swab16'
102 | #define __swab16(x) (__u16)__builtin_bswap16((__u16)(x))
| ^
In file included from drivers/media/pci/sta2x11/sta2x11_vip.c:18:
In file included from include/linux/pci.h:39:
In file included from include/linux/io.h:13:
In file included from arch/s390/include/asm/io.h:75:
include/asm-generic/io.h:490:61: warning: performing pointer arithmetic on a null pointer has undefined behavior [-Wnull-pointer-arithmetic]
490 | val = __le32_to_cpu((__le32 __force)__raw_readl(PCI_IOBASE + addr));
| ~~~~~~~~~~ ^
include/uapi/linux/byteorder/big_endian.h:35:59: note: expanded from macro '__le32_to_cpu'
35 | #define __le32_to_cpu(x) __swab32((__force __u32)(__le32)(x))
| ^
include/uapi/linux/swab.h:115:54: note: expanded from macro '__swab32'
115 | #define __swab32(x) (__u32)__builtin_bswap32((__u32)(x))
| ^
In file included from drivers/media/pci/sta2x11/sta2x11_vip.c:18:
In file included from include/linux/pci.h:39:
In file included from include/linux/io.h:13:
In file included from arch/s390/include/asm/io.h:75:
include/asm-generic/io.h:501:33: warning: performing pointer arithmetic on a null pointer has undefined behavior [-Wnull-pointer-arithmetic]
501 | __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]
511 | __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]
521 | __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]
609 | 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]
617 | 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]
625 | 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]
634 | 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]
643 | 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]
652 | writesl(PCI_IOBASE + addr, buffer, count);
| ~~~~~~~~~~ ^
>> drivers/media/pci/sta2x11/sta2x11_vip.c:1053:6: warning: cast from 'irqreturn_t (*)(int, struct sta2x11_vip *)' (aka 'enum irqreturn (*)(int, struct sta2x11_vip *)') to 'irq_handler_t' (aka 'enum irqreturn (*)(int, void *)') converts to incompatible function type [-Wcast-function-type-strict]
1053 | (irq_handler_t) vip_irq,
| ^~~~~~~~~~~~~~~~~~~~~~~
13 warnings generated.
vim +1053 drivers/media/pci/sta2x11/sta2x11_vip.c
efeb98b4e2b2ce drivers/media/video/sta2x11_vip.c Federico Vaga 2012-04-12 936
efeb98b4e2b2ce drivers/media/video/sta2x11_vip.c Federico Vaga 2012-04-12 937 /**
efeb98b4e2b2ce drivers/media/video/sta2x11_vip.c Federico Vaga 2012-04-12 938 * sta2x11_vip_init_one - init one instance of video device
efeb98b4e2b2ce drivers/media/video/sta2x11_vip.c Federico Vaga 2012-04-12 939 * @pdev: PCI device
efeb98b4e2b2ce drivers/media/video/sta2x11_vip.c Federico Vaga 2012-04-12 940 * @ent: (not used)
efeb98b4e2b2ce drivers/media/video/sta2x11_vip.c Federico Vaga 2012-04-12 941 *
efeb98b4e2b2ce drivers/media/video/sta2x11_vip.c Federico Vaga 2012-04-12 942 * allocate reset pins for DAC.
efeb98b4e2b2ce drivers/media/video/sta2x11_vip.c Federico Vaga 2012-04-12 943 * Reset video DAC, this is done via reset line.
efeb98b4e2b2ce drivers/media/video/sta2x11_vip.c Federico Vaga 2012-04-12 944 * allocate memory for managing device
efeb98b4e2b2ce drivers/media/video/sta2x11_vip.c Federico Vaga 2012-04-12 945 * request interrupt
efeb98b4e2b2ce drivers/media/video/sta2x11_vip.c Federico Vaga 2012-04-12 946 * map IO region
efeb98b4e2b2ce drivers/media/video/sta2x11_vip.c Federico Vaga 2012-04-12 947 * register device
efeb98b4e2b2ce drivers/media/video/sta2x11_vip.c Federico Vaga 2012-04-12 948 * find and initialize video DAC
efeb98b4e2b2ce drivers/media/video/sta2x11_vip.c Federico Vaga 2012-04-12 949 *
efeb98b4e2b2ce drivers/media/video/sta2x11_vip.c Federico Vaga 2012-04-12 950 * return value: 0, no error
efeb98b4e2b2ce drivers/media/video/sta2x11_vip.c Federico Vaga 2012-04-12 951 *
efeb98b4e2b2ce drivers/media/video/sta2x11_vip.c Federico Vaga 2012-04-12 952 * -ENOMEM, no memory
efeb98b4e2b2ce drivers/media/video/sta2x11_vip.c Federico Vaga 2012-04-12 953 *
efeb98b4e2b2ce drivers/media/video/sta2x11_vip.c Federico Vaga 2012-04-12 954 * -ENODEV, device could not be detected or registered
efeb98b4e2b2ce drivers/media/video/sta2x11_vip.c Federico Vaga 2012-04-12 955 */
4c62e9764ab403 drivers/media/pci/sta2x11/sta2x11_vip.c Greg Kroah-Hartman 2012-12-21 956 static int sta2x11_vip_init_one(struct pci_dev *pdev,
efeb98b4e2b2ce drivers/media/video/sta2x11_vip.c Federico Vaga 2012-04-12 957 const struct pci_device_id *ent)
efeb98b4e2b2ce drivers/media/video/sta2x11_vip.c Federico Vaga 2012-04-12 958 {
efeb98b4e2b2ce drivers/media/video/sta2x11_vip.c Federico Vaga 2012-04-12 959 int ret;
efeb98b4e2b2ce drivers/media/video/sta2x11_vip.c Federico Vaga 2012-04-12 960 struct sta2x11_vip *vip;
efeb98b4e2b2ce drivers/media/video/sta2x11_vip.c Federico Vaga 2012-04-12 961 struct vip_config *config;
efeb98b4e2b2ce drivers/media/video/sta2x11_vip.c Federico Vaga 2012-04-12 962
8dc97ea20c2bdf drivers/media/pci/sta2x11/sta2x11_vip.c Federico Vaga 2013-02-05 963 /* Check if hardware support 26-bit DMA */
8dc97ea20c2bdf drivers/media/pci/sta2x11/sta2x11_vip.c Federico Vaga 2013-02-05 964 if (dma_set_mask(&pdev->dev, DMA_BIT_MASK(26))) {
8dc97ea20c2bdf drivers/media/pci/sta2x11/sta2x11_vip.c Federico Vaga 2013-02-05 965 dev_err(&pdev->dev, "26-bit DMA addressing not available\n");
8dc97ea20c2bdf drivers/media/pci/sta2x11/sta2x11_vip.c Federico Vaga 2013-02-05 966 return -EINVAL;
8dc97ea20c2bdf drivers/media/pci/sta2x11/sta2x11_vip.c Federico Vaga 2013-02-05 967 }
8dc97ea20c2bdf drivers/media/pci/sta2x11/sta2x11_vip.c Federico Vaga 2013-02-05 968 /* Enable PCI */
efeb98b4e2b2ce drivers/media/video/sta2x11_vip.c Federico Vaga 2012-04-12 969 ret = pci_enable_device(pdev);
efeb98b4e2b2ce drivers/media/video/sta2x11_vip.c Federico Vaga 2012-04-12 970 if (ret)
efeb98b4e2b2ce drivers/media/video/sta2x11_vip.c Federico Vaga 2012-04-12 971 return ret;
efeb98b4e2b2ce drivers/media/video/sta2x11_vip.c Federico Vaga 2012-04-12 972
8dc97ea20c2bdf drivers/media/pci/sta2x11/sta2x11_vip.c Federico Vaga 2013-02-05 973 /* Get VIP platform data */
efeb98b4e2b2ce drivers/media/video/sta2x11_vip.c Federico Vaga 2012-04-12 974 config = dev_get_platdata(&pdev->dev);
efeb98b4e2b2ce drivers/media/video/sta2x11_vip.c Federico Vaga 2012-04-12 975 if (!config) {
efeb98b4e2b2ce drivers/media/video/sta2x11_vip.c Federico Vaga 2012-04-12 976 dev_info(&pdev->dev, "VIP slot disabled\n");
efeb98b4e2b2ce drivers/media/video/sta2x11_vip.c Federico Vaga 2012-04-12 977 ret = -EINVAL;
efeb98b4e2b2ce drivers/media/video/sta2x11_vip.c Federico Vaga 2012-04-12 978 goto disable;
efeb98b4e2b2ce drivers/media/video/sta2x11_vip.c Federico Vaga 2012-04-12 979 }
efeb98b4e2b2ce drivers/media/video/sta2x11_vip.c Federico Vaga 2012-04-12 980
8dc97ea20c2bdf drivers/media/pci/sta2x11/sta2x11_vip.c Federico Vaga 2013-02-05 981 /* Power configuration */
efeb98b4e2b2ce drivers/media/video/sta2x11_vip.c Federico Vaga 2012-04-12 982 ret = vip_gpio_reserve(&pdev->dev, config->pwr_pin, 0,
efeb98b4e2b2ce drivers/media/video/sta2x11_vip.c Federico Vaga 2012-04-12 983 config->pwr_name);
efeb98b4e2b2ce drivers/media/video/sta2x11_vip.c Federico Vaga 2012-04-12 984 if (ret)
efeb98b4e2b2ce drivers/media/video/sta2x11_vip.c Federico Vaga 2012-04-12 985 goto disable;
efeb98b4e2b2ce drivers/media/video/sta2x11_vip.c Federico Vaga 2012-04-12 986
efeb98b4e2b2ce drivers/media/video/sta2x11_vip.c Federico Vaga 2012-04-12 987 ret = vip_gpio_reserve(&pdev->dev, config->reset_pin, 0,
efeb98b4e2b2ce drivers/media/video/sta2x11_vip.c Federico Vaga 2012-04-12 988 config->reset_name);
efeb98b4e2b2ce drivers/media/video/sta2x11_vip.c Federico Vaga 2012-04-12 989 if (ret) {
efeb98b4e2b2ce drivers/media/video/sta2x11_vip.c Federico Vaga 2012-04-12 990 vip_gpio_release(&pdev->dev, config->pwr_pin,
efeb98b4e2b2ce drivers/media/video/sta2x11_vip.c Federico Vaga 2012-04-12 991 config->pwr_name);
efeb98b4e2b2ce drivers/media/video/sta2x11_vip.c Federico Vaga 2012-04-12 992 goto disable;
efeb98b4e2b2ce drivers/media/video/sta2x11_vip.c Federico Vaga 2012-04-12 993 }
0bade8b5439520 drivers/media/pci/sta2x11/sta2x11_vip.c Arvind Yadav 2018-04-27 994
0bade8b5439520 drivers/media/pci/sta2x11/sta2x11_vip.c Arvind Yadav 2018-04-27 995 if (gpio_is_valid(config->pwr_pin)) {
efeb98b4e2b2ce drivers/media/video/sta2x11_vip.c Federico Vaga 2012-04-12 996 /* Datasheet says 5ms between PWR and RST */
efeb98b4e2b2ce drivers/media/video/sta2x11_vip.c Federico Vaga 2012-04-12 997 usleep_range(5000, 25000);
0bade8b5439520 drivers/media/pci/sta2x11/sta2x11_vip.c Arvind Yadav 2018-04-27 998 gpio_direction_output(config->pwr_pin, 1);
efeb98b4e2b2ce drivers/media/video/sta2x11_vip.c Federico Vaga 2012-04-12 999 }
efeb98b4e2b2ce drivers/media/video/sta2x11_vip.c Federico Vaga 2012-04-12 1000
0bade8b5439520 drivers/media/pci/sta2x11/sta2x11_vip.c Arvind Yadav 2018-04-27 1001 if (gpio_is_valid(config->reset_pin)) {
efeb98b4e2b2ce drivers/media/video/sta2x11_vip.c Federico Vaga 2012-04-12 1002 /* Datasheet says 5ms between PWR and RST */
efeb98b4e2b2ce drivers/media/video/sta2x11_vip.c Federico Vaga 2012-04-12 1003 usleep_range(5000, 25000);
0bade8b5439520 drivers/media/pci/sta2x11/sta2x11_vip.c Arvind Yadav 2018-04-27 1004 gpio_direction_output(config->reset_pin, 1);
efeb98b4e2b2ce drivers/media/video/sta2x11_vip.c Federico Vaga 2012-04-12 1005 }
efeb98b4e2b2ce drivers/media/video/sta2x11_vip.c Federico Vaga 2012-04-12 1006 usleep_range(5000, 25000);
efeb98b4e2b2ce drivers/media/video/sta2x11_vip.c Federico Vaga 2012-04-12 1007
8dc97ea20c2bdf drivers/media/pci/sta2x11/sta2x11_vip.c Federico Vaga 2013-02-05 1008 /* Allocate a new VIP instance */
efeb98b4e2b2ce drivers/media/video/sta2x11_vip.c Federico Vaga 2012-04-12 1009 vip = kzalloc(sizeof(struct sta2x11_vip), GFP_KERNEL);
efeb98b4e2b2ce drivers/media/video/sta2x11_vip.c Federico Vaga 2012-04-12 1010 if (!vip) {
efeb98b4e2b2ce drivers/media/video/sta2x11_vip.c Federico Vaga 2012-04-12 1011 ret = -ENOMEM;
efeb98b4e2b2ce drivers/media/video/sta2x11_vip.c Federico Vaga 2012-04-12 1012 goto release_gpios;
efeb98b4e2b2ce drivers/media/video/sta2x11_vip.c Federico Vaga 2012-04-12 1013 }
efeb98b4e2b2ce drivers/media/video/sta2x11_vip.c Federico Vaga 2012-04-12 1014 vip->pdev = pdev;
efeb98b4e2b2ce drivers/media/video/sta2x11_vip.c Federico Vaga 2012-04-12 1015 vip->std = V4L2_STD_PAL;
efeb98b4e2b2ce drivers/media/video/sta2x11_vip.c Federico Vaga 2012-04-12 1016 vip->format = formats_50[0];
efeb98b4e2b2ce drivers/media/video/sta2x11_vip.c Federico Vaga 2012-04-12 1017 vip->config = config;
cd63c0288fd760 drivers/media/pci/sta2x11/sta2x11_vip.c Ezequiel Garcia 2018-06-15 1018 mutex_init(&vip->v4l_lock);
efeb98b4e2b2ce drivers/media/video/sta2x11_vip.c Federico Vaga 2012-04-12 1019
8dc97ea20c2bdf drivers/media/pci/sta2x11/sta2x11_vip.c Federico Vaga 2013-02-05 1020 ret = sta2x11_vip_init_controls(vip);
8dc97ea20c2bdf drivers/media/pci/sta2x11/sta2x11_vip.c Federico Vaga 2013-02-05 1021 if (ret)
8dc97ea20c2bdf drivers/media/pci/sta2x11/sta2x11_vip.c Federico Vaga 2013-02-05 1022 goto free_mem;
d017650b40b4cb drivers/media/pci/sta2x11/sta2x11_vip.c Wei Yongjun 2013-05-13 1023 ret = v4l2_device_register(&pdev->dev, &vip->v4l2_dev);
d017650b40b4cb drivers/media/pci/sta2x11/sta2x11_vip.c Wei Yongjun 2013-05-13 1024 if (ret)
efeb98b4e2b2ce drivers/media/video/sta2x11_vip.c Federico Vaga 2012-04-12 1025 goto free_mem;
efeb98b4e2b2ce drivers/media/video/sta2x11_vip.c Federico Vaga 2012-04-12 1026
efeb98b4e2b2ce drivers/media/video/sta2x11_vip.c Federico Vaga 2012-04-12 1027 dev_dbg(&pdev->dev, "BAR #0 at 0x%lx 0x%lx irq %d\n",
efeb98b4e2b2ce drivers/media/video/sta2x11_vip.c Federico Vaga 2012-04-12 1028 (unsigned long)pci_resource_start(pdev, 0),
efeb98b4e2b2ce drivers/media/video/sta2x11_vip.c Federico Vaga 2012-04-12 1029 (unsigned long)pci_resource_len(pdev, 0), pdev->irq);
efeb98b4e2b2ce drivers/media/video/sta2x11_vip.c Federico Vaga 2012-04-12 1030
efeb98b4e2b2ce drivers/media/video/sta2x11_vip.c Federico Vaga 2012-04-12 1031 pci_set_master(pdev);
efeb98b4e2b2ce drivers/media/video/sta2x11_vip.c Federico Vaga 2012-04-12 1032
8dc97ea20c2bdf drivers/media/pci/sta2x11/sta2x11_vip.c Federico Vaga 2013-02-05 1033 ret = pci_request_regions(pdev, KBUILD_MODNAME);
efeb98b4e2b2ce drivers/media/video/sta2x11_vip.c Federico Vaga 2012-04-12 1034 if (ret)
efeb98b4e2b2ce drivers/media/video/sta2x11_vip.c Federico Vaga 2012-04-12 1035 goto unreg;
efeb98b4e2b2ce drivers/media/video/sta2x11_vip.c Federico Vaga 2012-04-12 1036
efeb98b4e2b2ce drivers/media/video/sta2x11_vip.c Federico Vaga 2012-04-12 1037 vip->iomem = pci_iomap(pdev, 0, 0x100);
efeb98b4e2b2ce drivers/media/video/sta2x11_vip.c Federico Vaga 2012-04-12 1038 if (!vip->iomem) {
8dc97ea20c2bdf drivers/media/pci/sta2x11/sta2x11_vip.c Federico Vaga 2013-02-05 1039 ret = -ENOMEM;
efeb98b4e2b2ce drivers/media/video/sta2x11_vip.c Federico Vaga 2012-04-12 1040 goto release;
efeb98b4e2b2ce drivers/media/video/sta2x11_vip.c Federico Vaga 2012-04-12 1041 }
efeb98b4e2b2ce drivers/media/video/sta2x11_vip.c Federico Vaga 2012-04-12 1042
efeb98b4e2b2ce drivers/media/video/sta2x11_vip.c Federico Vaga 2012-04-12 1043 pci_enable_msi(pdev);
efeb98b4e2b2ce drivers/media/video/sta2x11_vip.c Federico Vaga 2012-04-12 1044
8dc97ea20c2bdf drivers/media/pci/sta2x11/sta2x11_vip.c Federico Vaga 2013-02-05 1045 /* Initialize buffer */
8dc97ea20c2bdf drivers/media/pci/sta2x11/sta2x11_vip.c Federico Vaga 2013-02-05 1046 ret = sta2x11_vip_init_buffer(vip);
8dc97ea20c2bdf drivers/media/pci/sta2x11/sta2x11_vip.c Federico Vaga 2013-02-05 1047 if (ret)
8dc97ea20c2bdf drivers/media/pci/sta2x11/sta2x11_vip.c Federico Vaga 2013-02-05 1048 goto unmap;
8dc97ea20c2bdf drivers/media/pci/sta2x11/sta2x11_vip.c Federico Vaga 2013-02-05 1049
efeb98b4e2b2ce drivers/media/video/sta2x11_vip.c Federico Vaga 2012-04-12 1050 spin_lock_init(&vip->slock);
efeb98b4e2b2ce drivers/media/video/sta2x11_vip.c Federico Vaga 2012-04-12 1051
efeb98b4e2b2ce drivers/media/video/sta2x11_vip.c Federico Vaga 2012-04-12 1052 ret = request_irq(pdev->irq,
efeb98b4e2b2ce drivers/media/video/sta2x11_vip.c Federico Vaga 2012-04-12 @1053 (irq_handler_t) vip_irq,
8dc97ea20c2bdf drivers/media/pci/sta2x11/sta2x11_vip.c Federico Vaga 2013-02-05 1054 IRQF_SHARED, KBUILD_MODNAME, vip);
efeb98b4e2b2ce drivers/media/video/sta2x11_vip.c Federico Vaga 2012-04-12 1055 if (ret) {
efeb98b4e2b2ce drivers/media/video/sta2x11_vip.c Federico Vaga 2012-04-12 1056 dev_err(&pdev->dev, "request_irq failed\n");
efeb98b4e2b2ce drivers/media/video/sta2x11_vip.c Federico Vaga 2012-04-12 1057 ret = -ENODEV;
8dc97ea20c2bdf drivers/media/pci/sta2x11/sta2x11_vip.c Federico Vaga 2013-02-05 1058 goto release_buf;
efeb98b4e2b2ce drivers/media/video/sta2x11_vip.c Federico Vaga 2012-04-12 1059 }
efeb98b4e2b2ce drivers/media/video/sta2x11_vip.c Federico Vaga 2012-04-12 1060
4db4ca7450f97c drivers/media/pci/sta2x11/sta2x11_vip.c Hans Verkuil 2015-03-09 1061 /* Initialize and register video device */
4db4ca7450f97c drivers/media/pci/sta2x11/sta2x11_vip.c Hans Verkuil 2015-03-09 1062 vip->video_dev = video_dev_template;
4db4ca7450f97c drivers/media/pci/sta2x11/sta2x11_vip.c Hans Verkuil 2015-03-09 1063 vip->video_dev.v4l2_dev = &vip->v4l2_dev;
4db4ca7450f97c drivers/media/pci/sta2x11/sta2x11_vip.c Hans Verkuil 2015-03-09 1064 vip->video_dev.queue = &vip->vb_vidq;
cd63c0288fd760 drivers/media/pci/sta2x11/sta2x11_vip.c Ezequiel Garcia 2018-06-15 1065 vip->video_dev.lock = &vip->v4l_lock;
4db4ca7450f97c drivers/media/pci/sta2x11/sta2x11_vip.c Hans Verkuil 2015-03-09 1066 video_set_drvdata(&vip->video_dev, vip);
efeb98b4e2b2ce drivers/media/video/sta2x11_vip.c Federico Vaga 2012-04-12 1067
3e30a927af3ca8 drivers/media/pci/sta2x11/sta2x11_vip.c Hans Verkuil 2020-02-03 1068 ret = video_register_device(&vip->video_dev, VFL_TYPE_VIDEO, -1);
efeb98b4e2b2ce drivers/media/video/sta2x11_vip.c Federico Vaga 2012-04-12 1069 if (ret)
efeb98b4e2b2ce drivers/media/video/sta2x11_vip.c Federico Vaga 2012-04-12 1070 goto vrelease;
efeb98b4e2b2ce drivers/media/video/sta2x11_vip.c Federico Vaga 2012-04-12 1071
8dc97ea20c2bdf drivers/media/pci/sta2x11/sta2x11_vip.c Federico Vaga 2013-02-05 1072 /* Get ADV7180 subdevice */
efeb98b4e2b2ce drivers/media/video/sta2x11_vip.c Federico Vaga 2012-04-12 1073 vip->adapter = i2c_get_adapter(vip->config->i2c_id);
efeb98b4e2b2ce drivers/media/video/sta2x11_vip.c Federico Vaga 2012-04-12 1074 if (!vip->adapter) {
efeb98b4e2b2ce drivers/media/video/sta2x11_vip.c Federico Vaga 2012-04-12 1075 ret = -ENODEV;
efeb98b4e2b2ce drivers/media/video/sta2x11_vip.c Federico Vaga 2012-04-12 1076 dev_err(&pdev->dev, "no I2C adapter found\n");
efeb98b4e2b2ce drivers/media/video/sta2x11_vip.c Federico Vaga 2012-04-12 1077 goto vunreg;
efeb98b4e2b2ce drivers/media/video/sta2x11_vip.c Federico Vaga 2012-04-12 1078 }
efeb98b4e2b2ce drivers/media/video/sta2x11_vip.c Federico Vaga 2012-04-12 1079
efeb98b4e2b2ce drivers/media/video/sta2x11_vip.c Federico Vaga 2012-04-12 1080 vip->decoder = v4l2_i2c_new_subdev(&vip->v4l2_dev, vip->adapter,
efeb98b4e2b2ce drivers/media/video/sta2x11_vip.c Federico Vaga 2012-04-12 1081 "adv7180", vip->config->i2c_addr,
efeb98b4e2b2ce drivers/media/video/sta2x11_vip.c Federico Vaga 2012-04-12 1082 NULL);
efeb98b4e2b2ce drivers/media/video/sta2x11_vip.c Federico Vaga 2012-04-12 1083 if (!vip->decoder) {
efeb98b4e2b2ce drivers/media/video/sta2x11_vip.c Federico Vaga 2012-04-12 1084 ret = -ENODEV;
efeb98b4e2b2ce drivers/media/video/sta2x11_vip.c Federico Vaga 2012-04-12 1085 dev_err(&pdev->dev, "no decoder found\n");
efeb98b4e2b2ce drivers/media/video/sta2x11_vip.c Federico Vaga 2012-04-12 1086 goto vunreg;
efeb98b4e2b2ce drivers/media/video/sta2x11_vip.c Federico Vaga 2012-04-12 1087 }
efeb98b4e2b2ce drivers/media/video/sta2x11_vip.c Federico Vaga 2012-04-12 1088
efeb98b4e2b2ce drivers/media/video/sta2x11_vip.c Federico Vaga 2012-04-12 1089 i2c_put_adapter(vip->adapter);
efeb98b4e2b2ce drivers/media/video/sta2x11_vip.c Federico Vaga 2012-04-12 1090 v4l2_subdev_call(vip->decoder, core, init, 0);
efeb98b4e2b2ce drivers/media/video/sta2x11_vip.c Federico Vaga 2012-04-12 1091
8dc97ea20c2bdf drivers/media/pci/sta2x11/sta2x11_vip.c Federico Vaga 2013-02-05 1092 sta2x11_vip_init_register(vip);
8dc97ea20c2bdf drivers/media/pci/sta2x11/sta2x11_vip.c Federico Vaga 2013-02-05 1093
8dc97ea20c2bdf drivers/media/pci/sta2x11/sta2x11_vip.c Federico Vaga 2013-02-05 1094 dev_info(&pdev->dev, "STA2X11 Video Input Port (VIP) loaded\n");
efeb98b4e2b2ce drivers/media/video/sta2x11_vip.c Federico Vaga 2012-04-12 1095 return 0;
efeb98b4e2b2ce drivers/media/video/sta2x11_vip.c Federico Vaga 2012-04-12 1096
efeb98b4e2b2ce drivers/media/video/sta2x11_vip.c Federico Vaga 2012-04-12 1097 vunreg:
4db4ca7450f97c drivers/media/pci/sta2x11/sta2x11_vip.c Hans Verkuil 2015-03-09 1098 video_set_drvdata(&vip->video_dev, NULL);
efeb98b4e2b2ce drivers/media/video/sta2x11_vip.c Federico Vaga 2012-04-12 1099 vrelease:
11788d9b7e916f drivers/media/pci/sta2x11/sta2x11_vip.c Hans Verkuil 2020-07-13 1100 vb2_video_unregister_device(&vip->video_dev);
efeb98b4e2b2ce drivers/media/video/sta2x11_vip.c Federico Vaga 2012-04-12 1101 free_irq(pdev->irq, vip);
8dc97ea20c2bdf drivers/media/pci/sta2x11/sta2x11_vip.c Federico Vaga 2013-02-05 1102 release_buf:
efeb98b4e2b2ce drivers/media/video/sta2x11_vip.c Federico Vaga 2012-04-12 1103 pci_disable_msi(pdev);
efeb98b4e2b2ce drivers/media/video/sta2x11_vip.c Federico Vaga 2012-04-12 1104 unmap:
efeb98b4e2b2ce drivers/media/video/sta2x11_vip.c Federico Vaga 2012-04-12 1105 pci_iounmap(pdev, vip->iomem);
efeb98b4e2b2ce drivers/media/video/sta2x11_vip.c Federico Vaga 2012-04-12 1106 release:
efeb98b4e2b2ce drivers/media/video/sta2x11_vip.c Federico Vaga 2012-04-12 1107 pci_release_regions(pdev);
efeb98b4e2b2ce drivers/media/video/sta2x11_vip.c Federico Vaga 2012-04-12 1108 unreg:
efeb98b4e2b2ce drivers/media/video/sta2x11_vip.c Federico Vaga 2012-04-12 1109 v4l2_device_unregister(&vip->v4l2_dev);
efeb98b4e2b2ce drivers/media/video/sta2x11_vip.c Federico Vaga 2012-04-12 1110 free_mem:
efeb98b4e2b2ce drivers/media/video/sta2x11_vip.c Federico Vaga 2012-04-12 1111 kfree(vip);
efeb98b4e2b2ce drivers/media/video/sta2x11_vip.c Federico Vaga 2012-04-12 1112 release_gpios:
efeb98b4e2b2ce drivers/media/video/sta2x11_vip.c Federico Vaga 2012-04-12 1113 vip_gpio_release(&pdev->dev, config->reset_pin, config->reset_name);
efeb98b4e2b2ce drivers/media/video/sta2x11_vip.c Federico Vaga 2012-04-12 1114 vip_gpio_release(&pdev->dev, config->pwr_pin, config->pwr_name);
efeb98b4e2b2ce drivers/media/video/sta2x11_vip.c Federico Vaga 2012-04-12 1115 disable:
efeb98b4e2b2ce drivers/media/video/sta2x11_vip.c Federico Vaga 2012-04-12 1116 /*
efeb98b4e2b2ce drivers/media/video/sta2x11_vip.c Federico Vaga 2012-04-12 1117 * do not call pci_disable_device on sta2x11 because it break all
efeb98b4e2b2ce drivers/media/video/sta2x11_vip.c Federico Vaga 2012-04-12 1118 * other Bus masters on this EP
efeb98b4e2b2ce drivers/media/video/sta2x11_vip.c Federico Vaga 2012-04-12 1119 */
efeb98b4e2b2ce drivers/media/video/sta2x11_vip.c Federico Vaga 2012-04-12 1120 return ret;
efeb98b4e2b2ce drivers/media/video/sta2x11_vip.c Federico Vaga 2012-04-12 1121 }
efeb98b4e2b2ce drivers/media/video/sta2x11_vip.c Federico Vaga 2012-04-12 1122
:::::: The code at line 1053 was first introduced by commit
:::::: efeb98b4e2b2ce50e008affce4c493e58167144a [media] STA2X11 VIP: new V4L2 driver
:::::: TO: Federico Vaga <federico.vaga@gmail.com>
:::::: CC: Mauro Carvalho Chehab <mchehab@redhat.com>
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: drivers/media/pci/sta2x11/sta2x11_vip.c:1053:6: warning: cast from 'irqreturn_t (*)(int, struct sta2x11_vip *)' (aka 'enum irqreturn (*)(int, struct sta2x11_vip *)') to 'irq_handler_t' (aka 'enum irqreturn (*)(int, void *)') converts to incompatible funct...
2023-11-06 6:59 kernel test robot
@ 2023-11-06 7:24 ` Philip Li
0 siblings, 0 replies; 4+ messages in thread
From: Philip Li @ 2023-11-06 7:24 UTC (permalink / raw)
To: kernel test robot
Cc: Arnd Bergmann, llvm, oe-kbuild-all, linux-kernel,
Mauro Carvalho Chehab, linux-media, Hans Verkuil
On Mon, Nov 06, 2023 at 02:59:24PM +0800, kernel test robot wrote:
> Hi Arnd,
>
> FYI, the error/warning was bisected to this commit, please ignore it if it's irrelevant.
Sorry Arnd for this false report, kindly ignore it as it is not
the initial cause of the warning.
>
> tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
> head: d2f51b3516dade79269ff45eae2a7668ae711b25
> commit: a157802359f7451ed8046b2b6dbaca187797e062 media: sta2x11: remove VIRT_TO_BUS dependency
> date: 1 year, 4 months ago
> config: powerpc64-allyesconfig (https://download.01.org/0day-ci/archive/20231106/202311061401.8TDz7c7d-lkp@intel.com/config)
> compiler: clang version 17.0.0 (https://github.com/llvm/llvm-project.git 4a5ac14ee968ff0ad5d2cc1ffa0299048db4c88a)
> reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20231106/202311061401.8TDz7c7d-lkp@intel.com/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@intel.com>
> | Closes: https://lore.kernel.org/oe-kbuild-all/202311061401.8TDz7c7d-lkp@intel.com/
>
> All warnings (new ones prefixed by >>):
>
> >> drivers/media/pci/sta2x11/sta2x11_vip.c:1053:6: warning: cast from 'irqreturn_t (*)(int, struct sta2x11_vip *)' (aka 'enum irqreturn (*)(int, struct sta2x11_vip *)') to 'irq_handler_t' (aka 'enum irqreturn (*)(int, void *)') converts to incompatible function type [-Wcast-function-type-strict]
> 1053 | (irq_handler_t) vip_irq,
> | ^~~~~~~~~~~~~~~~~~~~~~~
> 1 warning generated.
>
>
> vim +1053 drivers/media/pci/sta2x11/sta2x11_vip.c
>
> efeb98b4e2b2ce drivers/media/video/sta2x11_vip.c Federico Vaga 2012-04-12 936
> efeb98b4e2b2ce drivers/media/video/sta2x11_vip.c Federico Vaga 2012-04-12 937 /**
> efeb98b4e2b2ce drivers/media/video/sta2x11_vip.c Federico Vaga 2012-04-12 938 * sta2x11_vip_init_one - init one instance of video device
> efeb98b4e2b2ce drivers/media/video/sta2x11_vip.c Federico Vaga 2012-04-12 939 * @pdev: PCI device
> efeb98b4e2b2ce drivers/media/video/sta2x11_vip.c Federico Vaga 2012-04-12 940 * @ent: (not used)
> efeb98b4e2b2ce drivers/media/video/sta2x11_vip.c Federico Vaga 2012-04-12 941 *
> efeb98b4e2b2ce drivers/media/video/sta2x11_vip.c Federico Vaga 2012-04-12 942 * allocate reset pins for DAC.
> efeb98b4e2b2ce drivers/media/video/sta2x11_vip.c Federico Vaga 2012-04-12 943 * Reset video DAC, this is done via reset line.
> efeb98b4e2b2ce drivers/media/video/sta2x11_vip.c Federico Vaga 2012-04-12 944 * allocate memory for managing device
> efeb98b4e2b2ce drivers/media/video/sta2x11_vip.c Federico Vaga 2012-04-12 945 * request interrupt
> efeb98b4e2b2ce drivers/media/video/sta2x11_vip.c Federico Vaga 2012-04-12 946 * map IO region
> efeb98b4e2b2ce drivers/media/video/sta2x11_vip.c Federico Vaga 2012-04-12 947 * register device
> efeb98b4e2b2ce drivers/media/video/sta2x11_vip.c Federico Vaga 2012-04-12 948 * find and initialize video DAC
> efeb98b4e2b2ce drivers/media/video/sta2x11_vip.c Federico Vaga 2012-04-12 949 *
> efeb98b4e2b2ce drivers/media/video/sta2x11_vip.c Federico Vaga 2012-04-12 950 * return value: 0, no error
> efeb98b4e2b2ce drivers/media/video/sta2x11_vip.c Federico Vaga 2012-04-12 951 *
> efeb98b4e2b2ce drivers/media/video/sta2x11_vip.c Federico Vaga 2012-04-12 952 * -ENOMEM, no memory
> efeb98b4e2b2ce drivers/media/video/sta2x11_vip.c Federico Vaga 2012-04-12 953 *
> efeb98b4e2b2ce drivers/media/video/sta2x11_vip.c Federico Vaga 2012-04-12 954 * -ENODEV, device could not be detected or registered
> efeb98b4e2b2ce drivers/media/video/sta2x11_vip.c Federico Vaga 2012-04-12 955 */
> 4c62e9764ab403 drivers/media/pci/sta2x11/sta2x11_vip.c Greg Kroah-Hartman 2012-12-21 956 static int sta2x11_vip_init_one(struct pci_dev *pdev,
> efeb98b4e2b2ce drivers/media/video/sta2x11_vip.c Federico Vaga 2012-04-12 957 const struct pci_device_id *ent)
> efeb98b4e2b2ce drivers/media/video/sta2x11_vip.c Federico Vaga 2012-04-12 958 {
> efeb98b4e2b2ce drivers/media/video/sta2x11_vip.c Federico Vaga 2012-04-12 959 int ret;
> efeb98b4e2b2ce drivers/media/video/sta2x11_vip.c Federico Vaga 2012-04-12 960 struct sta2x11_vip *vip;
> efeb98b4e2b2ce drivers/media/video/sta2x11_vip.c Federico Vaga 2012-04-12 961 struct vip_config *config;
> efeb98b4e2b2ce drivers/media/video/sta2x11_vip.c Federico Vaga 2012-04-12 962
> 8dc97ea20c2bdf drivers/media/pci/sta2x11/sta2x11_vip.c Federico Vaga 2013-02-05 963 /* Check if hardware support 26-bit DMA */
> 8dc97ea20c2bdf drivers/media/pci/sta2x11/sta2x11_vip.c Federico Vaga 2013-02-05 964 if (dma_set_mask(&pdev->dev, DMA_BIT_MASK(26))) {
> 8dc97ea20c2bdf drivers/media/pci/sta2x11/sta2x11_vip.c Federico Vaga 2013-02-05 965 dev_err(&pdev->dev, "26-bit DMA addressing not available\n");
> 8dc97ea20c2bdf drivers/media/pci/sta2x11/sta2x11_vip.c Federico Vaga 2013-02-05 966 return -EINVAL;
> 8dc97ea20c2bdf drivers/media/pci/sta2x11/sta2x11_vip.c Federico Vaga 2013-02-05 967 }
> 8dc97ea20c2bdf drivers/media/pci/sta2x11/sta2x11_vip.c Federico Vaga 2013-02-05 968 /* Enable PCI */
> efeb98b4e2b2ce drivers/media/video/sta2x11_vip.c Federico Vaga 2012-04-12 969 ret = pci_enable_device(pdev);
> efeb98b4e2b2ce drivers/media/video/sta2x11_vip.c Federico Vaga 2012-04-12 970 if (ret)
> efeb98b4e2b2ce drivers/media/video/sta2x11_vip.c Federico Vaga 2012-04-12 971 return ret;
> efeb98b4e2b2ce drivers/media/video/sta2x11_vip.c Federico Vaga 2012-04-12 972
> 8dc97ea20c2bdf drivers/media/pci/sta2x11/sta2x11_vip.c Federico Vaga 2013-02-05 973 /* Get VIP platform data */
> efeb98b4e2b2ce drivers/media/video/sta2x11_vip.c Federico Vaga 2012-04-12 974 config = dev_get_platdata(&pdev->dev);
> efeb98b4e2b2ce drivers/media/video/sta2x11_vip.c Federico Vaga 2012-04-12 975 if (!config) {
> efeb98b4e2b2ce drivers/media/video/sta2x11_vip.c Federico Vaga 2012-04-12 976 dev_info(&pdev->dev, "VIP slot disabled\n");
> efeb98b4e2b2ce drivers/media/video/sta2x11_vip.c Federico Vaga 2012-04-12 977 ret = -EINVAL;
> efeb98b4e2b2ce drivers/media/video/sta2x11_vip.c Federico Vaga 2012-04-12 978 goto disable;
> efeb98b4e2b2ce drivers/media/video/sta2x11_vip.c Federico Vaga 2012-04-12 979 }
> efeb98b4e2b2ce drivers/media/video/sta2x11_vip.c Federico Vaga 2012-04-12 980
> 8dc97ea20c2bdf drivers/media/pci/sta2x11/sta2x11_vip.c Federico Vaga 2013-02-05 981 /* Power configuration */
> efeb98b4e2b2ce drivers/media/video/sta2x11_vip.c Federico Vaga 2012-04-12 982 ret = vip_gpio_reserve(&pdev->dev, config->pwr_pin, 0,
> efeb98b4e2b2ce drivers/media/video/sta2x11_vip.c Federico Vaga 2012-04-12 983 config->pwr_name);
> efeb98b4e2b2ce drivers/media/video/sta2x11_vip.c Federico Vaga 2012-04-12 984 if (ret)
> efeb98b4e2b2ce drivers/media/video/sta2x11_vip.c Federico Vaga 2012-04-12 985 goto disable;
> efeb98b4e2b2ce drivers/media/video/sta2x11_vip.c Federico Vaga 2012-04-12 986
> efeb98b4e2b2ce drivers/media/video/sta2x11_vip.c Federico Vaga 2012-04-12 987 ret = vip_gpio_reserve(&pdev->dev, config->reset_pin, 0,
> efeb98b4e2b2ce drivers/media/video/sta2x11_vip.c Federico Vaga 2012-04-12 988 config->reset_name);
> efeb98b4e2b2ce drivers/media/video/sta2x11_vip.c Federico Vaga 2012-04-12 989 if (ret) {
> efeb98b4e2b2ce drivers/media/video/sta2x11_vip.c Federico Vaga 2012-04-12 990 vip_gpio_release(&pdev->dev, config->pwr_pin,
> efeb98b4e2b2ce drivers/media/video/sta2x11_vip.c Federico Vaga 2012-04-12 991 config->pwr_name);
> efeb98b4e2b2ce drivers/media/video/sta2x11_vip.c Federico Vaga 2012-04-12 992 goto disable;
> efeb98b4e2b2ce drivers/media/video/sta2x11_vip.c Federico Vaga 2012-04-12 993 }
> 0bade8b5439520 drivers/media/pci/sta2x11/sta2x11_vip.c Arvind Yadav 2018-04-27 994
> 0bade8b5439520 drivers/media/pci/sta2x11/sta2x11_vip.c Arvind Yadav 2018-04-27 995 if (gpio_is_valid(config->pwr_pin)) {
> efeb98b4e2b2ce drivers/media/video/sta2x11_vip.c Federico Vaga 2012-04-12 996 /* Datasheet says 5ms between PWR and RST */
> efeb98b4e2b2ce drivers/media/video/sta2x11_vip.c Federico Vaga 2012-04-12 997 usleep_range(5000, 25000);
> 0bade8b5439520 drivers/media/pci/sta2x11/sta2x11_vip.c Arvind Yadav 2018-04-27 998 gpio_direction_output(config->pwr_pin, 1);
> efeb98b4e2b2ce drivers/media/video/sta2x11_vip.c Federico Vaga 2012-04-12 999 }
> efeb98b4e2b2ce drivers/media/video/sta2x11_vip.c Federico Vaga 2012-04-12 1000
> 0bade8b5439520 drivers/media/pci/sta2x11/sta2x11_vip.c Arvind Yadav 2018-04-27 1001 if (gpio_is_valid(config->reset_pin)) {
> efeb98b4e2b2ce drivers/media/video/sta2x11_vip.c Federico Vaga 2012-04-12 1002 /* Datasheet says 5ms between PWR and RST */
> efeb98b4e2b2ce drivers/media/video/sta2x11_vip.c Federico Vaga 2012-04-12 1003 usleep_range(5000, 25000);
> 0bade8b5439520 drivers/media/pci/sta2x11/sta2x11_vip.c Arvind Yadav 2018-04-27 1004 gpio_direction_output(config->reset_pin, 1);
> efeb98b4e2b2ce drivers/media/video/sta2x11_vip.c Federico Vaga 2012-04-12 1005 }
> efeb98b4e2b2ce drivers/media/video/sta2x11_vip.c Federico Vaga 2012-04-12 1006 usleep_range(5000, 25000);
> efeb98b4e2b2ce drivers/media/video/sta2x11_vip.c Federico Vaga 2012-04-12 1007
> 8dc97ea20c2bdf drivers/media/pci/sta2x11/sta2x11_vip.c Federico Vaga 2013-02-05 1008 /* Allocate a new VIP instance */
> efeb98b4e2b2ce drivers/media/video/sta2x11_vip.c Federico Vaga 2012-04-12 1009 vip = kzalloc(sizeof(struct sta2x11_vip), GFP_KERNEL);
> efeb98b4e2b2ce drivers/media/video/sta2x11_vip.c Federico Vaga 2012-04-12 1010 if (!vip) {
> efeb98b4e2b2ce drivers/media/video/sta2x11_vip.c Federico Vaga 2012-04-12 1011 ret = -ENOMEM;
> efeb98b4e2b2ce drivers/media/video/sta2x11_vip.c Federico Vaga 2012-04-12 1012 goto release_gpios;
> efeb98b4e2b2ce drivers/media/video/sta2x11_vip.c Federico Vaga 2012-04-12 1013 }
> efeb98b4e2b2ce drivers/media/video/sta2x11_vip.c Federico Vaga 2012-04-12 1014 vip->pdev = pdev;
> efeb98b4e2b2ce drivers/media/video/sta2x11_vip.c Federico Vaga 2012-04-12 1015 vip->std = V4L2_STD_PAL;
> efeb98b4e2b2ce drivers/media/video/sta2x11_vip.c Federico Vaga 2012-04-12 1016 vip->format = formats_50[0];
> efeb98b4e2b2ce drivers/media/video/sta2x11_vip.c Federico Vaga 2012-04-12 1017 vip->config = config;
> cd63c0288fd760 drivers/media/pci/sta2x11/sta2x11_vip.c Ezequiel Garcia 2018-06-15 1018 mutex_init(&vip->v4l_lock);
> efeb98b4e2b2ce drivers/media/video/sta2x11_vip.c Federico Vaga 2012-04-12 1019
> 8dc97ea20c2bdf drivers/media/pci/sta2x11/sta2x11_vip.c Federico Vaga 2013-02-05 1020 ret = sta2x11_vip_init_controls(vip);
> 8dc97ea20c2bdf drivers/media/pci/sta2x11/sta2x11_vip.c Federico Vaga 2013-02-05 1021 if (ret)
> 8dc97ea20c2bdf drivers/media/pci/sta2x11/sta2x11_vip.c Federico Vaga 2013-02-05 1022 goto free_mem;
> d017650b40b4cb drivers/media/pci/sta2x11/sta2x11_vip.c Wei Yongjun 2013-05-13 1023 ret = v4l2_device_register(&pdev->dev, &vip->v4l2_dev);
> d017650b40b4cb drivers/media/pci/sta2x11/sta2x11_vip.c Wei Yongjun 2013-05-13 1024 if (ret)
> efeb98b4e2b2ce drivers/media/video/sta2x11_vip.c Federico Vaga 2012-04-12 1025 goto free_mem;
> efeb98b4e2b2ce drivers/media/video/sta2x11_vip.c Federico Vaga 2012-04-12 1026
> efeb98b4e2b2ce drivers/media/video/sta2x11_vip.c Federico Vaga 2012-04-12 1027 dev_dbg(&pdev->dev, "BAR #0 at 0x%lx 0x%lx irq %d\n",
> efeb98b4e2b2ce drivers/media/video/sta2x11_vip.c Federico Vaga 2012-04-12 1028 (unsigned long)pci_resource_start(pdev, 0),
> efeb98b4e2b2ce drivers/media/video/sta2x11_vip.c Federico Vaga 2012-04-12 1029 (unsigned long)pci_resource_len(pdev, 0), pdev->irq);
> efeb98b4e2b2ce drivers/media/video/sta2x11_vip.c Federico Vaga 2012-04-12 1030
> efeb98b4e2b2ce drivers/media/video/sta2x11_vip.c Federico Vaga 2012-04-12 1031 pci_set_master(pdev);
> efeb98b4e2b2ce drivers/media/video/sta2x11_vip.c Federico Vaga 2012-04-12 1032
> 8dc97ea20c2bdf drivers/media/pci/sta2x11/sta2x11_vip.c Federico Vaga 2013-02-05 1033 ret = pci_request_regions(pdev, KBUILD_MODNAME);
> efeb98b4e2b2ce drivers/media/video/sta2x11_vip.c Federico Vaga 2012-04-12 1034 if (ret)
> efeb98b4e2b2ce drivers/media/video/sta2x11_vip.c Federico Vaga 2012-04-12 1035 goto unreg;
> efeb98b4e2b2ce drivers/media/video/sta2x11_vip.c Federico Vaga 2012-04-12 1036
> efeb98b4e2b2ce drivers/media/video/sta2x11_vip.c Federico Vaga 2012-04-12 1037 vip->iomem = pci_iomap(pdev, 0, 0x100);
> efeb98b4e2b2ce drivers/media/video/sta2x11_vip.c Federico Vaga 2012-04-12 1038 if (!vip->iomem) {
> 8dc97ea20c2bdf drivers/media/pci/sta2x11/sta2x11_vip.c Federico Vaga 2013-02-05 1039 ret = -ENOMEM;
> efeb98b4e2b2ce drivers/media/video/sta2x11_vip.c Federico Vaga 2012-04-12 1040 goto release;
> efeb98b4e2b2ce drivers/media/video/sta2x11_vip.c Federico Vaga 2012-04-12 1041 }
> efeb98b4e2b2ce drivers/media/video/sta2x11_vip.c Federico Vaga 2012-04-12 1042
> efeb98b4e2b2ce drivers/media/video/sta2x11_vip.c Federico Vaga 2012-04-12 1043 pci_enable_msi(pdev);
> efeb98b4e2b2ce drivers/media/video/sta2x11_vip.c Federico Vaga 2012-04-12 1044
> 8dc97ea20c2bdf drivers/media/pci/sta2x11/sta2x11_vip.c Federico Vaga 2013-02-05 1045 /* Initialize buffer */
> 8dc97ea20c2bdf drivers/media/pci/sta2x11/sta2x11_vip.c Federico Vaga 2013-02-05 1046 ret = sta2x11_vip_init_buffer(vip);
> 8dc97ea20c2bdf drivers/media/pci/sta2x11/sta2x11_vip.c Federico Vaga 2013-02-05 1047 if (ret)
> 8dc97ea20c2bdf drivers/media/pci/sta2x11/sta2x11_vip.c Federico Vaga 2013-02-05 1048 goto unmap;
> 8dc97ea20c2bdf drivers/media/pci/sta2x11/sta2x11_vip.c Federico Vaga 2013-02-05 1049
> efeb98b4e2b2ce drivers/media/video/sta2x11_vip.c Federico Vaga 2012-04-12 1050 spin_lock_init(&vip->slock);
> efeb98b4e2b2ce drivers/media/video/sta2x11_vip.c Federico Vaga 2012-04-12 1051
> efeb98b4e2b2ce drivers/media/video/sta2x11_vip.c Federico Vaga 2012-04-12 1052 ret = request_irq(pdev->irq,
> efeb98b4e2b2ce drivers/media/video/sta2x11_vip.c Federico Vaga 2012-04-12 @1053 (irq_handler_t) vip_irq,
> 8dc97ea20c2bdf drivers/media/pci/sta2x11/sta2x11_vip.c Federico Vaga 2013-02-05 1054 IRQF_SHARED, KBUILD_MODNAME, vip);
> efeb98b4e2b2ce drivers/media/video/sta2x11_vip.c Federico Vaga 2012-04-12 1055 if (ret) {
> efeb98b4e2b2ce drivers/media/video/sta2x11_vip.c Federico Vaga 2012-04-12 1056 dev_err(&pdev->dev, "request_irq failed\n");
> efeb98b4e2b2ce drivers/media/video/sta2x11_vip.c Federico Vaga 2012-04-12 1057 ret = -ENODEV;
> 8dc97ea20c2bdf drivers/media/pci/sta2x11/sta2x11_vip.c Federico Vaga 2013-02-05 1058 goto release_buf;
> efeb98b4e2b2ce drivers/media/video/sta2x11_vip.c Federico Vaga 2012-04-12 1059 }
> efeb98b4e2b2ce drivers/media/video/sta2x11_vip.c Federico Vaga 2012-04-12 1060
> 4db4ca7450f97c drivers/media/pci/sta2x11/sta2x11_vip.c Hans Verkuil 2015-03-09 1061 /* Initialize and register video device */
> 4db4ca7450f97c drivers/media/pci/sta2x11/sta2x11_vip.c Hans Verkuil 2015-03-09 1062 vip->video_dev = video_dev_template;
> 4db4ca7450f97c drivers/media/pci/sta2x11/sta2x11_vip.c Hans Verkuil 2015-03-09 1063 vip->video_dev.v4l2_dev = &vip->v4l2_dev;
> 4db4ca7450f97c drivers/media/pci/sta2x11/sta2x11_vip.c Hans Verkuil 2015-03-09 1064 vip->video_dev.queue = &vip->vb_vidq;
> cd63c0288fd760 drivers/media/pci/sta2x11/sta2x11_vip.c Ezequiel Garcia 2018-06-15 1065 vip->video_dev.lock = &vip->v4l_lock;
> 4db4ca7450f97c drivers/media/pci/sta2x11/sta2x11_vip.c Hans Verkuil 2015-03-09 1066 video_set_drvdata(&vip->video_dev, vip);
> efeb98b4e2b2ce drivers/media/video/sta2x11_vip.c Federico Vaga 2012-04-12 1067
> 3e30a927af3ca8 drivers/media/pci/sta2x11/sta2x11_vip.c Hans Verkuil 2020-02-03 1068 ret = video_register_device(&vip->video_dev, VFL_TYPE_VIDEO, -1);
> efeb98b4e2b2ce drivers/media/video/sta2x11_vip.c Federico Vaga 2012-04-12 1069 if (ret)
> efeb98b4e2b2ce drivers/media/video/sta2x11_vip.c Federico Vaga 2012-04-12 1070 goto vrelease;
> efeb98b4e2b2ce drivers/media/video/sta2x11_vip.c Federico Vaga 2012-04-12 1071
> 8dc97ea20c2bdf drivers/media/pci/sta2x11/sta2x11_vip.c Federico Vaga 2013-02-05 1072 /* Get ADV7180 subdevice */
> efeb98b4e2b2ce drivers/media/video/sta2x11_vip.c Federico Vaga 2012-04-12 1073 vip->adapter = i2c_get_adapter(vip->config->i2c_id);
> efeb98b4e2b2ce drivers/media/video/sta2x11_vip.c Federico Vaga 2012-04-12 1074 if (!vip->adapter) {
> efeb98b4e2b2ce drivers/media/video/sta2x11_vip.c Federico Vaga 2012-04-12 1075 ret = -ENODEV;
> efeb98b4e2b2ce drivers/media/video/sta2x11_vip.c Federico Vaga 2012-04-12 1076 dev_err(&pdev->dev, "no I2C adapter found\n");
> efeb98b4e2b2ce drivers/media/video/sta2x11_vip.c Federico Vaga 2012-04-12 1077 goto vunreg;
> efeb98b4e2b2ce drivers/media/video/sta2x11_vip.c Federico Vaga 2012-04-12 1078 }
> efeb98b4e2b2ce drivers/media/video/sta2x11_vip.c Federico Vaga 2012-04-12 1079
> efeb98b4e2b2ce drivers/media/video/sta2x11_vip.c Federico Vaga 2012-04-12 1080 vip->decoder = v4l2_i2c_new_subdev(&vip->v4l2_dev, vip->adapter,
> efeb98b4e2b2ce drivers/media/video/sta2x11_vip.c Federico Vaga 2012-04-12 1081 "adv7180", vip->config->i2c_addr,
> efeb98b4e2b2ce drivers/media/video/sta2x11_vip.c Federico Vaga 2012-04-12 1082 NULL);
> efeb98b4e2b2ce drivers/media/video/sta2x11_vip.c Federico Vaga 2012-04-12 1083 if (!vip->decoder) {
> efeb98b4e2b2ce drivers/media/video/sta2x11_vip.c Federico Vaga 2012-04-12 1084 ret = -ENODEV;
> efeb98b4e2b2ce drivers/media/video/sta2x11_vip.c Federico Vaga 2012-04-12 1085 dev_err(&pdev->dev, "no decoder found\n");
> efeb98b4e2b2ce drivers/media/video/sta2x11_vip.c Federico Vaga 2012-04-12 1086 goto vunreg;
> efeb98b4e2b2ce drivers/media/video/sta2x11_vip.c Federico Vaga 2012-04-12 1087 }
> efeb98b4e2b2ce drivers/media/video/sta2x11_vip.c Federico Vaga 2012-04-12 1088
> efeb98b4e2b2ce drivers/media/video/sta2x11_vip.c Federico Vaga 2012-04-12 1089 i2c_put_adapter(vip->adapter);
> efeb98b4e2b2ce drivers/media/video/sta2x11_vip.c Federico Vaga 2012-04-12 1090 v4l2_subdev_call(vip->decoder, core, init, 0);
> efeb98b4e2b2ce drivers/media/video/sta2x11_vip.c Federico Vaga 2012-04-12 1091
> 8dc97ea20c2bdf drivers/media/pci/sta2x11/sta2x11_vip.c Federico Vaga 2013-02-05 1092 sta2x11_vip_init_register(vip);
> 8dc97ea20c2bdf drivers/media/pci/sta2x11/sta2x11_vip.c Federico Vaga 2013-02-05 1093
> 8dc97ea20c2bdf drivers/media/pci/sta2x11/sta2x11_vip.c Federico Vaga 2013-02-05 1094 dev_info(&pdev->dev, "STA2X11 Video Input Port (VIP) loaded\n");
> efeb98b4e2b2ce drivers/media/video/sta2x11_vip.c Federico Vaga 2012-04-12 1095 return 0;
> efeb98b4e2b2ce drivers/media/video/sta2x11_vip.c Federico Vaga 2012-04-12 1096
> efeb98b4e2b2ce drivers/media/video/sta2x11_vip.c Federico Vaga 2012-04-12 1097 vunreg:
> 4db4ca7450f97c drivers/media/pci/sta2x11/sta2x11_vip.c Hans Verkuil 2015-03-09 1098 video_set_drvdata(&vip->video_dev, NULL);
> efeb98b4e2b2ce drivers/media/video/sta2x11_vip.c Federico Vaga 2012-04-12 1099 vrelease:
> 11788d9b7e916f drivers/media/pci/sta2x11/sta2x11_vip.c Hans Verkuil 2020-07-13 1100 vb2_video_unregister_device(&vip->video_dev);
> efeb98b4e2b2ce drivers/media/video/sta2x11_vip.c Federico Vaga 2012-04-12 1101 free_irq(pdev->irq, vip);
> 8dc97ea20c2bdf drivers/media/pci/sta2x11/sta2x11_vip.c Federico Vaga 2013-02-05 1102 release_buf:
> efeb98b4e2b2ce drivers/media/video/sta2x11_vip.c Federico Vaga 2012-04-12 1103 pci_disable_msi(pdev);
> efeb98b4e2b2ce drivers/media/video/sta2x11_vip.c Federico Vaga 2012-04-12 1104 unmap:
> efeb98b4e2b2ce drivers/media/video/sta2x11_vip.c Federico Vaga 2012-04-12 1105 pci_iounmap(pdev, vip->iomem);
> efeb98b4e2b2ce drivers/media/video/sta2x11_vip.c Federico Vaga 2012-04-12 1106 release:
> efeb98b4e2b2ce drivers/media/video/sta2x11_vip.c Federico Vaga 2012-04-12 1107 pci_release_regions(pdev);
> efeb98b4e2b2ce drivers/media/video/sta2x11_vip.c Federico Vaga 2012-04-12 1108 unreg:
> efeb98b4e2b2ce drivers/media/video/sta2x11_vip.c Federico Vaga 2012-04-12 1109 v4l2_device_unregister(&vip->v4l2_dev);
> efeb98b4e2b2ce drivers/media/video/sta2x11_vip.c Federico Vaga 2012-04-12 1110 free_mem:
> efeb98b4e2b2ce drivers/media/video/sta2x11_vip.c Federico Vaga 2012-04-12 1111 kfree(vip);
> efeb98b4e2b2ce drivers/media/video/sta2x11_vip.c Federico Vaga 2012-04-12 1112 release_gpios:
> efeb98b4e2b2ce drivers/media/video/sta2x11_vip.c Federico Vaga 2012-04-12 1113 vip_gpio_release(&pdev->dev, config->reset_pin, config->reset_name);
> efeb98b4e2b2ce drivers/media/video/sta2x11_vip.c Federico Vaga 2012-04-12 1114 vip_gpio_release(&pdev->dev, config->pwr_pin, config->pwr_name);
> efeb98b4e2b2ce drivers/media/video/sta2x11_vip.c Federico Vaga 2012-04-12 1115 disable:
> efeb98b4e2b2ce drivers/media/video/sta2x11_vip.c Federico Vaga 2012-04-12 1116 /*
> efeb98b4e2b2ce drivers/media/video/sta2x11_vip.c Federico Vaga 2012-04-12 1117 * do not call pci_disable_device on sta2x11 because it break all
> efeb98b4e2b2ce drivers/media/video/sta2x11_vip.c Federico Vaga 2012-04-12 1118 * other Bus masters on this EP
> efeb98b4e2b2ce drivers/media/video/sta2x11_vip.c Federico Vaga 2012-04-12 1119 */
> efeb98b4e2b2ce drivers/media/video/sta2x11_vip.c Federico Vaga 2012-04-12 1120 return ret;
> efeb98b4e2b2ce drivers/media/video/sta2x11_vip.c Federico Vaga 2012-04-12 1121 }
> efeb98b4e2b2ce drivers/media/video/sta2x11_vip.c Federico Vaga 2012-04-12 1122
>
> :::::: The code at line 1053 was first introduced by commit
> :::::: efeb98b4e2b2ce50e008affce4c493e58167144a [media] STA2X11 VIP: new V4L2 driver
>
> :::::: TO: Federico Vaga <federico.vaga@gmail.com>
> :::::: CC: Mauro Carvalho Chehab <mchehab@redhat.com>
>
> --
> 0-DAY CI Kernel Test Service
> https://github.com/intel/lkp-tests/wiki
^ permalink raw reply [flat|nested] 4+ messages in thread
* drivers/media/pci/sta2x11/sta2x11_vip.c:1053:6: warning: cast from 'irqreturn_t (*)(int, struct sta2x11_vip *)' (aka 'enum irqreturn (*)(int, struct sta2x11_vip *)') to 'irq_handler_t' (aka 'enum irqreturn (*)(int, void *)') converts to incompatible funct...
@ 2023-11-06 6:59 kernel test robot
2023-11-06 7:24 ` Philip Li
0 siblings, 1 reply; 4+ messages in thread
From: kernel test robot @ 2023-11-06 6:59 UTC (permalink / raw)
To: Arnd Bergmann
Cc: llvm, oe-kbuild-all, linux-kernel, Mauro Carvalho Chehab,
linux-media, Hans Verkuil
Hi Arnd,
FYI, the error/warning was bisected to this commit, please ignore it if it's irrelevant.
tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head: d2f51b3516dade79269ff45eae2a7668ae711b25
commit: a157802359f7451ed8046b2b6dbaca187797e062 media: sta2x11: remove VIRT_TO_BUS dependency
date: 1 year, 4 months ago
config: powerpc64-allyesconfig (https://download.01.org/0day-ci/archive/20231106/202311061401.8TDz7c7d-lkp@intel.com/config)
compiler: clang version 17.0.0 (https://github.com/llvm/llvm-project.git 4a5ac14ee968ff0ad5d2cc1ffa0299048db4c88a)
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20231106/202311061401.8TDz7c7d-lkp@intel.com/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@intel.com>
| Closes: https://lore.kernel.org/oe-kbuild-all/202311061401.8TDz7c7d-lkp@intel.com/
All warnings (new ones prefixed by >>):
>> drivers/media/pci/sta2x11/sta2x11_vip.c:1053:6: warning: cast from 'irqreturn_t (*)(int, struct sta2x11_vip *)' (aka 'enum irqreturn (*)(int, struct sta2x11_vip *)') to 'irq_handler_t' (aka 'enum irqreturn (*)(int, void *)') converts to incompatible function type [-Wcast-function-type-strict]
1053 | (irq_handler_t) vip_irq,
| ^~~~~~~~~~~~~~~~~~~~~~~
1 warning generated.
vim +1053 drivers/media/pci/sta2x11/sta2x11_vip.c
efeb98b4e2b2ce drivers/media/video/sta2x11_vip.c Federico Vaga 2012-04-12 936
efeb98b4e2b2ce drivers/media/video/sta2x11_vip.c Federico Vaga 2012-04-12 937 /**
efeb98b4e2b2ce drivers/media/video/sta2x11_vip.c Federico Vaga 2012-04-12 938 * sta2x11_vip_init_one - init one instance of video device
efeb98b4e2b2ce drivers/media/video/sta2x11_vip.c Federico Vaga 2012-04-12 939 * @pdev: PCI device
efeb98b4e2b2ce drivers/media/video/sta2x11_vip.c Federico Vaga 2012-04-12 940 * @ent: (not used)
efeb98b4e2b2ce drivers/media/video/sta2x11_vip.c Federico Vaga 2012-04-12 941 *
efeb98b4e2b2ce drivers/media/video/sta2x11_vip.c Federico Vaga 2012-04-12 942 * allocate reset pins for DAC.
efeb98b4e2b2ce drivers/media/video/sta2x11_vip.c Federico Vaga 2012-04-12 943 * Reset video DAC, this is done via reset line.
efeb98b4e2b2ce drivers/media/video/sta2x11_vip.c Federico Vaga 2012-04-12 944 * allocate memory for managing device
efeb98b4e2b2ce drivers/media/video/sta2x11_vip.c Federico Vaga 2012-04-12 945 * request interrupt
efeb98b4e2b2ce drivers/media/video/sta2x11_vip.c Federico Vaga 2012-04-12 946 * map IO region
efeb98b4e2b2ce drivers/media/video/sta2x11_vip.c Federico Vaga 2012-04-12 947 * register device
efeb98b4e2b2ce drivers/media/video/sta2x11_vip.c Federico Vaga 2012-04-12 948 * find and initialize video DAC
efeb98b4e2b2ce drivers/media/video/sta2x11_vip.c Federico Vaga 2012-04-12 949 *
efeb98b4e2b2ce drivers/media/video/sta2x11_vip.c Federico Vaga 2012-04-12 950 * return value: 0, no error
efeb98b4e2b2ce drivers/media/video/sta2x11_vip.c Federico Vaga 2012-04-12 951 *
efeb98b4e2b2ce drivers/media/video/sta2x11_vip.c Federico Vaga 2012-04-12 952 * -ENOMEM, no memory
efeb98b4e2b2ce drivers/media/video/sta2x11_vip.c Federico Vaga 2012-04-12 953 *
efeb98b4e2b2ce drivers/media/video/sta2x11_vip.c Federico Vaga 2012-04-12 954 * -ENODEV, device could not be detected or registered
efeb98b4e2b2ce drivers/media/video/sta2x11_vip.c Federico Vaga 2012-04-12 955 */
4c62e9764ab403 drivers/media/pci/sta2x11/sta2x11_vip.c Greg Kroah-Hartman 2012-12-21 956 static int sta2x11_vip_init_one(struct pci_dev *pdev,
efeb98b4e2b2ce drivers/media/video/sta2x11_vip.c Federico Vaga 2012-04-12 957 const struct pci_device_id *ent)
efeb98b4e2b2ce drivers/media/video/sta2x11_vip.c Federico Vaga 2012-04-12 958 {
efeb98b4e2b2ce drivers/media/video/sta2x11_vip.c Federico Vaga 2012-04-12 959 int ret;
efeb98b4e2b2ce drivers/media/video/sta2x11_vip.c Federico Vaga 2012-04-12 960 struct sta2x11_vip *vip;
efeb98b4e2b2ce drivers/media/video/sta2x11_vip.c Federico Vaga 2012-04-12 961 struct vip_config *config;
efeb98b4e2b2ce drivers/media/video/sta2x11_vip.c Federico Vaga 2012-04-12 962
8dc97ea20c2bdf drivers/media/pci/sta2x11/sta2x11_vip.c Federico Vaga 2013-02-05 963 /* Check if hardware support 26-bit DMA */
8dc97ea20c2bdf drivers/media/pci/sta2x11/sta2x11_vip.c Federico Vaga 2013-02-05 964 if (dma_set_mask(&pdev->dev, DMA_BIT_MASK(26))) {
8dc97ea20c2bdf drivers/media/pci/sta2x11/sta2x11_vip.c Federico Vaga 2013-02-05 965 dev_err(&pdev->dev, "26-bit DMA addressing not available\n");
8dc97ea20c2bdf drivers/media/pci/sta2x11/sta2x11_vip.c Federico Vaga 2013-02-05 966 return -EINVAL;
8dc97ea20c2bdf drivers/media/pci/sta2x11/sta2x11_vip.c Federico Vaga 2013-02-05 967 }
8dc97ea20c2bdf drivers/media/pci/sta2x11/sta2x11_vip.c Federico Vaga 2013-02-05 968 /* Enable PCI */
efeb98b4e2b2ce drivers/media/video/sta2x11_vip.c Federico Vaga 2012-04-12 969 ret = pci_enable_device(pdev);
efeb98b4e2b2ce drivers/media/video/sta2x11_vip.c Federico Vaga 2012-04-12 970 if (ret)
efeb98b4e2b2ce drivers/media/video/sta2x11_vip.c Federico Vaga 2012-04-12 971 return ret;
efeb98b4e2b2ce drivers/media/video/sta2x11_vip.c Federico Vaga 2012-04-12 972
8dc97ea20c2bdf drivers/media/pci/sta2x11/sta2x11_vip.c Federico Vaga 2013-02-05 973 /* Get VIP platform data */
efeb98b4e2b2ce drivers/media/video/sta2x11_vip.c Federico Vaga 2012-04-12 974 config = dev_get_platdata(&pdev->dev);
efeb98b4e2b2ce drivers/media/video/sta2x11_vip.c Federico Vaga 2012-04-12 975 if (!config) {
efeb98b4e2b2ce drivers/media/video/sta2x11_vip.c Federico Vaga 2012-04-12 976 dev_info(&pdev->dev, "VIP slot disabled\n");
efeb98b4e2b2ce drivers/media/video/sta2x11_vip.c Federico Vaga 2012-04-12 977 ret = -EINVAL;
efeb98b4e2b2ce drivers/media/video/sta2x11_vip.c Federico Vaga 2012-04-12 978 goto disable;
efeb98b4e2b2ce drivers/media/video/sta2x11_vip.c Federico Vaga 2012-04-12 979 }
efeb98b4e2b2ce drivers/media/video/sta2x11_vip.c Federico Vaga 2012-04-12 980
8dc97ea20c2bdf drivers/media/pci/sta2x11/sta2x11_vip.c Federico Vaga 2013-02-05 981 /* Power configuration */
efeb98b4e2b2ce drivers/media/video/sta2x11_vip.c Federico Vaga 2012-04-12 982 ret = vip_gpio_reserve(&pdev->dev, config->pwr_pin, 0,
efeb98b4e2b2ce drivers/media/video/sta2x11_vip.c Federico Vaga 2012-04-12 983 config->pwr_name);
efeb98b4e2b2ce drivers/media/video/sta2x11_vip.c Federico Vaga 2012-04-12 984 if (ret)
efeb98b4e2b2ce drivers/media/video/sta2x11_vip.c Federico Vaga 2012-04-12 985 goto disable;
efeb98b4e2b2ce drivers/media/video/sta2x11_vip.c Federico Vaga 2012-04-12 986
efeb98b4e2b2ce drivers/media/video/sta2x11_vip.c Federico Vaga 2012-04-12 987 ret = vip_gpio_reserve(&pdev->dev, config->reset_pin, 0,
efeb98b4e2b2ce drivers/media/video/sta2x11_vip.c Federico Vaga 2012-04-12 988 config->reset_name);
efeb98b4e2b2ce drivers/media/video/sta2x11_vip.c Federico Vaga 2012-04-12 989 if (ret) {
efeb98b4e2b2ce drivers/media/video/sta2x11_vip.c Federico Vaga 2012-04-12 990 vip_gpio_release(&pdev->dev, config->pwr_pin,
efeb98b4e2b2ce drivers/media/video/sta2x11_vip.c Federico Vaga 2012-04-12 991 config->pwr_name);
efeb98b4e2b2ce drivers/media/video/sta2x11_vip.c Federico Vaga 2012-04-12 992 goto disable;
efeb98b4e2b2ce drivers/media/video/sta2x11_vip.c Federico Vaga 2012-04-12 993 }
0bade8b5439520 drivers/media/pci/sta2x11/sta2x11_vip.c Arvind Yadav 2018-04-27 994
0bade8b5439520 drivers/media/pci/sta2x11/sta2x11_vip.c Arvind Yadav 2018-04-27 995 if (gpio_is_valid(config->pwr_pin)) {
efeb98b4e2b2ce drivers/media/video/sta2x11_vip.c Federico Vaga 2012-04-12 996 /* Datasheet says 5ms between PWR and RST */
efeb98b4e2b2ce drivers/media/video/sta2x11_vip.c Federico Vaga 2012-04-12 997 usleep_range(5000, 25000);
0bade8b5439520 drivers/media/pci/sta2x11/sta2x11_vip.c Arvind Yadav 2018-04-27 998 gpio_direction_output(config->pwr_pin, 1);
efeb98b4e2b2ce drivers/media/video/sta2x11_vip.c Federico Vaga 2012-04-12 999 }
efeb98b4e2b2ce drivers/media/video/sta2x11_vip.c Federico Vaga 2012-04-12 1000
0bade8b5439520 drivers/media/pci/sta2x11/sta2x11_vip.c Arvind Yadav 2018-04-27 1001 if (gpio_is_valid(config->reset_pin)) {
efeb98b4e2b2ce drivers/media/video/sta2x11_vip.c Federico Vaga 2012-04-12 1002 /* Datasheet says 5ms between PWR and RST */
efeb98b4e2b2ce drivers/media/video/sta2x11_vip.c Federico Vaga 2012-04-12 1003 usleep_range(5000, 25000);
0bade8b5439520 drivers/media/pci/sta2x11/sta2x11_vip.c Arvind Yadav 2018-04-27 1004 gpio_direction_output(config->reset_pin, 1);
efeb98b4e2b2ce drivers/media/video/sta2x11_vip.c Federico Vaga 2012-04-12 1005 }
efeb98b4e2b2ce drivers/media/video/sta2x11_vip.c Federico Vaga 2012-04-12 1006 usleep_range(5000, 25000);
efeb98b4e2b2ce drivers/media/video/sta2x11_vip.c Federico Vaga 2012-04-12 1007
8dc97ea20c2bdf drivers/media/pci/sta2x11/sta2x11_vip.c Federico Vaga 2013-02-05 1008 /* Allocate a new VIP instance */
efeb98b4e2b2ce drivers/media/video/sta2x11_vip.c Federico Vaga 2012-04-12 1009 vip = kzalloc(sizeof(struct sta2x11_vip), GFP_KERNEL);
efeb98b4e2b2ce drivers/media/video/sta2x11_vip.c Federico Vaga 2012-04-12 1010 if (!vip) {
efeb98b4e2b2ce drivers/media/video/sta2x11_vip.c Federico Vaga 2012-04-12 1011 ret = -ENOMEM;
efeb98b4e2b2ce drivers/media/video/sta2x11_vip.c Federico Vaga 2012-04-12 1012 goto release_gpios;
efeb98b4e2b2ce drivers/media/video/sta2x11_vip.c Federico Vaga 2012-04-12 1013 }
efeb98b4e2b2ce drivers/media/video/sta2x11_vip.c Federico Vaga 2012-04-12 1014 vip->pdev = pdev;
efeb98b4e2b2ce drivers/media/video/sta2x11_vip.c Federico Vaga 2012-04-12 1015 vip->std = V4L2_STD_PAL;
efeb98b4e2b2ce drivers/media/video/sta2x11_vip.c Federico Vaga 2012-04-12 1016 vip->format = formats_50[0];
efeb98b4e2b2ce drivers/media/video/sta2x11_vip.c Federico Vaga 2012-04-12 1017 vip->config = config;
cd63c0288fd760 drivers/media/pci/sta2x11/sta2x11_vip.c Ezequiel Garcia 2018-06-15 1018 mutex_init(&vip->v4l_lock);
efeb98b4e2b2ce drivers/media/video/sta2x11_vip.c Federico Vaga 2012-04-12 1019
8dc97ea20c2bdf drivers/media/pci/sta2x11/sta2x11_vip.c Federico Vaga 2013-02-05 1020 ret = sta2x11_vip_init_controls(vip);
8dc97ea20c2bdf drivers/media/pci/sta2x11/sta2x11_vip.c Federico Vaga 2013-02-05 1021 if (ret)
8dc97ea20c2bdf drivers/media/pci/sta2x11/sta2x11_vip.c Federico Vaga 2013-02-05 1022 goto free_mem;
d017650b40b4cb drivers/media/pci/sta2x11/sta2x11_vip.c Wei Yongjun 2013-05-13 1023 ret = v4l2_device_register(&pdev->dev, &vip->v4l2_dev);
d017650b40b4cb drivers/media/pci/sta2x11/sta2x11_vip.c Wei Yongjun 2013-05-13 1024 if (ret)
efeb98b4e2b2ce drivers/media/video/sta2x11_vip.c Federico Vaga 2012-04-12 1025 goto free_mem;
efeb98b4e2b2ce drivers/media/video/sta2x11_vip.c Federico Vaga 2012-04-12 1026
efeb98b4e2b2ce drivers/media/video/sta2x11_vip.c Federico Vaga 2012-04-12 1027 dev_dbg(&pdev->dev, "BAR #0 at 0x%lx 0x%lx irq %d\n",
efeb98b4e2b2ce drivers/media/video/sta2x11_vip.c Federico Vaga 2012-04-12 1028 (unsigned long)pci_resource_start(pdev, 0),
efeb98b4e2b2ce drivers/media/video/sta2x11_vip.c Federico Vaga 2012-04-12 1029 (unsigned long)pci_resource_len(pdev, 0), pdev->irq);
efeb98b4e2b2ce drivers/media/video/sta2x11_vip.c Federico Vaga 2012-04-12 1030
efeb98b4e2b2ce drivers/media/video/sta2x11_vip.c Federico Vaga 2012-04-12 1031 pci_set_master(pdev);
efeb98b4e2b2ce drivers/media/video/sta2x11_vip.c Federico Vaga 2012-04-12 1032
8dc97ea20c2bdf drivers/media/pci/sta2x11/sta2x11_vip.c Federico Vaga 2013-02-05 1033 ret = pci_request_regions(pdev, KBUILD_MODNAME);
efeb98b4e2b2ce drivers/media/video/sta2x11_vip.c Federico Vaga 2012-04-12 1034 if (ret)
efeb98b4e2b2ce drivers/media/video/sta2x11_vip.c Federico Vaga 2012-04-12 1035 goto unreg;
efeb98b4e2b2ce drivers/media/video/sta2x11_vip.c Federico Vaga 2012-04-12 1036
efeb98b4e2b2ce drivers/media/video/sta2x11_vip.c Federico Vaga 2012-04-12 1037 vip->iomem = pci_iomap(pdev, 0, 0x100);
efeb98b4e2b2ce drivers/media/video/sta2x11_vip.c Federico Vaga 2012-04-12 1038 if (!vip->iomem) {
8dc97ea20c2bdf drivers/media/pci/sta2x11/sta2x11_vip.c Federico Vaga 2013-02-05 1039 ret = -ENOMEM;
efeb98b4e2b2ce drivers/media/video/sta2x11_vip.c Federico Vaga 2012-04-12 1040 goto release;
efeb98b4e2b2ce drivers/media/video/sta2x11_vip.c Federico Vaga 2012-04-12 1041 }
efeb98b4e2b2ce drivers/media/video/sta2x11_vip.c Federico Vaga 2012-04-12 1042
efeb98b4e2b2ce drivers/media/video/sta2x11_vip.c Federico Vaga 2012-04-12 1043 pci_enable_msi(pdev);
efeb98b4e2b2ce drivers/media/video/sta2x11_vip.c Federico Vaga 2012-04-12 1044
8dc97ea20c2bdf drivers/media/pci/sta2x11/sta2x11_vip.c Federico Vaga 2013-02-05 1045 /* Initialize buffer */
8dc97ea20c2bdf drivers/media/pci/sta2x11/sta2x11_vip.c Federico Vaga 2013-02-05 1046 ret = sta2x11_vip_init_buffer(vip);
8dc97ea20c2bdf drivers/media/pci/sta2x11/sta2x11_vip.c Federico Vaga 2013-02-05 1047 if (ret)
8dc97ea20c2bdf drivers/media/pci/sta2x11/sta2x11_vip.c Federico Vaga 2013-02-05 1048 goto unmap;
8dc97ea20c2bdf drivers/media/pci/sta2x11/sta2x11_vip.c Federico Vaga 2013-02-05 1049
efeb98b4e2b2ce drivers/media/video/sta2x11_vip.c Federico Vaga 2012-04-12 1050 spin_lock_init(&vip->slock);
efeb98b4e2b2ce drivers/media/video/sta2x11_vip.c Federico Vaga 2012-04-12 1051
efeb98b4e2b2ce drivers/media/video/sta2x11_vip.c Federico Vaga 2012-04-12 1052 ret = request_irq(pdev->irq,
efeb98b4e2b2ce drivers/media/video/sta2x11_vip.c Federico Vaga 2012-04-12 @1053 (irq_handler_t) vip_irq,
8dc97ea20c2bdf drivers/media/pci/sta2x11/sta2x11_vip.c Federico Vaga 2013-02-05 1054 IRQF_SHARED, KBUILD_MODNAME, vip);
efeb98b4e2b2ce drivers/media/video/sta2x11_vip.c Federico Vaga 2012-04-12 1055 if (ret) {
efeb98b4e2b2ce drivers/media/video/sta2x11_vip.c Federico Vaga 2012-04-12 1056 dev_err(&pdev->dev, "request_irq failed\n");
efeb98b4e2b2ce drivers/media/video/sta2x11_vip.c Federico Vaga 2012-04-12 1057 ret = -ENODEV;
8dc97ea20c2bdf drivers/media/pci/sta2x11/sta2x11_vip.c Federico Vaga 2013-02-05 1058 goto release_buf;
efeb98b4e2b2ce drivers/media/video/sta2x11_vip.c Federico Vaga 2012-04-12 1059 }
efeb98b4e2b2ce drivers/media/video/sta2x11_vip.c Federico Vaga 2012-04-12 1060
4db4ca7450f97c drivers/media/pci/sta2x11/sta2x11_vip.c Hans Verkuil 2015-03-09 1061 /* Initialize and register video device */
4db4ca7450f97c drivers/media/pci/sta2x11/sta2x11_vip.c Hans Verkuil 2015-03-09 1062 vip->video_dev = video_dev_template;
4db4ca7450f97c drivers/media/pci/sta2x11/sta2x11_vip.c Hans Verkuil 2015-03-09 1063 vip->video_dev.v4l2_dev = &vip->v4l2_dev;
4db4ca7450f97c drivers/media/pci/sta2x11/sta2x11_vip.c Hans Verkuil 2015-03-09 1064 vip->video_dev.queue = &vip->vb_vidq;
cd63c0288fd760 drivers/media/pci/sta2x11/sta2x11_vip.c Ezequiel Garcia 2018-06-15 1065 vip->video_dev.lock = &vip->v4l_lock;
4db4ca7450f97c drivers/media/pci/sta2x11/sta2x11_vip.c Hans Verkuil 2015-03-09 1066 video_set_drvdata(&vip->video_dev, vip);
efeb98b4e2b2ce drivers/media/video/sta2x11_vip.c Federico Vaga 2012-04-12 1067
3e30a927af3ca8 drivers/media/pci/sta2x11/sta2x11_vip.c Hans Verkuil 2020-02-03 1068 ret = video_register_device(&vip->video_dev, VFL_TYPE_VIDEO, -1);
efeb98b4e2b2ce drivers/media/video/sta2x11_vip.c Federico Vaga 2012-04-12 1069 if (ret)
efeb98b4e2b2ce drivers/media/video/sta2x11_vip.c Federico Vaga 2012-04-12 1070 goto vrelease;
efeb98b4e2b2ce drivers/media/video/sta2x11_vip.c Federico Vaga 2012-04-12 1071
8dc97ea20c2bdf drivers/media/pci/sta2x11/sta2x11_vip.c Federico Vaga 2013-02-05 1072 /* Get ADV7180 subdevice */
efeb98b4e2b2ce drivers/media/video/sta2x11_vip.c Federico Vaga 2012-04-12 1073 vip->adapter = i2c_get_adapter(vip->config->i2c_id);
efeb98b4e2b2ce drivers/media/video/sta2x11_vip.c Federico Vaga 2012-04-12 1074 if (!vip->adapter) {
efeb98b4e2b2ce drivers/media/video/sta2x11_vip.c Federico Vaga 2012-04-12 1075 ret = -ENODEV;
efeb98b4e2b2ce drivers/media/video/sta2x11_vip.c Federico Vaga 2012-04-12 1076 dev_err(&pdev->dev, "no I2C adapter found\n");
efeb98b4e2b2ce drivers/media/video/sta2x11_vip.c Federico Vaga 2012-04-12 1077 goto vunreg;
efeb98b4e2b2ce drivers/media/video/sta2x11_vip.c Federico Vaga 2012-04-12 1078 }
efeb98b4e2b2ce drivers/media/video/sta2x11_vip.c Federico Vaga 2012-04-12 1079
efeb98b4e2b2ce drivers/media/video/sta2x11_vip.c Federico Vaga 2012-04-12 1080 vip->decoder = v4l2_i2c_new_subdev(&vip->v4l2_dev, vip->adapter,
efeb98b4e2b2ce drivers/media/video/sta2x11_vip.c Federico Vaga 2012-04-12 1081 "adv7180", vip->config->i2c_addr,
efeb98b4e2b2ce drivers/media/video/sta2x11_vip.c Federico Vaga 2012-04-12 1082 NULL);
efeb98b4e2b2ce drivers/media/video/sta2x11_vip.c Federico Vaga 2012-04-12 1083 if (!vip->decoder) {
efeb98b4e2b2ce drivers/media/video/sta2x11_vip.c Federico Vaga 2012-04-12 1084 ret = -ENODEV;
efeb98b4e2b2ce drivers/media/video/sta2x11_vip.c Federico Vaga 2012-04-12 1085 dev_err(&pdev->dev, "no decoder found\n");
efeb98b4e2b2ce drivers/media/video/sta2x11_vip.c Federico Vaga 2012-04-12 1086 goto vunreg;
efeb98b4e2b2ce drivers/media/video/sta2x11_vip.c Federico Vaga 2012-04-12 1087 }
efeb98b4e2b2ce drivers/media/video/sta2x11_vip.c Federico Vaga 2012-04-12 1088
efeb98b4e2b2ce drivers/media/video/sta2x11_vip.c Federico Vaga 2012-04-12 1089 i2c_put_adapter(vip->adapter);
efeb98b4e2b2ce drivers/media/video/sta2x11_vip.c Federico Vaga 2012-04-12 1090 v4l2_subdev_call(vip->decoder, core, init, 0);
efeb98b4e2b2ce drivers/media/video/sta2x11_vip.c Federico Vaga 2012-04-12 1091
8dc97ea20c2bdf drivers/media/pci/sta2x11/sta2x11_vip.c Federico Vaga 2013-02-05 1092 sta2x11_vip_init_register(vip);
8dc97ea20c2bdf drivers/media/pci/sta2x11/sta2x11_vip.c Federico Vaga 2013-02-05 1093
8dc97ea20c2bdf drivers/media/pci/sta2x11/sta2x11_vip.c Federico Vaga 2013-02-05 1094 dev_info(&pdev->dev, "STA2X11 Video Input Port (VIP) loaded\n");
efeb98b4e2b2ce drivers/media/video/sta2x11_vip.c Federico Vaga 2012-04-12 1095 return 0;
efeb98b4e2b2ce drivers/media/video/sta2x11_vip.c Federico Vaga 2012-04-12 1096
efeb98b4e2b2ce drivers/media/video/sta2x11_vip.c Federico Vaga 2012-04-12 1097 vunreg:
4db4ca7450f97c drivers/media/pci/sta2x11/sta2x11_vip.c Hans Verkuil 2015-03-09 1098 video_set_drvdata(&vip->video_dev, NULL);
efeb98b4e2b2ce drivers/media/video/sta2x11_vip.c Federico Vaga 2012-04-12 1099 vrelease:
11788d9b7e916f drivers/media/pci/sta2x11/sta2x11_vip.c Hans Verkuil 2020-07-13 1100 vb2_video_unregister_device(&vip->video_dev);
efeb98b4e2b2ce drivers/media/video/sta2x11_vip.c Federico Vaga 2012-04-12 1101 free_irq(pdev->irq, vip);
8dc97ea20c2bdf drivers/media/pci/sta2x11/sta2x11_vip.c Federico Vaga 2013-02-05 1102 release_buf:
efeb98b4e2b2ce drivers/media/video/sta2x11_vip.c Federico Vaga 2012-04-12 1103 pci_disable_msi(pdev);
efeb98b4e2b2ce drivers/media/video/sta2x11_vip.c Federico Vaga 2012-04-12 1104 unmap:
efeb98b4e2b2ce drivers/media/video/sta2x11_vip.c Federico Vaga 2012-04-12 1105 pci_iounmap(pdev, vip->iomem);
efeb98b4e2b2ce drivers/media/video/sta2x11_vip.c Federico Vaga 2012-04-12 1106 release:
efeb98b4e2b2ce drivers/media/video/sta2x11_vip.c Federico Vaga 2012-04-12 1107 pci_release_regions(pdev);
efeb98b4e2b2ce drivers/media/video/sta2x11_vip.c Federico Vaga 2012-04-12 1108 unreg:
efeb98b4e2b2ce drivers/media/video/sta2x11_vip.c Federico Vaga 2012-04-12 1109 v4l2_device_unregister(&vip->v4l2_dev);
efeb98b4e2b2ce drivers/media/video/sta2x11_vip.c Federico Vaga 2012-04-12 1110 free_mem:
efeb98b4e2b2ce drivers/media/video/sta2x11_vip.c Federico Vaga 2012-04-12 1111 kfree(vip);
efeb98b4e2b2ce drivers/media/video/sta2x11_vip.c Federico Vaga 2012-04-12 1112 release_gpios:
efeb98b4e2b2ce drivers/media/video/sta2x11_vip.c Federico Vaga 2012-04-12 1113 vip_gpio_release(&pdev->dev, config->reset_pin, config->reset_name);
efeb98b4e2b2ce drivers/media/video/sta2x11_vip.c Federico Vaga 2012-04-12 1114 vip_gpio_release(&pdev->dev, config->pwr_pin, config->pwr_name);
efeb98b4e2b2ce drivers/media/video/sta2x11_vip.c Federico Vaga 2012-04-12 1115 disable:
efeb98b4e2b2ce drivers/media/video/sta2x11_vip.c Federico Vaga 2012-04-12 1116 /*
efeb98b4e2b2ce drivers/media/video/sta2x11_vip.c Federico Vaga 2012-04-12 1117 * do not call pci_disable_device on sta2x11 because it break all
efeb98b4e2b2ce drivers/media/video/sta2x11_vip.c Federico Vaga 2012-04-12 1118 * other Bus masters on this EP
efeb98b4e2b2ce drivers/media/video/sta2x11_vip.c Federico Vaga 2012-04-12 1119 */
efeb98b4e2b2ce drivers/media/video/sta2x11_vip.c Federico Vaga 2012-04-12 1120 return ret;
efeb98b4e2b2ce drivers/media/video/sta2x11_vip.c Federico Vaga 2012-04-12 1121 }
efeb98b4e2b2ce drivers/media/video/sta2x11_vip.c Federico Vaga 2012-04-12 1122
:::::: The code at line 1053 was first introduced by commit
:::::: efeb98b4e2b2ce50e008affce4c493e58167144a [media] STA2X11 VIP: new V4L2 driver
:::::: TO: Federico Vaga <federico.vaga@gmail.com>
:::::: CC: Mauro Carvalho Chehab <mchehab@redhat.com>
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
^ permalink raw reply [flat|nested] 4+ messages in thread
* drivers/media/pci/sta2x11/sta2x11_vip.c:1053:6: warning: cast from 'irqreturn_t (*)(int, struct sta2x11_vip *)' (aka 'enum irqreturn (*)(int, struct sta2x11_vip *)') to 'irq_handler_t' (aka 'enum irqreturn (*)(int, void *)') converts to incompatible funct...
@ 2023-01-28 20:51 kernel test robot
0 siblings, 0 replies; 4+ messages in thread
From: kernel test robot @ 2023-01-28 20:51 UTC (permalink / raw)
To: Arnd Bergmann
Cc: llvm, oe-kbuild-all, linux-kernel, Mauro Carvalho Chehab,
linux-media, Hans Verkuil
Hi Arnd,
First bad commit (maybe != root cause):
tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head: 5af6ce7049365952f7f023155234fe091693ead1
commit: a157802359f7451ed8046b2b6dbaca187797e062 media: sta2x11: remove VIRT_TO_BUS dependency
date: 7 months ago
config: s390-randconfig-r021-20230129 (https://download.01.org/0day-ci/archive/20230129/202301290442.ZF2qmZK4-lkp@intel.com/config)
compiler: clang version 16.0.0 (https://github.com/llvm/llvm-project 4196ca3278f78c6e19246e54ab0ecb364e37d66a)
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://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=a157802359f7451ed8046b2b6dbaca187797e062
git remote add linus https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
git fetch --no-tags linus master
git checkout a157802359f7451ed8046b2b6dbaca187797e062
# 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=s390 olddefconfig
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross W=1 O=build_dir ARCH=s390 SHELL=/bin/bash drivers/media/pci/sta2x11/
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 >>):
In file included from drivers/media/pci/sta2x11/sta2x11_vip.c:18:
In file included from include/linux/pci.h:39:
In file included from include/linux/io.h:13:
In file included from arch/s390/include/asm/io.h:75:
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:37: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 drivers/media/pci/sta2x11/sta2x11_vip.c:18:
In file included from include/linux/pci.h:39:
In file included from include/linux/io.h:13:
In file included from arch/s390/include/asm/io.h:75:
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:35: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 drivers/media/pci/sta2x11/sta2x11_vip.c:18:
In file included from include/linux/pci.h:39:
In file included from include/linux/io.h:13:
In file included from arch/s390/include/asm/io.h:75:
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);
~~~~~~~~~~ ^
>> drivers/media/pci/sta2x11/sta2x11_vip.c:1053:6: warning: cast from 'irqreturn_t (*)(int, struct sta2x11_vip *)' (aka 'enum irqreturn (*)(int, struct sta2x11_vip *)') to 'irq_handler_t' (aka 'enum irqreturn (*)(int, void *)') converts to incompatible function type [-Wcast-function-type-strict]
(irq_handler_t) vip_irq,
^~~~~~~~~~~~~~~~~~~~~~~
13 warnings generated.
vim +1053 drivers/media/pci/sta2x11/sta2x11_vip.c
efeb98b4e2b2ce drivers/media/video/sta2x11_vip.c Federico Vaga 2012-04-12 936
efeb98b4e2b2ce drivers/media/video/sta2x11_vip.c Federico Vaga 2012-04-12 937 /**
efeb98b4e2b2ce drivers/media/video/sta2x11_vip.c Federico Vaga 2012-04-12 938 * sta2x11_vip_init_one - init one instance of video device
efeb98b4e2b2ce drivers/media/video/sta2x11_vip.c Federico Vaga 2012-04-12 939 * @pdev: PCI device
efeb98b4e2b2ce drivers/media/video/sta2x11_vip.c Federico Vaga 2012-04-12 940 * @ent: (not used)
efeb98b4e2b2ce drivers/media/video/sta2x11_vip.c Federico Vaga 2012-04-12 941 *
efeb98b4e2b2ce drivers/media/video/sta2x11_vip.c Federico Vaga 2012-04-12 942 * allocate reset pins for DAC.
efeb98b4e2b2ce drivers/media/video/sta2x11_vip.c Federico Vaga 2012-04-12 943 * Reset video DAC, this is done via reset line.
efeb98b4e2b2ce drivers/media/video/sta2x11_vip.c Federico Vaga 2012-04-12 944 * allocate memory for managing device
efeb98b4e2b2ce drivers/media/video/sta2x11_vip.c Federico Vaga 2012-04-12 945 * request interrupt
efeb98b4e2b2ce drivers/media/video/sta2x11_vip.c Federico Vaga 2012-04-12 946 * map IO region
efeb98b4e2b2ce drivers/media/video/sta2x11_vip.c Federico Vaga 2012-04-12 947 * register device
efeb98b4e2b2ce drivers/media/video/sta2x11_vip.c Federico Vaga 2012-04-12 948 * find and initialize video DAC
efeb98b4e2b2ce drivers/media/video/sta2x11_vip.c Federico Vaga 2012-04-12 949 *
efeb98b4e2b2ce drivers/media/video/sta2x11_vip.c Federico Vaga 2012-04-12 950 * return value: 0, no error
efeb98b4e2b2ce drivers/media/video/sta2x11_vip.c Federico Vaga 2012-04-12 951 *
efeb98b4e2b2ce drivers/media/video/sta2x11_vip.c Federico Vaga 2012-04-12 952 * -ENOMEM, no memory
efeb98b4e2b2ce drivers/media/video/sta2x11_vip.c Federico Vaga 2012-04-12 953 *
efeb98b4e2b2ce drivers/media/video/sta2x11_vip.c Federico Vaga 2012-04-12 954 * -ENODEV, device could not be detected or registered
efeb98b4e2b2ce drivers/media/video/sta2x11_vip.c Federico Vaga 2012-04-12 955 */
4c62e9764ab403 drivers/media/pci/sta2x11/sta2x11_vip.c Greg Kroah-Hartman 2012-12-21 956 static int sta2x11_vip_init_one(struct pci_dev *pdev,
efeb98b4e2b2ce drivers/media/video/sta2x11_vip.c Federico Vaga 2012-04-12 957 const struct pci_device_id *ent)
efeb98b4e2b2ce drivers/media/video/sta2x11_vip.c Federico Vaga 2012-04-12 958 {
efeb98b4e2b2ce drivers/media/video/sta2x11_vip.c Federico Vaga 2012-04-12 959 int ret;
efeb98b4e2b2ce drivers/media/video/sta2x11_vip.c Federico Vaga 2012-04-12 960 struct sta2x11_vip *vip;
efeb98b4e2b2ce drivers/media/video/sta2x11_vip.c Federico Vaga 2012-04-12 961 struct vip_config *config;
efeb98b4e2b2ce drivers/media/video/sta2x11_vip.c Federico Vaga 2012-04-12 962
8dc97ea20c2bdf drivers/media/pci/sta2x11/sta2x11_vip.c Federico Vaga 2013-02-05 963 /* Check if hardware support 26-bit DMA */
8dc97ea20c2bdf drivers/media/pci/sta2x11/sta2x11_vip.c Federico Vaga 2013-02-05 964 if (dma_set_mask(&pdev->dev, DMA_BIT_MASK(26))) {
8dc97ea20c2bdf drivers/media/pci/sta2x11/sta2x11_vip.c Federico Vaga 2013-02-05 965 dev_err(&pdev->dev, "26-bit DMA addressing not available\n");
8dc97ea20c2bdf drivers/media/pci/sta2x11/sta2x11_vip.c Federico Vaga 2013-02-05 966 return -EINVAL;
8dc97ea20c2bdf drivers/media/pci/sta2x11/sta2x11_vip.c Federico Vaga 2013-02-05 967 }
8dc97ea20c2bdf drivers/media/pci/sta2x11/sta2x11_vip.c Federico Vaga 2013-02-05 968 /* Enable PCI */
efeb98b4e2b2ce drivers/media/video/sta2x11_vip.c Federico Vaga 2012-04-12 969 ret = pci_enable_device(pdev);
efeb98b4e2b2ce drivers/media/video/sta2x11_vip.c Federico Vaga 2012-04-12 970 if (ret)
efeb98b4e2b2ce drivers/media/video/sta2x11_vip.c Federico Vaga 2012-04-12 971 return ret;
efeb98b4e2b2ce drivers/media/video/sta2x11_vip.c Federico Vaga 2012-04-12 972
8dc97ea20c2bdf drivers/media/pci/sta2x11/sta2x11_vip.c Federico Vaga 2013-02-05 973 /* Get VIP platform data */
efeb98b4e2b2ce drivers/media/video/sta2x11_vip.c Federico Vaga 2012-04-12 974 config = dev_get_platdata(&pdev->dev);
efeb98b4e2b2ce drivers/media/video/sta2x11_vip.c Federico Vaga 2012-04-12 975 if (!config) {
efeb98b4e2b2ce drivers/media/video/sta2x11_vip.c Federico Vaga 2012-04-12 976 dev_info(&pdev->dev, "VIP slot disabled\n");
efeb98b4e2b2ce drivers/media/video/sta2x11_vip.c Federico Vaga 2012-04-12 977 ret = -EINVAL;
efeb98b4e2b2ce drivers/media/video/sta2x11_vip.c Federico Vaga 2012-04-12 978 goto disable;
efeb98b4e2b2ce drivers/media/video/sta2x11_vip.c Federico Vaga 2012-04-12 979 }
efeb98b4e2b2ce drivers/media/video/sta2x11_vip.c Federico Vaga 2012-04-12 980
8dc97ea20c2bdf drivers/media/pci/sta2x11/sta2x11_vip.c Federico Vaga 2013-02-05 981 /* Power configuration */
efeb98b4e2b2ce drivers/media/video/sta2x11_vip.c Federico Vaga 2012-04-12 982 ret = vip_gpio_reserve(&pdev->dev, config->pwr_pin, 0,
efeb98b4e2b2ce drivers/media/video/sta2x11_vip.c Federico Vaga 2012-04-12 983 config->pwr_name);
efeb98b4e2b2ce drivers/media/video/sta2x11_vip.c Federico Vaga 2012-04-12 984 if (ret)
efeb98b4e2b2ce drivers/media/video/sta2x11_vip.c Federico Vaga 2012-04-12 985 goto disable;
efeb98b4e2b2ce drivers/media/video/sta2x11_vip.c Federico Vaga 2012-04-12 986
efeb98b4e2b2ce drivers/media/video/sta2x11_vip.c Federico Vaga 2012-04-12 987 ret = vip_gpio_reserve(&pdev->dev, config->reset_pin, 0,
efeb98b4e2b2ce drivers/media/video/sta2x11_vip.c Federico Vaga 2012-04-12 988 config->reset_name);
efeb98b4e2b2ce drivers/media/video/sta2x11_vip.c Federico Vaga 2012-04-12 989 if (ret) {
efeb98b4e2b2ce drivers/media/video/sta2x11_vip.c Federico Vaga 2012-04-12 990 vip_gpio_release(&pdev->dev, config->pwr_pin,
efeb98b4e2b2ce drivers/media/video/sta2x11_vip.c Federico Vaga 2012-04-12 991 config->pwr_name);
efeb98b4e2b2ce drivers/media/video/sta2x11_vip.c Federico Vaga 2012-04-12 992 goto disable;
efeb98b4e2b2ce drivers/media/video/sta2x11_vip.c Federico Vaga 2012-04-12 993 }
0bade8b5439520 drivers/media/pci/sta2x11/sta2x11_vip.c Arvind Yadav 2018-04-27 994
0bade8b5439520 drivers/media/pci/sta2x11/sta2x11_vip.c Arvind Yadav 2018-04-27 995 if (gpio_is_valid(config->pwr_pin)) {
efeb98b4e2b2ce drivers/media/video/sta2x11_vip.c Federico Vaga 2012-04-12 996 /* Datasheet says 5ms between PWR and RST */
efeb98b4e2b2ce drivers/media/video/sta2x11_vip.c Federico Vaga 2012-04-12 997 usleep_range(5000, 25000);
0bade8b5439520 drivers/media/pci/sta2x11/sta2x11_vip.c Arvind Yadav 2018-04-27 998 gpio_direction_output(config->pwr_pin, 1);
efeb98b4e2b2ce drivers/media/video/sta2x11_vip.c Federico Vaga 2012-04-12 999 }
efeb98b4e2b2ce drivers/media/video/sta2x11_vip.c Federico Vaga 2012-04-12 1000
0bade8b5439520 drivers/media/pci/sta2x11/sta2x11_vip.c Arvind Yadav 2018-04-27 1001 if (gpio_is_valid(config->reset_pin)) {
efeb98b4e2b2ce drivers/media/video/sta2x11_vip.c Federico Vaga 2012-04-12 1002 /* Datasheet says 5ms between PWR and RST */
efeb98b4e2b2ce drivers/media/video/sta2x11_vip.c Federico Vaga 2012-04-12 1003 usleep_range(5000, 25000);
0bade8b5439520 drivers/media/pci/sta2x11/sta2x11_vip.c Arvind Yadav 2018-04-27 1004 gpio_direction_output(config->reset_pin, 1);
efeb98b4e2b2ce drivers/media/video/sta2x11_vip.c Federico Vaga 2012-04-12 1005 }
efeb98b4e2b2ce drivers/media/video/sta2x11_vip.c Federico Vaga 2012-04-12 1006 usleep_range(5000, 25000);
efeb98b4e2b2ce drivers/media/video/sta2x11_vip.c Federico Vaga 2012-04-12 1007
8dc97ea20c2bdf drivers/media/pci/sta2x11/sta2x11_vip.c Federico Vaga 2013-02-05 1008 /* Allocate a new VIP instance */
efeb98b4e2b2ce drivers/media/video/sta2x11_vip.c Federico Vaga 2012-04-12 1009 vip = kzalloc(sizeof(struct sta2x11_vip), GFP_KERNEL);
efeb98b4e2b2ce drivers/media/video/sta2x11_vip.c Federico Vaga 2012-04-12 1010 if (!vip) {
efeb98b4e2b2ce drivers/media/video/sta2x11_vip.c Federico Vaga 2012-04-12 1011 ret = -ENOMEM;
efeb98b4e2b2ce drivers/media/video/sta2x11_vip.c Federico Vaga 2012-04-12 1012 goto release_gpios;
efeb98b4e2b2ce drivers/media/video/sta2x11_vip.c Federico Vaga 2012-04-12 1013 }
efeb98b4e2b2ce drivers/media/video/sta2x11_vip.c Federico Vaga 2012-04-12 1014 vip->pdev = pdev;
efeb98b4e2b2ce drivers/media/video/sta2x11_vip.c Federico Vaga 2012-04-12 1015 vip->std = V4L2_STD_PAL;
efeb98b4e2b2ce drivers/media/video/sta2x11_vip.c Federico Vaga 2012-04-12 1016 vip->format = formats_50[0];
efeb98b4e2b2ce drivers/media/video/sta2x11_vip.c Federico Vaga 2012-04-12 1017 vip->config = config;
cd63c0288fd760 drivers/media/pci/sta2x11/sta2x11_vip.c Ezequiel Garcia 2018-06-15 1018 mutex_init(&vip->v4l_lock);
efeb98b4e2b2ce drivers/media/video/sta2x11_vip.c Federico Vaga 2012-04-12 1019
8dc97ea20c2bdf drivers/media/pci/sta2x11/sta2x11_vip.c Federico Vaga 2013-02-05 1020 ret = sta2x11_vip_init_controls(vip);
8dc97ea20c2bdf drivers/media/pci/sta2x11/sta2x11_vip.c Federico Vaga 2013-02-05 1021 if (ret)
8dc97ea20c2bdf drivers/media/pci/sta2x11/sta2x11_vip.c Federico Vaga 2013-02-05 1022 goto free_mem;
d017650b40b4cb drivers/media/pci/sta2x11/sta2x11_vip.c Wei Yongjun 2013-05-13 1023 ret = v4l2_device_register(&pdev->dev, &vip->v4l2_dev);
d017650b40b4cb drivers/media/pci/sta2x11/sta2x11_vip.c Wei Yongjun 2013-05-13 1024 if (ret)
efeb98b4e2b2ce drivers/media/video/sta2x11_vip.c Federico Vaga 2012-04-12 1025 goto free_mem;
efeb98b4e2b2ce drivers/media/video/sta2x11_vip.c Federico Vaga 2012-04-12 1026
efeb98b4e2b2ce drivers/media/video/sta2x11_vip.c Federico Vaga 2012-04-12 1027 dev_dbg(&pdev->dev, "BAR #0 at 0x%lx 0x%lx irq %d\n",
efeb98b4e2b2ce drivers/media/video/sta2x11_vip.c Federico Vaga 2012-04-12 1028 (unsigned long)pci_resource_start(pdev, 0),
efeb98b4e2b2ce drivers/media/video/sta2x11_vip.c Federico Vaga 2012-04-12 1029 (unsigned long)pci_resource_len(pdev, 0), pdev->irq);
efeb98b4e2b2ce drivers/media/video/sta2x11_vip.c Federico Vaga 2012-04-12 1030
efeb98b4e2b2ce drivers/media/video/sta2x11_vip.c Federico Vaga 2012-04-12 1031 pci_set_master(pdev);
efeb98b4e2b2ce drivers/media/video/sta2x11_vip.c Federico Vaga 2012-04-12 1032
8dc97ea20c2bdf drivers/media/pci/sta2x11/sta2x11_vip.c Federico Vaga 2013-02-05 1033 ret = pci_request_regions(pdev, KBUILD_MODNAME);
efeb98b4e2b2ce drivers/media/video/sta2x11_vip.c Federico Vaga 2012-04-12 1034 if (ret)
efeb98b4e2b2ce drivers/media/video/sta2x11_vip.c Federico Vaga 2012-04-12 1035 goto unreg;
efeb98b4e2b2ce drivers/media/video/sta2x11_vip.c Federico Vaga 2012-04-12 1036
efeb98b4e2b2ce drivers/media/video/sta2x11_vip.c Federico Vaga 2012-04-12 1037 vip->iomem = pci_iomap(pdev, 0, 0x100);
efeb98b4e2b2ce drivers/media/video/sta2x11_vip.c Federico Vaga 2012-04-12 1038 if (!vip->iomem) {
8dc97ea20c2bdf drivers/media/pci/sta2x11/sta2x11_vip.c Federico Vaga 2013-02-05 1039 ret = -ENOMEM;
efeb98b4e2b2ce drivers/media/video/sta2x11_vip.c Federico Vaga 2012-04-12 1040 goto release;
efeb98b4e2b2ce drivers/media/video/sta2x11_vip.c Federico Vaga 2012-04-12 1041 }
efeb98b4e2b2ce drivers/media/video/sta2x11_vip.c Federico Vaga 2012-04-12 1042
efeb98b4e2b2ce drivers/media/video/sta2x11_vip.c Federico Vaga 2012-04-12 1043 pci_enable_msi(pdev);
efeb98b4e2b2ce drivers/media/video/sta2x11_vip.c Federico Vaga 2012-04-12 1044
8dc97ea20c2bdf drivers/media/pci/sta2x11/sta2x11_vip.c Federico Vaga 2013-02-05 1045 /* Initialize buffer */
8dc97ea20c2bdf drivers/media/pci/sta2x11/sta2x11_vip.c Federico Vaga 2013-02-05 1046 ret = sta2x11_vip_init_buffer(vip);
8dc97ea20c2bdf drivers/media/pci/sta2x11/sta2x11_vip.c Federico Vaga 2013-02-05 1047 if (ret)
8dc97ea20c2bdf drivers/media/pci/sta2x11/sta2x11_vip.c Federico Vaga 2013-02-05 1048 goto unmap;
8dc97ea20c2bdf drivers/media/pci/sta2x11/sta2x11_vip.c Federico Vaga 2013-02-05 1049
efeb98b4e2b2ce drivers/media/video/sta2x11_vip.c Federico Vaga 2012-04-12 1050 spin_lock_init(&vip->slock);
efeb98b4e2b2ce drivers/media/video/sta2x11_vip.c Federico Vaga 2012-04-12 1051
efeb98b4e2b2ce drivers/media/video/sta2x11_vip.c Federico Vaga 2012-04-12 1052 ret = request_irq(pdev->irq,
efeb98b4e2b2ce drivers/media/video/sta2x11_vip.c Federico Vaga 2012-04-12 @1053 (irq_handler_t) vip_irq,
8dc97ea20c2bdf drivers/media/pci/sta2x11/sta2x11_vip.c Federico Vaga 2013-02-05 1054 IRQF_SHARED, KBUILD_MODNAME, vip);
efeb98b4e2b2ce drivers/media/video/sta2x11_vip.c Federico Vaga 2012-04-12 1055 if (ret) {
efeb98b4e2b2ce drivers/media/video/sta2x11_vip.c Federico Vaga 2012-04-12 1056 dev_err(&pdev->dev, "request_irq failed\n");
efeb98b4e2b2ce drivers/media/video/sta2x11_vip.c Federico Vaga 2012-04-12 1057 ret = -ENODEV;
8dc97ea20c2bdf drivers/media/pci/sta2x11/sta2x11_vip.c Federico Vaga 2013-02-05 1058 goto release_buf;
efeb98b4e2b2ce drivers/media/video/sta2x11_vip.c Federico Vaga 2012-04-12 1059 }
efeb98b4e2b2ce drivers/media/video/sta2x11_vip.c Federico Vaga 2012-04-12 1060
4db4ca7450f97c drivers/media/pci/sta2x11/sta2x11_vip.c Hans Verkuil 2015-03-09 1061 /* Initialize and register video device */
4db4ca7450f97c drivers/media/pci/sta2x11/sta2x11_vip.c Hans Verkuil 2015-03-09 1062 vip->video_dev = video_dev_template;
4db4ca7450f97c drivers/media/pci/sta2x11/sta2x11_vip.c Hans Verkuil 2015-03-09 1063 vip->video_dev.v4l2_dev = &vip->v4l2_dev;
4db4ca7450f97c drivers/media/pci/sta2x11/sta2x11_vip.c Hans Verkuil 2015-03-09 1064 vip->video_dev.queue = &vip->vb_vidq;
cd63c0288fd760 drivers/media/pci/sta2x11/sta2x11_vip.c Ezequiel Garcia 2018-06-15 1065 vip->video_dev.lock = &vip->v4l_lock;
4db4ca7450f97c drivers/media/pci/sta2x11/sta2x11_vip.c Hans Verkuil 2015-03-09 1066 video_set_drvdata(&vip->video_dev, vip);
efeb98b4e2b2ce drivers/media/video/sta2x11_vip.c Federico Vaga 2012-04-12 1067
3e30a927af3ca8 drivers/media/pci/sta2x11/sta2x11_vip.c Hans Verkuil 2020-02-03 1068 ret = video_register_device(&vip->video_dev, VFL_TYPE_VIDEO, -1);
efeb98b4e2b2ce drivers/media/video/sta2x11_vip.c Federico Vaga 2012-04-12 1069 if (ret)
efeb98b4e2b2ce drivers/media/video/sta2x11_vip.c Federico Vaga 2012-04-12 1070 goto vrelease;
efeb98b4e2b2ce drivers/media/video/sta2x11_vip.c Federico Vaga 2012-04-12 1071
8dc97ea20c2bdf drivers/media/pci/sta2x11/sta2x11_vip.c Federico Vaga 2013-02-05 1072 /* Get ADV7180 subdevice */
efeb98b4e2b2ce drivers/media/video/sta2x11_vip.c Federico Vaga 2012-04-12 1073 vip->adapter = i2c_get_adapter(vip->config->i2c_id);
efeb98b4e2b2ce drivers/media/video/sta2x11_vip.c Federico Vaga 2012-04-12 1074 if (!vip->adapter) {
efeb98b4e2b2ce drivers/media/video/sta2x11_vip.c Federico Vaga 2012-04-12 1075 ret = -ENODEV;
efeb98b4e2b2ce drivers/media/video/sta2x11_vip.c Federico Vaga 2012-04-12 1076 dev_err(&pdev->dev, "no I2C adapter found\n");
efeb98b4e2b2ce drivers/media/video/sta2x11_vip.c Federico Vaga 2012-04-12 1077 goto vunreg;
efeb98b4e2b2ce drivers/media/video/sta2x11_vip.c Federico Vaga 2012-04-12 1078 }
efeb98b4e2b2ce drivers/media/video/sta2x11_vip.c Federico Vaga 2012-04-12 1079
efeb98b4e2b2ce drivers/media/video/sta2x11_vip.c Federico Vaga 2012-04-12 1080 vip->decoder = v4l2_i2c_new_subdev(&vip->v4l2_dev, vip->adapter,
efeb98b4e2b2ce drivers/media/video/sta2x11_vip.c Federico Vaga 2012-04-12 1081 "adv7180", vip->config->i2c_addr,
efeb98b4e2b2ce drivers/media/video/sta2x11_vip.c Federico Vaga 2012-04-12 1082 NULL);
efeb98b4e2b2ce drivers/media/video/sta2x11_vip.c Federico Vaga 2012-04-12 1083 if (!vip->decoder) {
efeb98b4e2b2ce drivers/media/video/sta2x11_vip.c Federico Vaga 2012-04-12 1084 ret = -ENODEV;
efeb98b4e2b2ce drivers/media/video/sta2x11_vip.c Federico Vaga 2012-04-12 1085 dev_err(&pdev->dev, "no decoder found\n");
efeb98b4e2b2ce drivers/media/video/sta2x11_vip.c Federico Vaga 2012-04-12 1086 goto vunreg;
efeb98b4e2b2ce drivers/media/video/sta2x11_vip.c Federico Vaga 2012-04-12 1087 }
efeb98b4e2b2ce drivers/media/video/sta2x11_vip.c Federico Vaga 2012-04-12 1088
efeb98b4e2b2ce drivers/media/video/sta2x11_vip.c Federico Vaga 2012-04-12 1089 i2c_put_adapter(vip->adapter);
efeb98b4e2b2ce drivers/media/video/sta2x11_vip.c Federico Vaga 2012-04-12 1090 v4l2_subdev_call(vip->decoder, core, init, 0);
efeb98b4e2b2ce drivers/media/video/sta2x11_vip.c Federico Vaga 2012-04-12 1091
8dc97ea20c2bdf drivers/media/pci/sta2x11/sta2x11_vip.c Federico Vaga 2013-02-05 1092 sta2x11_vip_init_register(vip);
8dc97ea20c2bdf drivers/media/pci/sta2x11/sta2x11_vip.c Federico Vaga 2013-02-05 1093
8dc97ea20c2bdf drivers/media/pci/sta2x11/sta2x11_vip.c Federico Vaga 2013-02-05 1094 dev_info(&pdev->dev, "STA2X11 Video Input Port (VIP) loaded\n");
efeb98b4e2b2ce drivers/media/video/sta2x11_vip.c Federico Vaga 2012-04-12 1095 return 0;
efeb98b4e2b2ce drivers/media/video/sta2x11_vip.c Federico Vaga 2012-04-12 1096
efeb98b4e2b2ce drivers/media/video/sta2x11_vip.c Federico Vaga 2012-04-12 1097 vunreg:
4db4ca7450f97c drivers/media/pci/sta2x11/sta2x11_vip.c Hans Verkuil 2015-03-09 1098 video_set_drvdata(&vip->video_dev, NULL);
efeb98b4e2b2ce drivers/media/video/sta2x11_vip.c Federico Vaga 2012-04-12 1099 vrelease:
11788d9b7e916f drivers/media/pci/sta2x11/sta2x11_vip.c Hans Verkuil 2020-07-13 1100 vb2_video_unregister_device(&vip->video_dev);
efeb98b4e2b2ce drivers/media/video/sta2x11_vip.c Federico Vaga 2012-04-12 1101 free_irq(pdev->irq, vip);
8dc97ea20c2bdf drivers/media/pci/sta2x11/sta2x11_vip.c Federico Vaga 2013-02-05 1102 release_buf:
efeb98b4e2b2ce drivers/media/video/sta2x11_vip.c Federico Vaga 2012-04-12 1103 pci_disable_msi(pdev);
efeb98b4e2b2ce drivers/media/video/sta2x11_vip.c Federico Vaga 2012-04-12 1104 unmap:
efeb98b4e2b2ce drivers/media/video/sta2x11_vip.c Federico Vaga 2012-04-12 1105 pci_iounmap(pdev, vip->iomem);
efeb98b4e2b2ce drivers/media/video/sta2x11_vip.c Federico Vaga 2012-04-12 1106 release:
efeb98b4e2b2ce drivers/media/video/sta2x11_vip.c Federico Vaga 2012-04-12 1107 pci_release_regions(pdev);
efeb98b4e2b2ce drivers/media/video/sta2x11_vip.c Federico Vaga 2012-04-12 1108 unreg:
efeb98b4e2b2ce drivers/media/video/sta2x11_vip.c Federico Vaga 2012-04-12 1109 v4l2_device_unregister(&vip->v4l2_dev);
efeb98b4e2b2ce drivers/media/video/sta2x11_vip.c Federico Vaga 2012-04-12 1110 free_mem:
efeb98b4e2b2ce drivers/media/video/sta2x11_vip.c Federico Vaga 2012-04-12 1111 kfree(vip);
efeb98b4e2b2ce drivers/media/video/sta2x11_vip.c Federico Vaga 2012-04-12 1112 release_gpios:
efeb98b4e2b2ce drivers/media/video/sta2x11_vip.c Federico Vaga 2012-04-12 1113 vip_gpio_release(&pdev->dev, config->reset_pin, config->reset_name);
efeb98b4e2b2ce drivers/media/video/sta2x11_vip.c Federico Vaga 2012-04-12 1114 vip_gpio_release(&pdev->dev, config->pwr_pin, config->pwr_name);
efeb98b4e2b2ce drivers/media/video/sta2x11_vip.c Federico Vaga 2012-04-12 1115 disable:
efeb98b4e2b2ce drivers/media/video/sta2x11_vip.c Federico Vaga 2012-04-12 1116 /*
efeb98b4e2b2ce drivers/media/video/sta2x11_vip.c Federico Vaga 2012-04-12 1117 * do not call pci_disable_device on sta2x11 because it break all
efeb98b4e2b2ce drivers/media/video/sta2x11_vip.c Federico Vaga 2012-04-12 1118 * other Bus masters on this EP
efeb98b4e2b2ce drivers/media/video/sta2x11_vip.c Federico Vaga 2012-04-12 1119 */
efeb98b4e2b2ce drivers/media/video/sta2x11_vip.c Federico Vaga 2012-04-12 1120 return ret;
efeb98b4e2b2ce drivers/media/video/sta2x11_vip.c Federico Vaga 2012-04-12 1121 }
efeb98b4e2b2ce drivers/media/video/sta2x11_vip.c Federico Vaga 2012-04-12 1122
:::::: The code at line 1053 was first introduced by commit
:::::: efeb98b4e2b2ce50e008affce4c493e58167144a [media] STA2X11 VIP: new V4L2 driver
:::::: TO: Federico Vaga <federico.vaga@gmail.com>
:::::: CC: Mauro Carvalho Chehab <mchehab@redhat.com>
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2023-11-06 7:25 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2023-07-24 13:25 drivers/media/pci/sta2x11/sta2x11_vip.c:1053:6: warning: cast from 'irqreturn_t (*)(int, struct sta2x11_vip *)' (aka 'enum irqreturn (*)(int, struct sta2x11_vip *)') to 'irq_handler_t' (aka 'enum irqreturn (*)(int, void *)') converts to incompatible funct kernel test robot
-- strict thread matches above, loose matches on Subject: below --
2023-11-06 6:59 kernel test robot
2023-11-06 7:24 ` Philip Li
2023-01-28 20:51 kernel test robot
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).