serial: max310x: add I2C device table for instantiation from userspace
authorHugo Villeneuve <hvilleneuve@dimonoff.com>
Thu, 18 Jan 2024 15:21:58 +0000 (10:21 -0500)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Sun, 28 Jan 2024 03:05:03 +0000 (19:05 -0800)
This allows to instantiate a max14830 I2C device from userspace.

Helpful when testing driver with i2c-stub.

Reviewed-by: Andy Shevchenko <andy.shevchenko@gmail.com>
Signed-off-by: Hugo Villeneuve <hvilleneuve@dimonoff.com>
Link: https://lore.kernel.org/r/20240118152213.2644269-3-hugo@hugovil.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/tty/serial/max310x.c

index 4a33fd950ed2bfe9879b6c7e70d1ff6de27187dc..053cf2458264eedf029433815fdf9b49741e4101 100644 (file)
@@ -1639,6 +1639,15 @@ static void max310x_i2c_remove(struct i2c_client *client)
        max310x_remove(&client->dev);
 }
 
+static const struct i2c_device_id max310x_i2c_id_table[] = {
+       { "max3107",    (kernel_ulong_t)&max3107_devtype, },
+       { "max3108",    (kernel_ulong_t)&max3108_devtype, },
+       { "max3109",    (kernel_ulong_t)&max3109_devtype, },
+       { "max14830",   (kernel_ulong_t)&max14830_devtype, },
+       { }
+};
+MODULE_DEVICE_TABLE(i2c, max310x_i2c_id_table);
+
 static struct i2c_driver max310x_i2c_driver = {
        .driver = {
                .name           = MAX310X_NAME,
@@ -1647,6 +1656,7 @@ static struct i2c_driver max310x_i2c_driver = {
        },
        .probe          = max310x_i2c_probe,
        .remove         = max310x_i2c_remove,
+       .id_table       = max310x_i2c_id_table,
 };
 #endif