Commit 8564f88d authored by Frank Li's avatar Frank Li Committed by Alexandre Belloni
Browse files

i3c: Add stub functions when I3C support is disabled



When I3C is disabled, unused functions are removed by the linker because
the driver relies on regmap and no I3C devices are registered, so normal
I3C paths are never called.

However, some drivers may still call low-level I3C transfer helpers.
Provide stub implementations to avoid adding conditional ifdefs everywhere.

Add stubs for i3c_device_do_xfers() and
i3c_device_get_supported_xfer_mode() only. Other stubs will be introduced
when they are actually needed.

Reported-by: default avatarkernel test robot <lkp@intel.com>
Closes: https://lore.kernel.org/oe-kbuild-all/202512230418.nu3V6Yua-lkp@intel.com/


Signed-off-by: default avatarFrank Li <Frank.Li@nxp.com>
Link: https://patch.msgid.link/20251230145718.4088694-1-Frank.Li@nxp.com


Signed-off-by: default avatarAlexandre Belloni <alexandre.belloni@bootlin.com>
parent ceff3bc1
Loading
Loading
Loading
Loading
+15 −1
Original line number Diff line number Diff line
@@ -305,8 +305,23 @@ static __always_inline void i3c_i2c_driver_unregister(struct i3c_driver *i3cdrv,
		      i3c_i2c_driver_unregister,	\
		      __i2cdrv)

#if IS_ENABLED(CONFIG_I3C)
int i3c_device_do_xfers(struct i3c_device *dev, struct i3c_xfer *xfers,
			int nxfers, enum i3c_xfer_mode mode);
u32 i3c_device_get_supported_xfer_mode(struct i3c_device *dev);
#else
static inline int
i3c_device_do_xfers(struct i3c_device *dev, struct i3c_xfer *xfers,
		    int nxfers, enum i3c_xfer_mode mode)
{
	return -EOPNOTSUPP;
}

static inline u32 i3c_device_get_supported_xfer_mode(struct i3c_device *dev)
{
	return 0;
}
#endif

int i3c_device_do_setdasa(struct i3c_device *dev);

@@ -348,6 +363,5 @@ int i3c_device_request_ibi(struct i3c_device *dev,
void i3c_device_free_ibi(struct i3c_device *dev);
int i3c_device_enable_ibi(struct i3c_device *dev);
int i3c_device_disable_ibi(struct i3c_device *dev);
u32 i3c_device_get_supported_xfer_mode(struct i3c_device *dev);

#endif /* I3C_DEV_H */