diff mbox series

[1/1] i2c: Add nop fwnode operations

Message ID 20240614081418.2506288-1-sakari.ailus@linux.intel.com
State Accepted
Headers show
Series [1/1] i2c: Add nop fwnode operations | expand

Commit Message

Sakari Ailus June 14, 2024, 8:14 a.m. UTC
Add nop variants of i2c_find_device_by_fwnode(),
i2c_find_adapter_by_fwnode() and i2c_get_adapter_by_fwnode() for use
without CONFIG_I2C.

Signed-off-by: Sakari Ailus <sakari.ailus@linux.intel.com>
---
Hi Wolfram, others,

This is to support COMPILE_TEST (drivers/media/pci/intel/ipu-bridge.c for
instance). Alternatively we'd need #ifdefs. Similar OF functions have
dummies, too.

We currently get:

ERROR: modpost: "i2c_acpi_new_device_by_fwnode" [drivers/media/pci/intel/ipu-bridge.ko] undefined!
ERROR: modpost: "i2c_find_device_by_fwnode" [drivers/media/pci/intel/ipu-bridge.ko] undefined!

- Sakari

 include/linux/i2c.h | 24 ++++++++++++++++++++++--
 1 file changed, 22 insertions(+), 2 deletions(-)

Comments

Wolfram Sang June 21, 2024, 11:36 a.m. UTC | #1
On Fri, Jun 14, 2024 at 11:14:18AM GMT, Sakari Ailus wrote:
> Add nop variants of i2c_find_device_by_fwnode(),
> i2c_find_adapter_by_fwnode() and i2c_get_adapter_by_fwnode() for use
> without CONFIG_I2C.
> 
> Signed-off-by: Sakari Ailus <sakari.ailus@linux.intel.com>

Applied to for-current, thanks!
Sakari Ailus June 21, 2024, 5:42 p.m. UTC | #2
On Fri, Jun 21, 2024 at 01:36:19PM +0200, Wolfram Sang wrote:
> On Fri, Jun 14, 2024 at 11:14:18AM GMT, Sakari Ailus wrote:
> > Add nop variants of i2c_find_device_by_fwnode(),
> > i2c_find_adapter_by_fwnode() and i2c_get_adapter_by_fwnode() for use
> > without CONFIG_I2C.
> > 
> > Signed-off-by: Sakari Ailus <sakari.ailus@linux.intel.com>
> 
> Applied to for-current, thanks!

Thank you, Wolfram!
diff mbox series

Patch

diff --git a/include/linux/i2c.h b/include/linux/i2c.h
index 9709537370ee..424acb98c7c2 100644
--- a/include/linux/i2c.h
+++ b/include/linux/i2c.h
@@ -960,8 +960,6 @@  int i2c_handle_smbus_host_notify(struct i2c_adapter *adap, unsigned short addr);
 #define builtin_i2c_driver(__i2c_driver) \
 	builtin_driver(__i2c_driver, i2c_add_driver)
 
-#endif /* I2C */
-
 /* must call put_device() when done with returned i2c_client device */
 struct i2c_client *i2c_find_device_by_fwnode(struct fwnode_handle *fwnode);
 
@@ -971,6 +969,28 @@  struct i2c_adapter *i2c_find_adapter_by_fwnode(struct fwnode_handle *fwnode);
 /* must call i2c_put_adapter() when done with returned i2c_adapter device */
 struct i2c_adapter *i2c_get_adapter_by_fwnode(struct fwnode_handle *fwnode);
 
+#else /* I2C */
+
+static inline struct i2c_client *
+i2c_find_device_by_fwnode(struct fwnode_handle *fwnode)
+{
+	return NULL;
+}
+
+static inline struct i2c_adapter *
+i2c_find_adapter_by_fwnode(struct fwnode_handle *fwnode)
+{
+	return NULL;
+}
+
+static inline struct i2c_adapter *
+i2c_get_adapter_by_fwnode(struct fwnode_handle *fwnode)
+{
+	return NULL;
+}
+
+#endif /* !I2C */
+
 #if IS_ENABLED(CONFIG_OF)
 /* must call put_device() when done with returned i2c_client device */
 static inline struct i2c_client *of_find_i2c_device_by_node(struct device_node *node)