Mask the IRQ status to only the bits that the driver checks. This
prevents excessive driver warnings when operating in slave mode
when additional bits are set that the driver doesn't handle.
Signed-off-by: Eddie James <[email protected]>
---
drivers/i2c/busses/i2c-aspeed.c | 2 ++
1 file changed, 2 insertions(+)
diff --git a/drivers/i2c/busses/i2c-aspeed.c b/drivers/i2c/busses/i2c-aspeed.c
index 31268074c422..2a388911038a 100644
--- a/drivers/i2c/busses/i2c-aspeed.c
+++ b/drivers/i2c/busses/i2c-aspeed.c
@@ -69,6 +69,7 @@
* These share bit definitions, so use the same values for the enable &
* status bits.
*/
+#define ASPEED_I2CD_INTR_ALL 0xf000ffff
#define ASPEED_I2CD_INTR_SDA_DL_TIMEOUT BIT(14)
#define ASPEED_I2CD_INTR_BUS_RECOVER_DONE BIT(13)
#define ASPEED_I2CD_INTR_SLAVE_MATCH BIT(7)
@@ -604,6 +605,7 @@ static irqreturn_t aspeed_i2c_bus_irq(int irq, void *dev_id)
writel(irq_received & ~ASPEED_I2CD_INTR_RX_DONE,
bus->base + ASPEED_I2C_INTR_STS_REG);
readl(bus->base + ASPEED_I2C_INTR_STS_REG);
+ irq_received &= ASPEED_I2CD_INTR_ALL;
irq_remaining = irq_received;
#if IS_ENABLED(CONFIG_I2C_SLAVE)
--
2.26.2
On Tue, Sep 08, 2020 at 03:00:59PM -0500, Eddie James wrote:
> Mask the IRQ status to only the bits that the driver checks. This
> prevents excessive driver warnings when operating in slave mode
> when additional bits are set that the driver doesn't handle.
>
> Signed-off-by: Eddie James <[email protected]>
Reviewed-by: Tao Ren <[email protected]>
> ---
> drivers/i2c/busses/i2c-aspeed.c | 2 ++
> 1 file changed, 2 insertions(+)
>
> diff --git a/drivers/i2c/busses/i2c-aspeed.c b/drivers/i2c/busses/i2c-aspeed.c
> index 31268074c422..2a388911038a 100644
> --- a/drivers/i2c/busses/i2c-aspeed.c
> +++ b/drivers/i2c/busses/i2c-aspeed.c
> @@ -69,6 +69,7 @@
> * These share bit definitions, so use the same values for the enable &
> * status bits.
> */
> +#define ASPEED_I2CD_INTR_ALL 0xf000ffff
> #define ASPEED_I2CD_INTR_SDA_DL_TIMEOUT BIT(14)
> #define ASPEED_I2CD_INTR_BUS_RECOVER_DONE BIT(13)
> #define ASPEED_I2CD_INTR_SLAVE_MATCH BIT(7)
> @@ -604,6 +605,7 @@ static irqreturn_t aspeed_i2c_bus_irq(int irq, void *dev_id)
> writel(irq_received & ~ASPEED_I2CD_INTR_RX_DONE,
> bus->base + ASPEED_I2C_INTR_STS_REG);
> readl(bus->base + ASPEED_I2C_INTR_STS_REG);
> + irq_received &= ASPEED_I2CD_INTR_ALL;
> irq_remaining = irq_received;
>
> #if IS_ENABLED(CONFIG_I2C_SLAVE)
> --
> 2.26.2
>
Hi Eddie,
I love your patch! Perhaps something to improve:
[auto build test WARNING on joel-aspeed/for-next]
[also build test WARNING on wsa/i2c/for-next linus/master v5.9-rc4 next-20200908]
[cannot apply to input/next]
[If your patch is applied to the wrong git tree, kindly drop us a note.
And when submitting patch, we suggest to use '--base' as documented in
https://git-scm.com/docs/git-format-patch]
url: https://github.com/0day-ci/linux/commits/Eddie-James/input-misc-Add-IBM-Operation-Panel-driver/20200909-120637
base: https://git.kernel.org/pub/scm/linux/kernel/git/joel/aspeed.git for-next
config: x86_64-randconfig-a016-20200909 (attached as .config)
compiler: clang version 12.0.0 (https://github.com/llvm/llvm-project 8893d0816ccdf8998d2e21b5430e9d6abe7ef465)
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
# install x86_64 cross compiling tool for clang build
# apt-get install binutils-x86-64-linux-gnu
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross ARCH=x86_64
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <[email protected]>
All warnings (new ones prefixed by >>):
>> drivers/i2c/busses/i2c-aspeed.c:88:9: warning: 'ASPEED_I2CD_INTR_ALL' macro redefined [-Wmacro-redefined]
#define ASPEED_I2CD_INTR_ALL \
^
drivers/i2c/busses/i2c-aspeed.c:72:9: note: previous definition is here
#define ASPEED_I2CD_INTR_ALL 0xf000ffff
^
1 warning generated.
# https://github.com/0day-ci/linux/commit/6d9e57527652ab1a348f68145e41e6a19d5dc0dc
git remote add linux-review https://github.com/0day-ci/linux
git fetch --no-tags linux-review Eddie-James/input-misc-Add-IBM-Operation-Panel-driver/20200909-120637
git checkout 6d9e57527652ab1a348f68145e41e6a19d5dc0dc
vim +/ASPEED_I2CD_INTR_ALL +88 drivers/i2c/busses/i2c-aspeed.c
f327c686d3ba44e Brendan Higgins 2017-06-20 65
f327c686d3ba44e Brendan Higgins 2017-06-20 66 /* 0x0c : I2CD Interrupt Control Register &
f327c686d3ba44e Brendan Higgins 2017-06-20 67 * 0x10 : I2CD Interrupt Status Register
f327c686d3ba44e Brendan Higgins 2017-06-20 68 *
f327c686d3ba44e Brendan Higgins 2017-06-20 69 * These share bit definitions, so use the same values for the enable &
f327c686d3ba44e Brendan Higgins 2017-06-20 70 * status bits.
f327c686d3ba44e Brendan Higgins 2017-06-20 71 */
6d9e57527652ab1 Eddie James 2020-09-08 72 #define ASPEED_I2CD_INTR_ALL 0xf000ffff
f327c686d3ba44e Brendan Higgins 2017-06-20 73 #define ASPEED_I2CD_INTR_SDA_DL_TIMEOUT BIT(14)
f327c686d3ba44e Brendan Higgins 2017-06-20 74 #define ASPEED_I2CD_INTR_BUS_RECOVER_DONE BIT(13)
f9eb91350bb20b3 Brendan Higgins 2017-06-20 75 #define ASPEED_I2CD_INTR_SLAVE_MATCH BIT(7)
f327c686d3ba44e Brendan Higgins 2017-06-20 76 #define ASPEED_I2CD_INTR_SCL_TIMEOUT BIT(6)
f327c686d3ba44e Brendan Higgins 2017-06-20 77 #define ASPEED_I2CD_INTR_ABNORMAL BIT(5)
f327c686d3ba44e Brendan Higgins 2017-06-20 78 #define ASPEED_I2CD_INTR_NORMAL_STOP BIT(4)
f327c686d3ba44e Brendan Higgins 2017-06-20 79 #define ASPEED_I2CD_INTR_ARBIT_LOSS BIT(3)
f327c686d3ba44e Brendan Higgins 2017-06-20 80 #define ASPEED_I2CD_INTR_RX_DONE BIT(2)
f327c686d3ba44e Brendan Higgins 2017-06-20 81 #define ASPEED_I2CD_INTR_TX_NAK BIT(1)
f327c686d3ba44e Brendan Higgins 2017-06-20 82 #define ASPEED_I2CD_INTR_TX_ACK BIT(0)
3e9efc3299dd78a Jae Hyun Yoo 2018-08-23 83 #define ASPEED_I2CD_INTR_MASTER_ERRORS \
3e9efc3299dd78a Jae Hyun Yoo 2018-08-23 84 (ASPEED_I2CD_INTR_SDA_DL_TIMEOUT | \
3e9efc3299dd78a Jae Hyun Yoo 2018-08-23 85 ASPEED_I2CD_INTR_SCL_TIMEOUT | \
3e9efc3299dd78a Jae Hyun Yoo 2018-08-23 86 ASPEED_I2CD_INTR_ABNORMAL | \
3e9efc3299dd78a Jae Hyun Yoo 2018-08-23 87 ASPEED_I2CD_INTR_ARBIT_LOSS)
f327c686d3ba44e Brendan Higgins 2017-06-20 @88 #define ASPEED_I2CD_INTR_ALL \
f327c686d3ba44e Brendan Higgins 2017-06-20 89 (ASPEED_I2CD_INTR_SDA_DL_TIMEOUT | \
f327c686d3ba44e Brendan Higgins 2017-06-20 90 ASPEED_I2CD_INTR_BUS_RECOVER_DONE | \
f327c686d3ba44e Brendan Higgins 2017-06-20 91 ASPEED_I2CD_INTR_SCL_TIMEOUT | \
f327c686d3ba44e Brendan Higgins 2017-06-20 92 ASPEED_I2CD_INTR_ABNORMAL | \
f327c686d3ba44e Brendan Higgins 2017-06-20 93 ASPEED_I2CD_INTR_NORMAL_STOP | \
f327c686d3ba44e Brendan Higgins 2017-06-20 94 ASPEED_I2CD_INTR_ARBIT_LOSS | \
f327c686d3ba44e Brendan Higgins 2017-06-20 95 ASPEED_I2CD_INTR_RX_DONE | \
f327c686d3ba44e Brendan Higgins 2017-06-20 96 ASPEED_I2CD_INTR_TX_NAK | \
f327c686d3ba44e Brendan Higgins 2017-06-20 97 ASPEED_I2CD_INTR_TX_ACK)
f327c686d3ba44e Brendan Higgins 2017-06-20 98
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/[email protected]
Hi Eddie,
I love your patch! Perhaps something to improve:
[auto build test WARNING on joel-aspeed/for-next]
[also build test WARNING on wsa/i2c/for-next linus/master v5.9-rc4 next-20200908]
[cannot apply to input/next]
[If your patch is applied to the wrong git tree, kindly drop us a note.
And when submitting patch, we suggest to use '--base' as documented in
https://git-scm.com/docs/git-format-patch]
url: https://github.com/0day-ci/linux/commits/Eddie-James/input-misc-Add-IBM-Operation-Panel-driver/20200909-120637
base: https://git.kernel.org/pub/scm/linux/kernel/git/joel/aspeed.git for-next
config: h8300-randconfig-r016-20200909 (attached as .config)
compiler: h8300-linux-gcc (GCC) 9.3.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
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-9.3.0 make.cross ARCH=h8300
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <[email protected]>
All warnings (new ones prefixed by >>):
>> drivers/i2c/busses/i2c-aspeed.c:88: warning: "ASPEED_I2CD_INTR_ALL" redefined
88 | #define ASPEED_I2CD_INTR_ALL \
|
drivers/i2c/busses/i2c-aspeed.c:72: note: this is the location of the previous definition
72 | #define ASPEED_I2CD_INTR_ALL 0xf000ffff
|
# https://github.com/0day-ci/linux/commit/6d9e57527652ab1a348f68145e41e6a19d5dc0dc
git remote add linux-review https://github.com/0day-ci/linux
git fetch --no-tags linux-review Eddie-James/input-misc-Add-IBM-Operation-Panel-driver/20200909-120637
git checkout 6d9e57527652ab1a348f68145e41e6a19d5dc0dc
vim +/ASPEED_I2CD_INTR_ALL +88 drivers/i2c/busses/i2c-aspeed.c
f327c686d3ba44e Brendan Higgins 2017-06-20 65
f327c686d3ba44e Brendan Higgins 2017-06-20 66 /* 0x0c : I2CD Interrupt Control Register &
f327c686d3ba44e Brendan Higgins 2017-06-20 67 * 0x10 : I2CD Interrupt Status Register
f327c686d3ba44e Brendan Higgins 2017-06-20 68 *
f327c686d3ba44e Brendan Higgins 2017-06-20 69 * These share bit definitions, so use the same values for the enable &
f327c686d3ba44e Brendan Higgins 2017-06-20 70 * status bits.
f327c686d3ba44e Brendan Higgins 2017-06-20 71 */
6d9e57527652ab1 Eddie James 2020-09-08 72 #define ASPEED_I2CD_INTR_ALL 0xf000ffff
f327c686d3ba44e Brendan Higgins 2017-06-20 73 #define ASPEED_I2CD_INTR_SDA_DL_TIMEOUT BIT(14)
f327c686d3ba44e Brendan Higgins 2017-06-20 74 #define ASPEED_I2CD_INTR_BUS_RECOVER_DONE BIT(13)
f9eb91350bb20b3 Brendan Higgins 2017-06-20 75 #define ASPEED_I2CD_INTR_SLAVE_MATCH BIT(7)
f327c686d3ba44e Brendan Higgins 2017-06-20 76 #define ASPEED_I2CD_INTR_SCL_TIMEOUT BIT(6)
f327c686d3ba44e Brendan Higgins 2017-06-20 77 #define ASPEED_I2CD_INTR_ABNORMAL BIT(5)
f327c686d3ba44e Brendan Higgins 2017-06-20 78 #define ASPEED_I2CD_INTR_NORMAL_STOP BIT(4)
f327c686d3ba44e Brendan Higgins 2017-06-20 79 #define ASPEED_I2CD_INTR_ARBIT_LOSS BIT(3)
f327c686d3ba44e Brendan Higgins 2017-06-20 80 #define ASPEED_I2CD_INTR_RX_DONE BIT(2)
f327c686d3ba44e Brendan Higgins 2017-06-20 81 #define ASPEED_I2CD_INTR_TX_NAK BIT(1)
f327c686d3ba44e Brendan Higgins 2017-06-20 82 #define ASPEED_I2CD_INTR_TX_ACK BIT(0)
3e9efc3299dd78a Jae Hyun Yoo 2018-08-23 83 #define ASPEED_I2CD_INTR_MASTER_ERRORS \
3e9efc3299dd78a Jae Hyun Yoo 2018-08-23 84 (ASPEED_I2CD_INTR_SDA_DL_TIMEOUT | \
3e9efc3299dd78a Jae Hyun Yoo 2018-08-23 85 ASPEED_I2CD_INTR_SCL_TIMEOUT | \
3e9efc3299dd78a Jae Hyun Yoo 2018-08-23 86 ASPEED_I2CD_INTR_ABNORMAL | \
3e9efc3299dd78a Jae Hyun Yoo 2018-08-23 87 ASPEED_I2CD_INTR_ARBIT_LOSS)
f327c686d3ba44e Brendan Higgins 2017-06-20 @88 #define ASPEED_I2CD_INTR_ALL \
f327c686d3ba44e Brendan Higgins 2017-06-20 89 (ASPEED_I2CD_INTR_SDA_DL_TIMEOUT | \
f327c686d3ba44e Brendan Higgins 2017-06-20 90 ASPEED_I2CD_INTR_BUS_RECOVER_DONE | \
f327c686d3ba44e Brendan Higgins 2017-06-20 91 ASPEED_I2CD_INTR_SCL_TIMEOUT | \
f327c686d3ba44e Brendan Higgins 2017-06-20 92 ASPEED_I2CD_INTR_ABNORMAL | \
f327c686d3ba44e Brendan Higgins 2017-06-20 93 ASPEED_I2CD_INTR_NORMAL_STOP | \
f327c686d3ba44e Brendan Higgins 2017-06-20 94 ASPEED_I2CD_INTR_ARBIT_LOSS | \
f327c686d3ba44e Brendan Higgins 2017-06-20 95 ASPEED_I2CD_INTR_RX_DONE | \
f327c686d3ba44e Brendan Higgins 2017-06-20 96 ASPEED_I2CD_INTR_TX_NAK | \
f327c686d3ba44e Brendan Higgins 2017-06-20 97 ASPEED_I2CD_INTR_TX_ACK)
f327c686d3ba44e Brendan Higgins 2017-06-20 98
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/[email protected]