i2c: mediatek: mt65xx: add optional vbus-supply
authorHsin-Yi Wang <hsinyi@chromium.org>
Thu, 27 May 2021 07:55:55 +0000 (15:55 +0800)
committerWolfram Sang <wsa@kernel.org>
Fri, 28 May 2021 19:06:38 +0000 (21:06 +0200)
Add vbus-supply which provides power to SCL/SDA. Pass this regulator
into core so it can be turned on/off for low power mode support.

Signed-off-by: Hsin-Yi Wang <hsinyi@chromium.org>
Reviewed-by: Matthias Brugger <matthias.bgg@gmail.com>
Reviewed-by: Qii Wang <qii.wang@mediatek.com>
Signed-off-by: Wolfram Sang <wsa@kernel.org>
drivers/i2c/busses/i2c-mt65xx.c

index ea337ba..cb7fc76 100644 (file)
@@ -1220,6 +1220,13 @@ static int mtk_i2c_probe(struct platform_device *pdev)
        i2c->adap.quirks = i2c->dev_comp->quirks;
        i2c->adap.timeout = 2 * HZ;
        i2c->adap.retries = 1;
+       i2c->adap.bus_regulator = devm_regulator_get_optional(&pdev->dev, "vbus");
+       if (IS_ERR(i2c->adap.bus_regulator)) {
+               if (PTR_ERR(i2c->adap.bus_regulator) == -ENODEV)
+                       i2c->adap.bus_regulator = NULL;
+               else
+                       return PTR_ERR(i2c->adap.bus_regulator);
+       }
 
        ret = mtk_i2c_parse_dt(pdev->dev.of_node, i2c);
        if (ret)