All of lore.kernel.org
 help / color / mirror / Atom feed
* [deller-parisc:for-next 16/17] drivers/parisc/led.c:230: warning: expecting prototype for led_ASP_driver(). Prototype was for LED_DATA() instead
@ 2023-08-26  0:17 kernel test robot
  0 siblings, 0 replies; only message in thread
From: kernel test robot @ 2023-08-26  0:17 UTC (permalink / raw)
  To: Helge Deller; +Cc: oe-kbuild-all

tree:   https://git.kernel.org/pub/scm/linux/kernel/git/deller/parisc-linux.git for-next
head:   eea22b2bd18bfc57c04f0ad468bc59e0a6996b2a
commit: e3b4e986bab2e7bd6d4cf27afaa65397fcf5b443 [16/17] parisc: led: Switch LCD/LED driver to use a kthread
config: parisc-allyesconfig (https://download.01.org/0day-ci/archive/20230826/202308260852.g4VtO2UG-lkp@intel.com/config)
compiler: hppa-linux-gcc (GCC) 13.2.0
reproduce: (https://download.01.org/0day-ci/archive/20230826/202308260852.g4VtO2UG-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/202308260852.g4VtO2UG-lkp@intel.com/

All warnings (new ones prefixed by >>):

>> drivers/parisc/led.c:230: warning: expecting prototype for led_ASP_driver(). Prototype was for LED_DATA() instead
>> drivers/parisc/led.c:250: warning: Function parameter or member 'leds' not described in 'led_LASI_driver'
>> drivers/parisc/led.c:259: warning: Function parameter or member 'leds' not described in 'led_LCD_driver'
>> drivers/parisc/led.c:406: warning: expecting prototype for led_mainlook(). Prototype was for HEARTBEAT_LEN() instead
>> drivers/parisc/led.c:494: warning: Function parameter or member 'nb' not described in 'led_halt'
>> drivers/parisc/led.c:494: warning: Function parameter or member 'event' not described in 'led_halt'
>> drivers/parisc/led.c:494: warning: Function parameter or member 'buf' not described in 'led_halt'
>> drivers/parisc/led.c:525: warning: Function parameter or member 'model' not described in 'register_led_driver'
>> drivers/parisc/led.c:525: warning: Function parameter or member 'cmd_reg' not described in 'register_led_driver'
>> drivers/parisc/led.c:525: warning: Function parameter or member 'data_reg' not described in 'register_led_driver'


vim +230 drivers/parisc/led.c

^1da177e4c3f41 Linus Torvalds    2005-04-16  226  
e3b4e986bab2e7 Helge Deller      2023-08-25  227  /**
e3b4e986bab2e7 Helge Deller      2023-08-25  228   *	led_ASP_driver() - LED driver for the ASP controller chip
^1da177e4c3f41 Linus Torvalds    2005-04-16  229   */
^1da177e4c3f41 Linus Torvalds    2005-04-16 @230  #define	LED_DATA	0x01	/* data to shift (0:on 1:off) */
^1da177e4c3f41 Linus Torvalds    2005-04-16  231  #define	LED_STROBE	0x02	/* strobe to clock data */
^1da177e4c3f41 Linus Torvalds    2005-04-16  232  static void led_ASP_driver(unsigned char leds)
^1da177e4c3f41 Linus Torvalds    2005-04-16  233  {
^1da177e4c3f41 Linus Torvalds    2005-04-16  234  	int i;
^1da177e4c3f41 Linus Torvalds    2005-04-16  235  
^1da177e4c3f41 Linus Torvalds    2005-04-16  236  	leds = ~leds;
^1da177e4c3f41 Linus Torvalds    2005-04-16  237  	for (i = 0; i < 8; i++) {
^1da177e4c3f41 Linus Torvalds    2005-04-16  238  		unsigned char value;
^1da177e4c3f41 Linus Torvalds    2005-04-16  239  		value = (leds & 0x80) >> 7;
^1da177e4c3f41 Linus Torvalds    2005-04-16  240  		gsc_writeb( value,		 LED_DATA_REG );
^1da177e4c3f41 Linus Torvalds    2005-04-16  241  		gsc_writeb( value | LED_STROBE,	 LED_DATA_REG );
^1da177e4c3f41 Linus Torvalds    2005-04-16  242  		leds <<= 1;
^1da177e4c3f41 Linus Torvalds    2005-04-16  243  	}
^1da177e4c3f41 Linus Torvalds    2005-04-16  244  }
^1da177e4c3f41 Linus Torvalds    2005-04-16  245  
e3b4e986bab2e7 Helge Deller      2023-08-25  246  /**
e3b4e986bab2e7 Helge Deller      2023-08-25  247   *	led_LASI_driver() - LED driver for the LASI controller chip
^1da177e4c3f41 Linus Torvalds    2005-04-16  248   */
^1da177e4c3f41 Linus Torvalds    2005-04-16  249  static void led_LASI_driver(unsigned char leds)
^1da177e4c3f41 Linus Torvalds    2005-04-16 @250  {
^1da177e4c3f41 Linus Torvalds    2005-04-16  251  	leds = ~leds;
^1da177e4c3f41 Linus Torvalds    2005-04-16  252  	gsc_writeb( leds, LED_DATA_REG );
^1da177e4c3f41 Linus Torvalds    2005-04-16  253  }
^1da177e4c3f41 Linus Torvalds    2005-04-16  254  
e3b4e986bab2e7 Helge Deller      2023-08-25  255  /**
e3b4e986bab2e7 Helge Deller      2023-08-25  256   *	led_LCD_driver() - LED & LCD driver for LCD chips
^1da177e4c3f41 Linus Torvalds    2005-04-16  257   */
^1da177e4c3f41 Linus Torvalds    2005-04-16  258  static void led_LCD_driver(unsigned char leds)
^1da177e4c3f41 Linus Torvalds    2005-04-16 @259  {
3499495205a676 Grant Grundler    2005-10-21  260  	static int i;
3499495205a676 Grant Grundler    2005-10-21  261  	static unsigned char mask[4] = { LED_HEARTBEAT, LED_DISK_IO,
3499495205a676 Grant Grundler    2005-10-21  262  		LED_LAN_RCV, LED_LAN_TX };
3499495205a676 Grant Grundler    2005-10-21  263  
3499495205a676 Grant Grundler    2005-10-21  264  	static struct lcd_block * blockp[4] = {
3499495205a676 Grant Grundler    2005-10-21  265  		&lcd_info.heartbeat,
3499495205a676 Grant Grundler    2005-10-21  266  		&lcd_info.disk_io,
3499495205a676 Grant Grundler    2005-10-21  267  		&lcd_info.lan_rcv,
3499495205a676 Grant Grundler    2005-10-21  268  		&lcd_info.lan_tx
3499495205a676 Grant Grundler    2005-10-21  269  	};
^1da177e4c3f41 Linus Torvalds    2005-04-16  270  
e3b4e986bab2e7 Helge Deller      2023-08-25  271  	for (i = 0; i < 4; ++i) {
e3b4e986bab2e7 Helge Deller      2023-08-25  272  		if ((leds & mask[i]) == (lastleds & mask[i]))
e3b4e986bab2e7 Helge Deller      2023-08-25  273  			continue;
3499495205a676 Grant Grundler    2005-10-21  274  
3499495205a676 Grant Grundler    2005-10-21  275  		gsc_writeb( blockp[i]->command, LCD_CMD_REG );
e3b4e986bab2e7 Helge Deller      2023-08-25  276  		udelay(lcd_info.min_cmd_delay);
^1da177e4c3f41 Linus Torvalds    2005-04-16  277  
3499495205a676 Grant Grundler    2005-10-21  278  		gsc_writeb( leds & mask[i] ? blockp[i]->on :
3499495205a676 Grant Grundler    2005-10-21  279  				blockp[i]->off, LCD_DATA_REG );
e3b4e986bab2e7 Helge Deller      2023-08-25  280  		udelay(lcd_info.min_cmd_delay);
^1da177e4c3f41 Linus Torvalds    2005-04-16  281  	}
^1da177e4c3f41 Linus Torvalds    2005-04-16  282  }
^1da177e4c3f41 Linus Torvalds    2005-04-16  283  
e3b4e986bab2e7 Helge Deller      2023-08-25  284  /**
e3b4e986bab2e7 Helge Deller      2023-08-25  285   *	led_get_net_activity()
e3b4e986bab2e7 Helge Deller      2023-08-25  286   *
e3b4e986bab2e7 Helge Deller      2023-08-25  287   *	Calculate if there was TX- or RX-throughput on the network interfaces
e3b4e986bab2e7 Helge Deller      2023-08-25  288   *	(analog to dev_get_info() from net/core/dev.c)
^1da177e4c3f41 Linus Torvalds    2005-04-16  289   */
e3b4e986bab2e7 Helge Deller      2023-08-25  290  static int led_get_net_activity(void)
^1da177e4c3f41 Linus Torvalds    2005-04-16  291  {
^1da177e4c3f41 Linus Torvalds    2005-04-16  292  #ifndef CONFIG_NET
^1da177e4c3f41 Linus Torvalds    2005-04-16  293  	return 0;
^1da177e4c3f41 Linus Torvalds    2005-04-16  294  #else
c442ef96bfe1a9 Kyle McMartin     2010-09-28  295  	static u64 rx_total_last, tx_total_last;
c442ef96bfe1a9 Kyle McMartin     2010-09-28  296  	u64 rx_total, tx_total;
^1da177e4c3f41 Linus Torvalds    2005-04-16  297  	struct net_device *dev;
^1da177e4c3f41 Linus Torvalds    2005-04-16  298  	int retval;
^1da177e4c3f41 Linus Torvalds    2005-04-16  299  
^1da177e4c3f41 Linus Torvalds    2005-04-16  300  	rx_total = tx_total = 0;
^1da177e4c3f41 Linus Torvalds    2005-04-16  301  
246c65add098a5 Eric Dumazet      2009-11-09  302  	/* we are running as a workqueue task, so we can use an RCU lookup */
e5ed639913eea3 Herbert Xu        2005-10-03  303  	rcu_read_lock();
246c65add098a5 Eric Dumazet      2009-11-09  304  	for_each_netdev_rcu(&init_net, dev) {
c442ef96bfe1a9 Kyle McMartin     2010-09-28  305  	    const struct rtnl_link_stats64 *stats;
28172739f0a276 Eric Dumazet      2010-07-07  306  	    struct rtnl_link_stats64 temp;
e5ed639913eea3 Herbert Xu        2005-10-03  307  	    struct in_device *in_dev = __in_dev_get_rcu(dev);
^1da177e4c3f41 Linus Torvalds    2005-04-16  308  	    if (!in_dev || !in_dev->ifa_list)
^1da177e4c3f41 Linus Torvalds    2005-04-16  309  		continue;
17159b0b494ad2 Joe Perches       2007-12-16  310  	    if (ipv4_is_loopback(in_dev->ifa_list->ifa_local))
^1da177e4c3f41 Linus Torvalds    2005-04-16  311  		continue;
28172739f0a276 Eric Dumazet      2010-07-07  312  	    stats = dev_get_stats(dev, &temp);
^1da177e4c3f41 Linus Torvalds    2005-04-16  313  	    rx_total += stats->rx_packets;
^1da177e4c3f41 Linus Torvalds    2005-04-16  314  	    tx_total += stats->tx_packets;
^1da177e4c3f41 Linus Torvalds    2005-04-16  315  	}
e5ed639913eea3 Herbert Xu        2005-10-03  316  	rcu_read_unlock();
^1da177e4c3f41 Linus Torvalds    2005-04-16  317  
^1da177e4c3f41 Linus Torvalds    2005-04-16  318  	retval = 0;
^1da177e4c3f41 Linus Torvalds    2005-04-16  319  
^1da177e4c3f41 Linus Torvalds    2005-04-16  320  	if (rx_total != rx_total_last) {
^1da177e4c3f41 Linus Torvalds    2005-04-16  321  		rx_total_last = rx_total;
^1da177e4c3f41 Linus Torvalds    2005-04-16  322  		retval |= LED_LAN_RCV;
^1da177e4c3f41 Linus Torvalds    2005-04-16  323  	}
^1da177e4c3f41 Linus Torvalds    2005-04-16  324  
^1da177e4c3f41 Linus Torvalds    2005-04-16  325  	if (tx_total != tx_total_last) {
^1da177e4c3f41 Linus Torvalds    2005-04-16  326  		tx_total_last = tx_total;
^1da177e4c3f41 Linus Torvalds    2005-04-16  327  		retval |= LED_LAN_TX;
^1da177e4c3f41 Linus Torvalds    2005-04-16  328  	}
^1da177e4c3f41 Linus Torvalds    2005-04-16  329  
^1da177e4c3f41 Linus Torvalds    2005-04-16  330  	return retval;
^1da177e4c3f41 Linus Torvalds    2005-04-16  331  #endif
^1da177e4c3f41 Linus Torvalds    2005-04-16  332  }
^1da177e4c3f41 Linus Torvalds    2005-04-16  333  
^1da177e4c3f41 Linus Torvalds    2005-04-16  334  
e3b4e986bab2e7 Helge Deller      2023-08-25  335  /**
e3b4e986bab2e7 Helge Deller      2023-08-25  336   *	led_get_diskio_activity()
e3b4e986bab2e7 Helge Deller      2023-08-25  337   *
e3b4e986bab2e7 Helge Deller      2023-08-25  338   *	calculate if there was disk-io in the system.
^1da177e4c3f41 Linus Torvalds    2005-04-16  339   */
e3b4e986bab2e7 Helge Deller      2023-08-25  340  static int led_get_diskio_activity(void)
^1da177e4c3f41 Linus Torvalds    2005-04-16  341  {
^1da177e4c3f41 Linus Torvalds    2005-04-16  342  	static unsigned long last_pgpgin, last_pgpgout;
f8891e5e1f93a1 Christoph Lameter 2006-06-30  343  	unsigned long events[NR_VM_EVENT_ITEMS];
^1da177e4c3f41 Linus Torvalds    2005-04-16  344  	int changed;
^1da177e4c3f41 Linus Torvalds    2005-04-16  345  
f8891e5e1f93a1 Christoph Lameter 2006-06-30  346  	all_vm_events(events);
^1da177e4c3f41 Linus Torvalds    2005-04-16  347  
^1da177e4c3f41 Linus Torvalds    2005-04-16  348  	/* Just use a very simple calculation here. Do not care about overflow,
^1da177e4c3f41 Linus Torvalds    2005-04-16  349  	   since we only want to know if there was activity or not. */
f8891e5e1f93a1 Christoph Lameter 2006-06-30  350  	changed = (events[PGPGIN] != last_pgpgin) ||
f8891e5e1f93a1 Christoph Lameter 2006-06-30  351  		  (events[PGPGOUT] != last_pgpgout);
f8891e5e1f93a1 Christoph Lameter 2006-06-30  352  	last_pgpgin  = events[PGPGIN];
f8891e5e1f93a1 Christoph Lameter 2006-06-30  353  	last_pgpgout = events[PGPGOUT];
^1da177e4c3f41 Linus Torvalds    2005-04-16  354  
^1da177e4c3f41 Linus Torvalds    2005-04-16  355  	return (changed ? LED_DISK_IO : 0);
^1da177e4c3f41 Linus Torvalds    2005-04-16  356  }
^1da177e4c3f41 Linus Torvalds    2005-04-16  357  
e3b4e986bab2e7 Helge Deller      2023-08-25  358  static void lcd_print_now(void)
e3b4e986bab2e7 Helge Deller      2023-08-25  359  {
e3b4e986bab2e7 Helge Deller      2023-08-25  360  	int i;
e3b4e986bab2e7 Helge Deller      2023-08-25  361  	char *str = lcd_text;
e3b4e986bab2e7 Helge Deller      2023-08-25  362  
e3b4e986bab2e7 Helge Deller      2023-08-25  363  	if (lcd_info.model != DISPLAY_MODEL_LCD)
e3b4e986bab2e7 Helge Deller      2023-08-25  364  		return;
^1da177e4c3f41 Linus Torvalds    2005-04-16  365  
e3b4e986bab2e7 Helge Deller      2023-08-25  366  	if (!lcd_new_text)
e3b4e986bab2e7 Helge Deller      2023-08-25  367  		return;
e3b4e986bab2e7 Helge Deller      2023-08-25  368  	lcd_new_text = 0;
^1da177e4c3f41 Linus Torvalds    2005-04-16  369  
e3b4e986bab2e7 Helge Deller      2023-08-25  370  	/* Set LCD Cursor to 1st character */
e3b4e986bab2e7 Helge Deller      2023-08-25  371  	gsc_writeb(lcd_info.reset_cmd1, LCD_CMD_REG);
e3b4e986bab2e7 Helge Deller      2023-08-25  372  	udelay(lcd_info.min_cmd_delay);
e3b4e986bab2e7 Helge Deller      2023-08-25  373  
e3b4e986bab2e7 Helge Deller      2023-08-25  374  	/* Print the string */
e3b4e986bab2e7 Helge Deller      2023-08-25  375  	for (i = 0; i < lcd_info.lcd_width; i++) {
e3b4e986bab2e7 Helge Deller      2023-08-25  376  		gsc_writeb(*str ? *str++ : ' ', LCD_DATA_REG);
e3b4e986bab2e7 Helge Deller      2023-08-25  377  		udelay(lcd_info.min_cmd_delay);
e3b4e986bab2e7 Helge Deller      2023-08-25  378  	}
e3b4e986bab2e7 Helge Deller      2023-08-25  379  }
^1da177e4c3f41 Linus Torvalds    2005-04-16  380  
e3b4e986bab2e7 Helge Deller      2023-08-25  381  /**
e3b4e986bab2e7 Helge Deller      2023-08-25  382   *	lcd_print()
e3b4e986bab2e7 Helge Deller      2023-08-25  383   *
e3b4e986bab2e7 Helge Deller      2023-08-25  384   *	@str: string to show on the LCD. If NULL, print current string again.
e3b4e986bab2e7 Helge Deller      2023-08-25  385   *
e3b4e986bab2e7 Helge Deller      2023-08-25  386   *	Displays the given string on the LCD-Display of newer machines.
^1da177e4c3f41 Linus Torvalds    2005-04-16  387   */
e3b4e986bab2e7 Helge Deller      2023-08-25  388  void lcd_print(const char *str)
e3b4e986bab2e7 Helge Deller      2023-08-25  389  {
e3b4e986bab2e7 Helge Deller      2023-08-25  390  	/* copy display string to buffer for procfs */
e3b4e986bab2e7 Helge Deller      2023-08-25  391  	if (str)
e3b4e986bab2e7 Helge Deller      2023-08-25  392  		strscpy(lcd_text, str, sizeof(lcd_text));
e3b4e986bab2e7 Helge Deller      2023-08-25  393  	lcd_new_text = 1;
e3b4e986bab2e7 Helge Deller      2023-08-25  394  
e3b4e986bab2e7 Helge Deller      2023-08-25  395  	/* a LCD without LEDs, has no kthread and thus print it now */
e3b4e986bab2e7 Helge Deller      2023-08-25  396  	if (!kthread_led_task)
e3b4e986bab2e7 Helge Deller      2023-08-25  397  		lcd_print_now();
e3b4e986bab2e7 Helge Deller      2023-08-25  398  }
^1da177e4c3f41 Linus Torvalds    2005-04-16  399  
e3b4e986bab2e7 Helge Deller      2023-08-25  400  
e3b4e986bab2e7 Helge Deller      2023-08-25  401  /**
e3b4e986bab2e7 Helge Deller      2023-08-25  402   *	led_mainlook()
e3b4e986bab2e7 Helge Deller      2023-08-25  403   *
e3b4e986bab2e7 Helge Deller      2023-08-25  404   *	Kernel thread which updates chassis LCD and LEDs
e3b4e986bab2e7 Helge Deller      2023-08-25  405   */
3499495205a676 Grant Grundler    2005-10-21 @406  #define HEARTBEAT_LEN (HZ*10/100)
3499495205a676 Grant Grundler    2005-10-21  407  #define HEARTBEAT_2ND_RANGE_START (HZ*28/100)
^1da177e4c3f41 Linus Torvalds    2005-04-16  408  #define HEARTBEAT_2ND_RANGE_END   (HEARTBEAT_2ND_RANGE_START + HEARTBEAT_LEN)
^1da177e4c3f41 Linus Torvalds    2005-04-16  409  

:::::: The code at line 230 was first introduced by commit
:::::: 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 Linux-2.6.12-rc2

:::::: TO: Linus Torvalds <torvalds@ppc970.osdl.org>
:::::: CC: Linus Torvalds <torvalds@ppc970.osdl.org>

-- 
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:[~2023-08-26  0:17 UTC | newest]

Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2023-08-26  0:17 [deller-parisc:for-next 16/17] drivers/parisc/led.c:230: warning: expecting prototype for led_ASP_driver(). Prototype was for LED_DATA() instead 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.