lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite for Android: free password hash cracker in your pocket
[<prev] [next>] [day] [month] [year] [list]
Message-ID: <202112152218.CbejumOS-lkp@intel.com>
Date:   Wed, 15 Dec 2021 22:55:05 +0800
From:   kernel test robot <lkp@...el.com>
To:     Janne Grunau <j@...nau.net>
Cc:     kbuild-all@...ts.01.org, linux-kernel@...r.kernel.org,
        Hector Martin <marcan@...can.st>
Subject: [asahilinux:touchpad/wip 79/82]
 drivers/hid/spi-hid/spi-hid-apple.c:177:22: warning: no previous prototype
 for 'spihid_get_data'

tree:   https://github.com/AsahiLinux/linux touchpad/wip
head:   a2281d64fdbcbab0dae68c6ea75bd5b548332e06
commit: 49c089b290128ddba454c0341a9906337e24751e [79/82] WIP: hid: transport: spi: add apple SPI transport
config: nds32-allyesconfig (https://download.01.org/0day-ci/archive/20211215/202112152218.CbejumOS-lkp@intel.com/config)
compiler: nds32le-linux-gcc (GCC) 11.2.0
reproduce (this is a W=1 build):
        wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
        chmod +x ~/bin/make.cross
        # https://github.com/AsahiLinux/linux/commit/49c089b290128ddba454c0341a9906337e24751e
        git remote add asahilinux https://github.com/AsahiLinux/linux
        git fetch --no-tags asahilinux touchpad/wip
        git checkout 49c089b290128ddba454c0341a9906337e24751e
        # save the config file to linux build tree
        mkdir build_dir
        COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-11.2.0 make.cross O=build_dir ARCH=nds32 SHELL=/bin/bash drivers/hid/

If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@...el.com>

All warnings (new ones prefixed by >>):

>> drivers/hid/spi-hid/spi-hid-apple.c:177:22: warning: no previous prototype for 'spihid_get_data' [-Wmissing-prototypes]
     177 | struct spihid_apple *spihid_get_data(struct spihid_input_dev *idev)
         |                      ^~~~~~~~~~~~~~~
>> drivers/hid/spi-hid/spi-hid-apple.c:189:5: warning: no previous prototype for 'apple_ll_start' [-Wmissing-prototypes]
     189 | int apple_ll_start(struct hid_device *hdev)
         |     ^~~~~~~~~~~~~~
>> drivers/hid/spi-hid/spi-hid-apple.c:195:6: warning: no previous prototype for 'apple_ll_stop' [-Wmissing-prototypes]
     195 | void apple_ll_stop(struct hid_device *hdev)
         |      ^~~~~~~~~~~~~
>> drivers/hid/spi-hid/spi-hid-apple.c:202:5: warning: no previous prototype for 'apple_ll_open' [-Wmissing-prototypes]
     202 | int apple_ll_open(struct hid_device *hdev)
         |     ^~~~~~~~~~~~~
>> drivers/hid/spi-hid/spi-hid-apple.c:218:6: warning: no previous prototype for 'apple_ll_close' [-Wmissing-prototypes]
     218 | void apple_ll_close(struct hid_device *hdev)
         |      ^~~~~~~~~~~~~~
>> drivers/hid/spi-hid/spi-hid-apple.c:225:5: warning: no previous prototype for 'apple_ll_parse' [-Wmissing-prototypes]
     225 | int apple_ll_parse(struct hid_device *hdev)
         |     ^~~~~~~~~~~~~~
>> drivers/hid/spi-hid/spi-hid-apple.c:233:5: warning: no previous prototype for 'apple_ll_raw_request' [-Wmissing-prototypes]
     233 | int apple_ll_raw_request(struct hid_device *hdev, unsigned char reportnum,
         |     ^~~~~~~~~~~~~~~~~~~~
>> drivers/hid/spi-hid/spi-hid-apple.c:257:5: warning: no previous prototype for 'apple_ll_output_report' [-Wmissing-prototypes]
     257 | int apple_ll_output_report(struct hid_device *hdev, __u8 *buf, size_t len)
         |     ^~~~~~~~~~~~~~~~~~~~~~
   drivers/hid/spi-hid/spi-hid-apple.c: In function 'spi_hid_apple_probe':
   drivers/hid/spi-hid/spi-hid-apple.c:735:15: error: implicit declaration of function 'devm_request_threaded_irq'; did you mean 'devm_request_region'? [-Werror=implicit-function-declaration]
     735 |         err = devm_request_threaded_irq(dev, spihid->irq, NULL,
         |               ^~~~~~~~~~~~~~~~~~~~~~~~~
         |               devm_request_region
   drivers/hid/spi-hid/spi-hid-apple.c:736:60: error: 'IRQF_ONESHOT' undeclared (first use in this function); did you mean 'SA_ONESHOT'?
     736 |                                         spi_hid_apple_irq, IRQF_ONESHOT,
         |                                                            ^~~~~~~~~~~~
         |                                                            SA_ONESHOT
   drivers/hid/spi-hid/spi-hid-apple.c:736:60: note: each undeclared identifier is reported only once for each function it appears in
   drivers/hid/spi-hid/spi-hid-apple.c: In function 'spi_hid_apple_remove':
   drivers/hid/spi-hid/spi-hid-apple.c:794:9: error: implicit declaration of function 'disable_irq'; did you mean 'disable_fpu'? [-Werror=implicit-function-declaration]
     794 |         disable_irq(spihid->irq);
         |         ^~~~~~~~~~~
         |         disable_fpu
   cc1: some warnings being treated as errors


vim +/spihid_get_data +177 drivers/hid/spi-hid/spi-hid-apple.c

   176	
 > 177	struct spihid_apple *spihid_get_data(struct spihid_input_dev *idev)
   178	{
   179		switch (idev->id) {
   180		case SPI_HID_DEVICE_ID_KBD:
   181			return container_of(idev, struct spihid_apple, kbd);
   182		case SPI_HID_DEVICE_ID_TP:
   183			return container_of(idev, struct spihid_apple, tp);
   184		default:
   185			return NULL;
   186		}
   187	}
   188	
 > 189	int apple_ll_start(struct hid_device *hdev)
   190	{
   191		/* no-op SPI transport is already setup */
   192		return 0;
   193	};
   194	
 > 195	void apple_ll_stop(struct hid_device *hdev)
   196	{
   197		/* no-op, devices will be desstroyed on driver destruction */
   198		struct spihid_input_dev *idev = hdev->driver_data;
   199		printk(KERN_DEBUG "spihid_apple %s - dev:%hhu", __func__, idev->id);
   200	}
   201	
 > 202	int apple_ll_open(struct hid_device *hdev)
   203	{
   204		struct spihid_apple *spihid;
   205		struct spihid_input_dev *idev = hdev->driver_data;
   206		printk(KERN_DEBUG "spihid_apple %s - dev:%hhu", __func__, idev->id);
   207	
   208		if (idev->hid_desc_len == 0) {
   209			spihid = spihid_get_data(idev);
   210			dev_warn(&spihid->spidev->dev,
   211				 "HID descriptor missing for dev %u", idev->id);
   212		} else
   213			idev->ready = true;
   214	
   215		return 0;
   216	}
   217	
 > 218	void apple_ll_close(struct hid_device *hdev)
   219	{
   220		struct spihid_input_dev *idev = hdev->driver_data;
   221		printk(KERN_DEBUG "spihid_apple %s - dev:%hhu", __func__, idev->id);
   222		idev->ready = false;
   223	}
   224	
 > 225	int apple_ll_parse(struct hid_device *hdev)
   226	{
   227		struct spihid_input_dev *idev = hdev->driver_data;
   228		printk(KERN_DEBUG "spihid_apple %s idev->id:%hhu", __func__, idev->id);
   229	
   230		return hid_parse_report(hdev, idev->hid_desc, idev->hid_desc_len);
   231	}
   232	
 > 233	int apple_ll_raw_request(struct hid_device *hdev, unsigned char reportnum,
   234				 __u8 *buf, size_t len, unsigned char rtype,
   235				 int reqtype)
   236	{
   237		struct spihid_input_dev *idev = hdev->driver_data;
   238		struct spihid_apple *spihid = spihid_get_data(idev);
   239	
   240		dev_dbg(&spihid->spidev->dev, "%s reqtype:%d size:%zu", __func__,
   241			reqtype, len);
   242	
   243		switch (reqtype) {
   244		case HID_REQ_GET_REPORT:
   245			return 0;
   246			// return i2c_hid_get_raw_report(hid, reportnum, buf, len, rtype);
   247		case HID_REQ_SET_REPORT:
   248			if (buf[0] != reportnum)
   249				return -EINVAL;
   250			return 0;
   251			// return i2c_hid_output_raw_report(hid, buf, len, rtype, true);
   252		default:
   253			return -EIO;
   254		}
   255	}
   256	
 > 257	int apple_ll_output_report(struct hid_device *hdev, __u8 *buf, size_t len)
   258	{
   259		struct spihid_input_dev *idev = hdev->driver_data;
   260		struct spihid_apple *spihid = spihid_get_data(idev);
   261		if (!spihid)
   262			return -1;
   263	
   264		dev_dbg(&spihid->spidev->dev, "%s", __func__);
   265	
   266		return 0;
   267	}
   268	

---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ