From d40b3c0b3c3c7717510d0e91de6560028f5e4221 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Tue, 3 Jan 2023 16:41:08 +0000 Subject: [PATCH 0404/1085] media: dt-bindings: Add regulator to dw9807-vcm The VCM driver will often be controlled via a regulator, therefore add in the relevant DT hooks. Signed-off-by: Dave Stevenson --- .../devicetree/bindings/media/i2c/dongwoon,dw9807-vcm.yaml | 4 ++++ drivers/media/i2c/dw9807-vcm.c | 4 ++++ 2 files changed, 8 insertions(+) --- a/Documentation/devicetree/bindings/media/i2c/dongwoon,dw9807-vcm.yaml +++ b/Documentation/devicetree/bindings/media/i2c/dongwoon,dw9807-vcm.yaml @@ -27,6 +27,10 @@ properties: reg: maxItems: 1 + VDD-supply: + description: + Definition of the regulator used as VDD power supply to the driver. + required: - compatible - reg --- a/drivers/media/i2c/dw9807-vcm.c +++ b/drivers/media/i2c/dw9807-vcm.c @@ -301,6 +301,10 @@ static void dw9807_remove(struct i2c_cli struct v4l2_subdev *sd = i2c_get_clientdata(client); struct dw9807_device *dw9807_dev = sd_to_dw9807_vcm(sd); + if (dw9807_dev->vdd) + regulator_unregister_notifier(dw9807_dev->vdd, + &dw9807_dev->notifier); + pm_runtime_disable(&client->dev); dw9807_subdev_cleanup(dw9807_dev);