rtc: rv3028: make rv3028 probeable from userspace
authorJohannes Kirchmair <johannes.kirchmair@sigmatek.at>
Mon, 27 Mar 2023 08:55:50 +0000 (10:55 +0200)
committerAlexandre Belloni <alexandre.belloni@bootlin.com>
Sun, 25 Jun 2023 23:05:13 +0000 (01:05 +0200)
With this commit, it will be possible to bind a rv3028 device from
userspace

This is done by:
echo rtc-rv3028 0x52 > /sys/bus/i2c/devices/i2c-XX/new_device

Signed-off-by: Johannes Kirchmair <johannes.kirchmair@sigmatek.at>
Link: https://lore.kernel.org/r/20230327085550.1721861-1-johannes.kirchmair@sigmatek.at
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
drivers/rtc/rtc-rv3028.c

index 5595a46..076e56f 100644 (file)
@@ -994,12 +994,19 @@ static const __maybe_unused struct of_device_id rv3028_of_match[] = {
 };
 MODULE_DEVICE_TABLE(of, rv3028_of_match);
 
+static const struct i2c_device_id rv3028_id_table[] = {
+       { .name = "rv3028", },
+       { }
+};
+MODULE_DEVICE_TABLE(i2c, rv3028_id_table);
+
 static struct i2c_driver rv3028_driver = {
        .driver = {
                .name = "rtc-rv3028",
                .acpi_match_table = rv3028_i2c_acpi_match,
                .of_match_table = of_match_ptr(rv3028_of_match),
        },
+       .id_table       = rv3028_id_table,
        .probe          = rv3028_probe,
 };
 module_i2c_driver(rv3028_driver);