Hi Nathan, Thank you for the patch! Yet something to improve: [auto build test ERROR on scsi/for-next] [also build test ERROR on v4.19-rc8 next-20181019] [if your patch is applied to the wrong git tree, please drop us a note to help improve the system] url: https://github.com/0day-ci/linux/commits/Nathan-Chancellor/scsi-ata-Use-unsigned-int-for-cmd-s-type-in-ioctls-in-scsi_host_template/20181020-120416 base: https://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi.git for-next config: powerpc-allmodconfig (attached as .config) compiler: powerpc64-linux-gnu-gcc (Debian 7.2.0-11) 7.2.0 reproduce: wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross chmod +x ~/bin/make.cross # save the attached .config to linux build tree GCC_VERSION=7.2.0 make.cross ARCH=powerpc All errors (new ones prefixed by >>): >> drivers/scsi//cxlflash/main.c:3170:11: error: initialization from incompatible pointer type [-Werror=incompatible-pointer-types] .ioctl = cxlflash_ioctl, ^~~~~~~~~~~~~~ drivers/scsi//cxlflash/main.c:3170:11: note: (near initialization for 'driver_template.ioctl') cc1: some warnings being treated as errors -- >> drivers/scsi//cxlflash/superpipe.c:2099:5: error: conflicting types for 'cxlflash_ioctl' int cxlflash_ioctl(struct scsi_device *sdev, unsigned int cmd, void __user *arg) ^~~~~~~~~~~~~~ In file included from drivers/scsi//cxlflash/superpipe.c:29:0: drivers/scsi//cxlflash/common.h:337:5: note: previous declaration of 'cxlflash_ioctl' was here int cxlflash_ioctl(struct scsi_device *sdev, int cmd, void __user *arg); ^~~~~~~~~~~~~~ vim +/cxlflash_ioctl +2099 drivers/scsi//cxlflash/superpipe.c 2082 2083 /** 2084 * cxlflash_ioctl() - IOCTL handler for driver 2085 * @sdev: SCSI device associated with LUN. 2086 * @cmd: IOCTL command. 2087 * @arg: Userspace ioctl data structure. 2088 * 2089 * A read/write semaphore is used to implement a 'drain' of currently 2090 * running ioctls. The read semaphore is taken at the beginning of each 2091 * ioctl thread and released upon concluding execution. Additionally the 2092 * semaphore should be released and then reacquired in any ioctl execution 2093 * path which will wait for an event to occur that is outside the scope of 2094 * the ioctl (i.e. an adapter reset). To drain the ioctls currently running, 2095 * a thread simply needs to acquire the write semaphore. 2096 * 2097 * Return: 0 on success, -errno on failure 2098 */ > 2099 int cxlflash_ioctl(struct scsi_device *sdev, unsigned int cmd, void __user *arg) --- 0-DAY kernel test infrastructure Open Source Technology Center https://lists.01.org/pipermail/kbuild-all Intel Corporation