From: kernel test robot <lkp@intel.com>
To: Andy Shevchenko <andriy.shevchenko@linux.intel.com>,
Andi Shyti <andi.shyti@kernel.org>,
linux-i2c@vger.kernel.org, linux-kernel@vger.kernel.org
Cc: oe-kbuild-all@lists.linux.dev,
Wolfram Sang <wsa-dev@sang-engineering.com>,
Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Subject: Re: [PATCH v1 1/1] i2c: busses: Use *-y instead of *-objs in Makefile
Date: Sat, 2 Nov 2024 07:51:10 +0800 [thread overview]
Message-ID: <202411020703.U4QYsqjF-lkp@intel.com> (raw)
In-Reply-To: <20241101131103.3679560-1-andriy.shevchenko@linux.intel.com>
Hi Andy,
kernel test robot noticed the following build errors:
[auto build test ERROR on andi-shyti/i2c/i2c-host]
[also build test ERROR on linus/master v6.12-rc5 next-20241101]
[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#_base_tree_information]
url: https://github.com/intel-lab-lkp/linux/commits/Andy-Shevchenko/i2c-busses-Use-y-instead-of-objs-in-Makefile/20241101-211148
base: https://git.kernel.org/pub/scm/linux/kernel/git/andi.shyti/linux.git i2c/i2c-host
patch link: https://lore.kernel.org/r/20241101131103.3679560-1-andriy.shevchenko%40linux.intel.com
patch subject: [PATCH v1 1/1] i2c: busses: Use *-y instead of *-objs in Makefile
config: m68k-allmodconfig (https://download.01.org/0day-ci/archive/20241102/202411020703.U4QYsqjF-lkp@intel.com/config)
compiler: m68k-linux-gcc (GCC) 14.1.0
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20241102/202411020703.U4QYsqjF-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/202411020703.U4QYsqjF-lkp@intel.com/
All errors (new ones prefixed by >>):
drivers/i2c/busses/i2c-at91-slave.c: In function 'atmel_twi_interrupt_slave':
>> drivers/i2c/busses/i2c-at91-slave.c:28:44: error: 'struct at91_twi_dev' has no member named 'slave'
28 | i2c_slave_event(dev->slave,
| ^~
drivers/i2c/busses/i2c-at91-slave.c:34:44: error: 'struct at91_twi_dev' has no member named 'slave'
34 | i2c_slave_event(dev->slave,
| ^~
drivers/i2c/busses/i2c-at91-slave.c:44:36: error: 'struct at91_twi_dev' has no member named 'slave'
44 | i2c_slave_event(dev->slave, I2C_SLAVE_READ_PROCESSED, &value);
| ^~
drivers/i2c/busses/i2c-at91-slave.c:51:36: error: 'struct at91_twi_dev' has no member named 'slave'
51 | i2c_slave_event(dev->slave, I2C_SLAVE_WRITE_RECEIVED, &value);
| ^~
drivers/i2c/busses/i2c-at91-slave.c:59:36: error: 'struct at91_twi_dev' has no member named 'slave'
59 | i2c_slave_event(dev->slave, I2C_SLAVE_STOP, &value);
| ^~
drivers/i2c/busses/i2c-at91-slave.c: In function 'at91_reg_slave':
drivers/i2c/busses/i2c-at91-slave.c:69:16: error: 'struct at91_twi_dev' has no member named 'slave'
69 | if (dev->slave)
| ^~
drivers/i2c/busses/i2c-at91-slave.c:78:12: error: 'struct at91_twi_dev' has no member named 'slave'
78 | dev->slave = slave;
| ^~
>> drivers/i2c/busses/i2c-at91-slave.c:79:14: error: 'struct at91_twi_dev' has no member named 'smr'; did you mean 'imr'?
79 | dev->smr = AT91_TWI_SMR_SADR(slave->addr);
| ^~~
| imr
In file included from arch/m68k/include/asm/bug.h:32,
from include/linux/bug.h:5,
from include/linux/thread_info.h:13,
from include/asm-generic/preempt.h:5,
from ./arch/m68k/include/generated/asm/preempt.h:1,
from include/linux/preempt.h:79,
from include/linux/spinlock.h:56,
from include/linux/mmzone.h:8,
from include/linux/gfp.h:7,
from include/linux/slab.h:16,
from include/linux/resource_ext.h:11,
from include/linux/acpi.h:13,
from include/linux/i2c.h:13,
from drivers/i2c/busses/i2c-at91-slave.c:9:
drivers/i2c/busses/i2c-at91-slave.c: In function 'at91_unreg_slave':
drivers/i2c/busses/i2c-at91-slave.c:93:21: error: 'struct at91_twi_dev' has no member named 'slave'
93 | WARN_ON(!dev->slave);
| ^~
include/asm-generic/bug.h:123:32: note: in definition of macro 'WARN_ON'
123 | int __ret_warn_on = !!(condition); \
| ^~~~~~~~~
drivers/i2c/busses/i2c-at91-slave.c:97:12: error: 'struct at91_twi_dev' has no member named 'slave'
97 | dev->slave = NULL;
| ^~
drivers/i2c/busses/i2c-at91-slave.c:98:14: error: 'struct at91_twi_dev' has no member named 'smr'; did you mean 'imr'?
98 | dev->smr = 0;
| ^~~
| imr
drivers/i2c/busses/i2c-at91-slave.c: At top level:
>> drivers/i2c/busses/i2c-at91-slave.c:118:5: error: redefinition of 'at91_twi_probe_slave'
118 | int at91_twi_probe_slave(struct platform_device *pdev,
| ^~~~~~~~~~~~~~~~~~~~
In file included from drivers/i2c/busses/i2c-at91-slave.c:13:
drivers/i2c/busses/i2c-at91.h:185:19: note: previous definition of 'at91_twi_probe_slave' with type 'int(struct platform_device *, u32, struct at91_twi_dev *)' {aka 'int(struct platform_device *, unsigned int, struct at91_twi_dev *)'}
185 | static inline int at91_twi_probe_slave(struct platform_device *pdev,
| ^~~~~~~~~~~~~~~~~~~~
>> drivers/i2c/busses/i2c-at91-slave.c:135:6: error: redefinition of 'at91_init_twi_bus_slave'
135 | void at91_init_twi_bus_slave(struct at91_twi_dev *dev)
| ^~~~~~~~~~~~~~~~~~~~~~~
drivers/i2c/busses/i2c-at91.h:184:20: note: previous definition of 'at91_init_twi_bus_slave' with type 'void(struct at91_twi_dev *)'
184 | static inline void at91_init_twi_bus_slave(struct at91_twi_dev *dev) {}
| ^~~~~~~~~~~~~~~~~~~~~~~
drivers/i2c/busses/i2c-at91-slave.c: In function 'at91_init_twi_bus_slave':
drivers/i2c/busses/i2c-at91-slave.c:138:41: error: 'struct at91_twi_dev' has no member named 'smr'; did you mean 'imr'?
138 | if (dev->slave_detected && dev->smr) {
| ^~~
| imr
drivers/i2c/busses/i2c-at91-slave.c:139:56: error: 'struct at91_twi_dev' has no member named 'smr'; did you mean 'imr'?
139 | at91_twi_write(dev, AT91_TWI_SMR, dev->smr);
| ^~~
| imr
Kconfig warnings: (for reference only)
WARNING: unmet direct dependencies detected for GET_FREE_REGION
Depends on [n]: SPARSEMEM [=n]
Selected by [m]:
- RESOURCE_KUNIT_TEST [=m] && RUNTIME_TESTING_MENU [=y] && KUNIT [=m]
vim +28 drivers/i2c/busses/i2c-at91-slave.c
9d3ca54b550ca0 Juergen Fitschen 2019-02-22 14
9d3ca54b550ca0 Juergen Fitschen 2019-02-22 15 static irqreturn_t atmel_twi_interrupt_slave(int irq, void *dev_id)
9d3ca54b550ca0 Juergen Fitschen 2019-02-22 16 {
9d3ca54b550ca0 Juergen Fitschen 2019-02-22 17 struct at91_twi_dev *dev = dev_id;
9d3ca54b550ca0 Juergen Fitschen 2019-02-22 18 const unsigned status = at91_twi_read(dev, AT91_TWI_SR);
9d3ca54b550ca0 Juergen Fitschen 2019-02-22 19 const unsigned irqstatus = status & at91_twi_read(dev, AT91_TWI_IMR);
9d3ca54b550ca0 Juergen Fitschen 2019-02-22 20 u8 value;
9d3ca54b550ca0 Juergen Fitschen 2019-02-22 21
9d3ca54b550ca0 Juergen Fitschen 2019-02-22 22 if (!irqstatus)
9d3ca54b550ca0 Juergen Fitschen 2019-02-22 23 return IRQ_NONE;
9d3ca54b550ca0 Juergen Fitschen 2019-02-22 24
9d3ca54b550ca0 Juergen Fitschen 2019-02-22 25 /* slave address has been detected on I2C bus */
9d3ca54b550ca0 Juergen Fitschen 2019-02-22 26 if (irqstatus & AT91_TWI_SVACC) {
9d3ca54b550ca0 Juergen Fitschen 2019-02-22 27 if (status & AT91_TWI_SVREAD) {
9d3ca54b550ca0 Juergen Fitschen 2019-02-22 @28 i2c_slave_event(dev->slave,
9d3ca54b550ca0 Juergen Fitschen 2019-02-22 29 I2C_SLAVE_READ_REQUESTED, &value);
9d3ca54b550ca0 Juergen Fitschen 2019-02-22 30 writeb_relaxed(value, dev->base + AT91_TWI_THR);
9d3ca54b550ca0 Juergen Fitschen 2019-02-22 31 at91_twi_write(dev, AT91_TWI_IER,
9d3ca54b550ca0 Juergen Fitschen 2019-02-22 32 AT91_TWI_TXRDY | AT91_TWI_EOSACC);
9d3ca54b550ca0 Juergen Fitschen 2019-02-22 33 } else {
9d3ca54b550ca0 Juergen Fitschen 2019-02-22 34 i2c_slave_event(dev->slave,
9d3ca54b550ca0 Juergen Fitschen 2019-02-22 35 I2C_SLAVE_WRITE_REQUESTED, &value);
9d3ca54b550ca0 Juergen Fitschen 2019-02-22 36 at91_twi_write(dev, AT91_TWI_IER,
9d3ca54b550ca0 Juergen Fitschen 2019-02-22 37 AT91_TWI_RXRDY | AT91_TWI_EOSACC);
9d3ca54b550ca0 Juergen Fitschen 2019-02-22 38 }
9d3ca54b550ca0 Juergen Fitschen 2019-02-22 39 at91_twi_write(dev, AT91_TWI_IDR, AT91_TWI_SVACC);
9d3ca54b550ca0 Juergen Fitschen 2019-02-22 40 }
9d3ca54b550ca0 Juergen Fitschen 2019-02-22 41
9d3ca54b550ca0 Juergen Fitschen 2019-02-22 42 /* byte transmitted to remote master */
9d3ca54b550ca0 Juergen Fitschen 2019-02-22 43 if (irqstatus & AT91_TWI_TXRDY) {
9d3ca54b550ca0 Juergen Fitschen 2019-02-22 44 i2c_slave_event(dev->slave, I2C_SLAVE_READ_PROCESSED, &value);
9d3ca54b550ca0 Juergen Fitschen 2019-02-22 45 writeb_relaxed(value, dev->base + AT91_TWI_THR);
9d3ca54b550ca0 Juergen Fitschen 2019-02-22 46 }
9d3ca54b550ca0 Juergen Fitschen 2019-02-22 47
9d3ca54b550ca0 Juergen Fitschen 2019-02-22 48 /* byte received from remote master */
9d3ca54b550ca0 Juergen Fitschen 2019-02-22 49 if (irqstatus & AT91_TWI_RXRDY) {
9d3ca54b550ca0 Juergen Fitschen 2019-02-22 50 value = readb_relaxed(dev->base + AT91_TWI_RHR);
9d3ca54b550ca0 Juergen Fitschen 2019-02-22 51 i2c_slave_event(dev->slave, I2C_SLAVE_WRITE_RECEIVED, &value);
9d3ca54b550ca0 Juergen Fitschen 2019-02-22 52 }
9d3ca54b550ca0 Juergen Fitschen 2019-02-22 53
9d3ca54b550ca0 Juergen Fitschen 2019-02-22 54 /* master sent stop */
9d3ca54b550ca0 Juergen Fitschen 2019-02-22 55 if (irqstatus & AT91_TWI_EOSACC) {
9d3ca54b550ca0 Juergen Fitschen 2019-02-22 56 at91_twi_write(dev, AT91_TWI_IDR,
9d3ca54b550ca0 Juergen Fitschen 2019-02-22 57 AT91_TWI_TXRDY | AT91_TWI_RXRDY | AT91_TWI_EOSACC);
9d3ca54b550ca0 Juergen Fitschen 2019-02-22 58 at91_twi_write(dev, AT91_TWI_IER, AT91_TWI_SVACC);
9d3ca54b550ca0 Juergen Fitschen 2019-02-22 59 i2c_slave_event(dev->slave, I2C_SLAVE_STOP, &value);
9d3ca54b550ca0 Juergen Fitschen 2019-02-22 60 }
9d3ca54b550ca0 Juergen Fitschen 2019-02-22 61
9d3ca54b550ca0 Juergen Fitschen 2019-02-22 62 return IRQ_HANDLED;
9d3ca54b550ca0 Juergen Fitschen 2019-02-22 63 }
9d3ca54b550ca0 Juergen Fitschen 2019-02-22 64
9d3ca54b550ca0 Juergen Fitschen 2019-02-22 65 static int at91_reg_slave(struct i2c_client *slave)
9d3ca54b550ca0 Juergen Fitschen 2019-02-22 66 {
9d3ca54b550ca0 Juergen Fitschen 2019-02-22 67 struct at91_twi_dev *dev = i2c_get_adapdata(slave->adapter);
9d3ca54b550ca0 Juergen Fitschen 2019-02-22 68
9d3ca54b550ca0 Juergen Fitschen 2019-02-22 @69 if (dev->slave)
9d3ca54b550ca0 Juergen Fitschen 2019-02-22 70 return -EBUSY;
9d3ca54b550ca0 Juergen Fitschen 2019-02-22 71
9d3ca54b550ca0 Juergen Fitschen 2019-02-22 72 if (slave->flags & I2C_CLIENT_TEN)
9d3ca54b550ca0 Juergen Fitschen 2019-02-22 73 return -EAFNOSUPPORT;
9d3ca54b550ca0 Juergen Fitschen 2019-02-22 74
9d3ca54b550ca0 Juergen Fitschen 2019-02-22 75 /* Make sure twi_clk doesn't get turned off! */
9d3ca54b550ca0 Juergen Fitschen 2019-02-22 76 pm_runtime_get_sync(dev->dev);
9d3ca54b550ca0 Juergen Fitschen 2019-02-22 77
9d3ca54b550ca0 Juergen Fitschen 2019-02-22 78 dev->slave = slave;
9d3ca54b550ca0 Juergen Fitschen 2019-02-22 @79 dev->smr = AT91_TWI_SMR_SADR(slave->addr);
9d3ca54b550ca0 Juergen Fitschen 2019-02-22 80
9d3ca54b550ca0 Juergen Fitschen 2019-02-22 81 at91_init_twi_bus(dev);
9d3ca54b550ca0 Juergen Fitschen 2019-02-22 82 at91_twi_write(dev, AT91_TWI_IER, AT91_TWI_SVACC);
9d3ca54b550ca0 Juergen Fitschen 2019-02-22 83
9d3ca54b550ca0 Juergen Fitschen 2019-02-22 84 dev_info(dev->dev, "entered slave mode (ADR=%d)\n", slave->addr);
9d3ca54b550ca0 Juergen Fitschen 2019-02-22 85
9d3ca54b550ca0 Juergen Fitschen 2019-02-22 86 return 0;
9d3ca54b550ca0 Juergen Fitschen 2019-02-22 87 }
9d3ca54b550ca0 Juergen Fitschen 2019-02-22 88
9d3ca54b550ca0 Juergen Fitschen 2019-02-22 89 static int at91_unreg_slave(struct i2c_client *slave)
9d3ca54b550ca0 Juergen Fitschen 2019-02-22 90 {
9d3ca54b550ca0 Juergen Fitschen 2019-02-22 91 struct at91_twi_dev *dev = i2c_get_adapdata(slave->adapter);
9d3ca54b550ca0 Juergen Fitschen 2019-02-22 92
9d3ca54b550ca0 Juergen Fitschen 2019-02-22 93 WARN_ON(!dev->slave);
9d3ca54b550ca0 Juergen Fitschen 2019-02-22 94
9d3ca54b550ca0 Juergen Fitschen 2019-02-22 95 dev_info(dev->dev, "leaving slave mode\n");
9d3ca54b550ca0 Juergen Fitschen 2019-02-22 96
9d3ca54b550ca0 Juergen Fitschen 2019-02-22 @97 dev->slave = NULL;
9d3ca54b550ca0 Juergen Fitschen 2019-02-22 98 dev->smr = 0;
9d3ca54b550ca0 Juergen Fitschen 2019-02-22 99
9d3ca54b550ca0 Juergen Fitschen 2019-02-22 100 at91_init_twi_bus(dev);
9d3ca54b550ca0 Juergen Fitschen 2019-02-22 101
9d3ca54b550ca0 Juergen Fitschen 2019-02-22 102 pm_runtime_put(dev->dev);
9d3ca54b550ca0 Juergen Fitschen 2019-02-22 103
9d3ca54b550ca0 Juergen Fitschen 2019-02-22 104 return 0;
9d3ca54b550ca0 Juergen Fitschen 2019-02-22 105 }
9d3ca54b550ca0 Juergen Fitschen 2019-02-22 106
9d3ca54b550ca0 Juergen Fitschen 2019-02-22 107 static u32 at91_twi_func(struct i2c_adapter *adapter)
9d3ca54b550ca0 Juergen Fitschen 2019-02-22 108 {
d6d5645e5fc123 Jean Delvare 2024-05-31 109 return I2C_FUNC_SLAVE;
9d3ca54b550ca0 Juergen Fitschen 2019-02-22 110 }
9d3ca54b550ca0 Juergen Fitschen 2019-02-22 111
9d3ca54b550ca0 Juergen Fitschen 2019-02-22 112 static const struct i2c_algorithm at91_twi_algorithm_slave = {
9d3ca54b550ca0 Juergen Fitschen 2019-02-22 113 .reg_slave = at91_reg_slave,
9d3ca54b550ca0 Juergen Fitschen 2019-02-22 114 .unreg_slave = at91_unreg_slave,
9d3ca54b550ca0 Juergen Fitschen 2019-02-22 115 .functionality = at91_twi_func,
9d3ca54b550ca0 Juergen Fitschen 2019-02-22 116 };
9d3ca54b550ca0 Juergen Fitschen 2019-02-22 117
9d3ca54b550ca0 Juergen Fitschen 2019-02-22 @118 int at91_twi_probe_slave(struct platform_device *pdev,
9d3ca54b550ca0 Juergen Fitschen 2019-02-22 119 u32 phy_addr, struct at91_twi_dev *dev)
9d3ca54b550ca0 Juergen Fitschen 2019-02-22 120 {
9d3ca54b550ca0 Juergen Fitschen 2019-02-22 121 int rc;
9d3ca54b550ca0 Juergen Fitschen 2019-02-22 122
9d3ca54b550ca0 Juergen Fitschen 2019-02-22 123 rc = devm_request_irq(&pdev->dev, dev->irq, atmel_twi_interrupt_slave,
9d3ca54b550ca0 Juergen Fitschen 2019-02-22 124 0, dev_name(dev->dev), dev);
9d3ca54b550ca0 Juergen Fitschen 2019-02-22 125 if (rc) {
9d3ca54b550ca0 Juergen Fitschen 2019-02-22 126 dev_err(dev->dev, "Cannot get irq %d: %d\n", dev->irq, rc);
9d3ca54b550ca0 Juergen Fitschen 2019-02-22 127 return rc;
9d3ca54b550ca0 Juergen Fitschen 2019-02-22 128 }
9d3ca54b550ca0 Juergen Fitschen 2019-02-22 129
9d3ca54b550ca0 Juergen Fitschen 2019-02-22 130 dev->adapter.algo = &at91_twi_algorithm_slave;
9d3ca54b550ca0 Juergen Fitschen 2019-02-22 131
9d3ca54b550ca0 Juergen Fitschen 2019-02-22 132 return 0;
9d3ca54b550ca0 Juergen Fitschen 2019-02-22 133 }
9d3ca54b550ca0 Juergen Fitschen 2019-02-22 134
9d3ca54b550ca0 Juergen Fitschen 2019-02-22 @135 void at91_init_twi_bus_slave(struct at91_twi_dev *dev)
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
prev parent reply other threads:[~2024-11-01 23:52 UTC|newest]
Thread overview: 3+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-11-01 13:11 [PATCH v1 1/1] i2c: busses: Use *-y instead of *-objs in Makefile Andy Shevchenko
2024-11-01 23:30 ` kernel test robot
2024-11-01 23:51 ` kernel test robot [this message]
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=202411020703.U4QYsqjF-lkp@intel.com \
--to=lkp@intel.com \
--cc=andi.shyti@kernel.org \
--cc=andriy.shevchenko@linux.intel.com \
--cc=linux-i2c@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=oe-kbuild-all@lists.linux.dev \
--cc=wsa-dev@sang-engineering.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
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.