All of lore.kernel.org
 help / color / mirror / Atom feed
* [openeuler:OLK-6.6 1817/1817] drivers/irqchip/irq-gic-v3.c:1036:30: error: implicit declaration of function 'pde_data'
@ 2025-01-11  2:46 kernel test robot
  0 siblings, 0 replies; only message in thread
From: kernel test robot @ 2025-01-11  2:46 UTC (permalink / raw)
  To: kernel, Jinjie Ruan; +Cc: oe-kbuild-all

tree:   https://gitee.com/openeuler/kernel.git OLK-6.6
head:   628e30bc9a3c48a6ab38868cb77fc6497d6ebaa5
commit: 3053668e6b211924bb67c19d791a5a532eca2ad8 [1817/1817] arm64: Introduce Xint software solution
config: arm64-randconfig-r123-20250111 (https://download.01.org/0day-ci/archive/20250111/202501111013.pP2ro5fl-lkp@intel.com/config)
compiler: aarch64-linux-gcc (GCC) 14.2.0
reproduce: (https://download.01.org/0day-ci/archive/20250111/202501111013.pP2ro5fl-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/202501111013.pP2ro5fl-lkp@intel.com/

All error/warnings (new ones prefixed by >>):

   drivers/irqchip/irq-gic-v3.c: In function 'xint_proc_write':
>> drivers/irqchip/irq-gic-v3.c:1036:30: error: implicit declaration of function 'pde_data' [-Wimplicit-function-declaration]
    1036 |         int irq = (int)(long)pde_data(file_inode(file));
         |                              ^~~~~~~~
   drivers/irqchip/irq-gic-v3.c: In function 'xint_proc_show':
   drivers/irqchip/irq-gic-v3.c:1074:9: error: implicit declaration of function 'seq_printf'; did you mean 'bstr_printf'? [-Wimplicit-function-declaration]
    1074 |         seq_printf(m, "%d\n", xint_transform((long)m->private, XINT_SET_CHECK));
         |         ^~~~~~~~~~
         |         bstr_printf
   drivers/irqchip/irq-gic-v3.c:1074:53: error: invalid use of undefined type 'struct seq_file'
    1074 |         seq_printf(m, "%d\n", xint_transform((long)m->private, XINT_SET_CHECK));
         |                                                     ^~
   drivers/irqchip/irq-gic-v3.c: In function 'xint_proc_open':
   drivers/irqchip/irq-gic-v3.c:1080:16: error: implicit declaration of function 'single_open'; did you mean 'simple_open'? [-Wimplicit-function-declaration]
    1080 |         return single_open(file, xint_proc_show, pde_data(inode));
         |                ^~~~~~~~~~~
         |                simple_open
   drivers/irqchip/irq-gic-v3.c: At top level:
>> drivers/irqchip/irq-gic-v3.c:1083:21: error: variable 'xint_proc_ops' has initializer but incomplete type
    1083 | static const struct proc_ops xint_proc_ops = {
         |                     ^~~~~~~~
>> drivers/irqchip/irq-gic-v3.c:1084:10: error: 'const struct proc_ops' has no member named 'proc_open'
    1084 |         .proc_open      = xint_proc_open,
         |          ^~~~~~~~~
>> drivers/irqchip/irq-gic-v3.c:1084:27: warning: excess elements in struct initializer
    1084 |         .proc_open      = xint_proc_open,
         |                           ^~~~~~~~~~~~~~
   drivers/irqchip/irq-gic-v3.c:1084:27: note: (near initialization for 'xint_proc_ops')
>> drivers/irqchip/irq-gic-v3.c:1085:10: error: 'const struct proc_ops' has no member named 'proc_read'
    1085 |         .proc_read      = seq_read,
         |          ^~~~~~~~~
   drivers/irqchip/irq-gic-v3.c:1085:27: error: 'seq_read' undeclared here (not in a function)
    1085 |         .proc_read      = seq_read,
         |                           ^~~~~~~~
   drivers/irqchip/irq-gic-v3.c:1085:27: warning: excess elements in struct initializer
   drivers/irqchip/irq-gic-v3.c:1085:27: note: (near initialization for 'xint_proc_ops')
>> drivers/irqchip/irq-gic-v3.c:1086:10: error: 'const struct proc_ops' has no member named 'proc_lseek'
    1086 |         .proc_lseek     = seq_lseek,
         |          ^~~~~~~~~~
   drivers/irqchip/irq-gic-v3.c:1086:27: error: 'seq_lseek' undeclared here (not in a function)
    1086 |         .proc_lseek     = seq_lseek,
         |                           ^~~~~~~~~
   drivers/irqchip/irq-gic-v3.c:1086:27: warning: excess elements in struct initializer
   drivers/irqchip/irq-gic-v3.c:1086:27: note: (near initialization for 'xint_proc_ops')
>> drivers/irqchip/irq-gic-v3.c:1087:10: error: 'const struct proc_ops' has no member named 'proc_release'
    1087 |         .proc_release   = single_release,
         |          ^~~~~~~~~~~~
   drivers/irqchip/irq-gic-v3.c:1087:27: error: 'single_release' undeclared here (not in a function); did you mean 'spin_release'?
    1087 |         .proc_release   = single_release,
         |                           ^~~~~~~~~~~~~~
         |                           spin_release
   drivers/irqchip/irq-gic-v3.c:1087:27: warning: excess elements in struct initializer
   drivers/irqchip/irq-gic-v3.c:1087:27: note: (near initialization for 'xint_proc_ops')
>> drivers/irqchip/irq-gic-v3.c:1088:10: error: 'const struct proc_ops' has no member named 'proc_write'
    1088 |         .proc_write     = xint_proc_write,
         |          ^~~~~~~~~~
   drivers/irqchip/irq-gic-v3.c:1088:27: warning: excess elements in struct initializer
    1088 |         .proc_write     = xint_proc_write,
         |                           ^~~~~~~~~~~~~~~
   drivers/irqchip/irq-gic-v3.c:1088:27: note: (near initialization for 'xint_proc_ops')
   drivers/irqchip/irq-gic-v3.c: In function 'register_irqchip_proc':
>> drivers/irqchip/irq-gic-v3.c:1097:9: error: implicit declaration of function 'proc_create_data' [-Wimplicit-function-declaration]
    1097 |         proc_create_data("xint", 0644, desc->dir, &xint_proc_ops, irqp);
         |         ^~~~~~~~~~~~~~~~
>> drivers/irqchip/irq-gic-v3.c:1097:44: error: 'struct irq_desc' has no member named 'dir'
    1097 |         proc_create_data("xint", 0644, desc->dir, &xint_proc_ops, irqp);
         |                                            ^~
   drivers/irqchip/irq-gic-v3.c: In function 'unregister_irqchip_proc':
>> drivers/irqchip/irq-gic-v3.c:1105:9: error: implicit declaration of function 'remove_proc_entry' [-Wimplicit-function-declaration]
    1105 |         remove_proc_entry("xint", desc->dir);
         |         ^~~~~~~~~~~~~~~~~
   drivers/irqchip/irq-gic-v3.c:1105:39: error: 'struct irq_desc' has no member named 'dir'
    1105 |         remove_proc_entry("xint", desc->dir);
         |                                       ^~
   drivers/irqchip/irq-gic-v3.c: At top level:
>> drivers/irqchip/irq-gic-v3.c:1083:30: error: storage size of 'xint_proc_ops' isn't known
    1083 | static const struct proc_ops xint_proc_ops = {
         |                              ^~~~~~~~~~~~~


vim +/pde_data +1036 drivers/irqchip/irq-gic-v3.c

  1032	
  1033	static ssize_t xint_proc_write(struct file *file,
  1034			const char __user *buffer, size_t count, loff_t *pos)
  1035	{
> 1036		int irq = (int)(long)pde_data(file_inode(file));
  1037		bool xint_state = false;
  1038		unsigned long val;
  1039		char *buf = NULL;
  1040	
  1041		if (!xint_transform(irq, XINT_RANGE_CHECK))
  1042			return -EPERM;
  1043	
  1044		buf = memdup_user_nul(buffer, count);
  1045		if (IS_ERR(buf))
  1046			return PTR_ERR(buf);
  1047	
  1048		if (kstrtoul(buf, 0, &val) || (val != 0 && val != 1)) {
  1049			kfree(buf);
  1050			return -EINVAL;
  1051		}
  1052	
  1053		xint_state = xint_transform(irq, XINT_SET_CHECK);
  1054		if (xint_state == val) {
  1055			kfree(buf);
  1056			return -EBUSY;
  1057		}
  1058	
  1059		local_irq_disable();
  1060		disable_irq(irq);
  1061	
  1062		xint_transform(irq, xint_state ? XINT_TO_IRQ : IRQ_TO_XINT);
  1063	
  1064		enable_irq(irq);
  1065		local_irq_enable();
  1066	
  1067		kfree(buf);
  1068	
  1069		return count;
  1070	}
  1071	
  1072	static int xint_proc_show(struct seq_file *m, void *v)
  1073	{
  1074		seq_printf(m, "%d\n", xint_transform((long)m->private, XINT_SET_CHECK));
  1075		return 0;
  1076	}
  1077	
  1078	static int xint_proc_open(struct inode *inode, struct file *file)
  1079	{
  1080		return single_open(file, xint_proc_show, pde_data(inode));
  1081	}
  1082	
> 1083	static const struct proc_ops xint_proc_ops = {
> 1084		.proc_open	= xint_proc_open,
> 1085		.proc_read	= seq_read,
> 1086		.proc_lseek	= seq_lseek,
> 1087		.proc_release	= single_release,
> 1088		.proc_write	= xint_proc_write,
  1089	};
  1090	
  1091	void register_irqchip_proc(struct irq_desc *desc, void *irqp)
  1092	{
  1093		if (!is_xint_support)
  1094			return;
  1095	
  1096		/* create /proc/irq/<irq>/xint */
> 1097		proc_create_data("xint", 0644, desc->dir, &xint_proc_ops, irqp);
  1098	}
  1099	
  1100	void unregister_irqchip_proc(struct irq_desc *desc)
  1101	{
  1102		if (!is_xint_support)
  1103			return;
  1104	
> 1105		remove_proc_entry("xint", desc->dir);
  1106	}
  1107	#endif /* CONFIG_FAST_IRQ */
  1108	

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

^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2025-01-11  2:47 UTC | newest]

Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-01-11  2:46 [openeuler:OLK-6.6 1817/1817] drivers/irqchip/irq-gic-v3.c:1036:30: error: implicit declaration of function 'pde_data' kernel test robot

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.