Message ID | 20210604212752.3547301-1-swboyd@chromium.org |
---|---|
State | New |
Headers | show |
Series | i2c: core: Disable client irq on reboot/shutdown | expand |
Quoting kernel test robot (2021-06-04 16:01:32) > Hi Stephen, > > I love your patch! Yet something to improve: > > [auto build test ERROR on 8124c8a6b35386f73523d27eacb71b5364a68c4c] > > url: https://github.com/0day-ci/linux/commits/Stephen-Boyd/i2c-core-Disable-client-irq-on-reboot-shutdown/20210605-052848 > base: 8124c8a6b35386f73523d27eacb71b5364a68c4c > config: nios2-randconfig-s031-20210604 (attached as .config) > compiler: nios2-linux-gcc (GCC) 9.3.0 > reproduce: > wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross > chmod +x ~/bin/make.cross > # apt-get install sparse > # sparse version: v0.6.3-341-g8af24329-dirty > # https://github.com/0day-ci/linux/commit/2fb1417bc9d82a335db5ed8a1446be74bffae440 > git remote add linux-review https://github.com/0day-ci/linux > git fetch --no-tags linux-review Stephen-Boyd/i2c-core-Disable-client-irq-on-reboot-shutdown/20210605-052848 > git checkout 2fb1417bc9d82a335db5ed8a1446be74bffae440 > # save the attached .config to linux build tree > COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-9.3.0 make.cross C=1 CF='-fdiagnostic-prefix -D__CHECK_ENDIAN__' W=1 ARCH=nios2 > > If you fix the issue, kindly add following tag as appropriate > Reported-by: kernel test robot <lkp@intel.com> > > All errors (new ones prefixed by >>): > > drivers/i2c/i2c-core-base.c: In function 'i2c_device_shutdown': > >> drivers/i2c/i2c-core-base.c:631:3: error: implicit declaration of function 'disable_irq'; did you mean 'disable_srat'? [-Werror=implicit-function-declaration] Must need interrupt.h, which I must have got implicitly somehow. > 631 | disable_irq(client->irq); > | ^~~~~~~~~~~ > | disable_srat
diff --git a/drivers/i2c/i2c-core-base.c b/drivers/i2c/i2c-core-base.c index 5a97e4a02fa2..7ea5d7cc5974 100644 --- a/drivers/i2c/i2c-core-base.c +++ b/drivers/i2c/i2c-core-base.c @@ -627,6 +627,8 @@ static void i2c_device_shutdown(struct device *dev) driver = to_i2c_driver(dev->driver); if (driver->shutdown) driver->shutdown(client); + else if (client->irq > 0) + disable_irq(client->irq); } static void i2c_client_dev_release(struct device *dev)