Make use of SCCB APIs for regmap operations.
Remove i2c_check_functionality as devm_regmap_init_sccb
does it for us.

Signed-off-by: Raag Jadav <[email protected]>
---
Changes since v1:
- Changed commit message.
- Added SCCB config for ov7740.

 drivers/media/i2c/Kconfig  |  2 +-
 drivers/media/i2c/ov7740.c | 10 +---------
 2 files changed, 2 insertions(+), 10 deletions(-)

diff --git a/drivers/media/i2c/Kconfig b/drivers/media/i2c/Kconfig
index da11036..c7d5722 100644
--- a/drivers/media/i2c/Kconfig
+++ b/drivers/media/i2c/Kconfig
@@ -1001,7 +1001,7 @@ config VIDEO_OV7670
 config VIDEO_OV7740
        tristate "OmniVision OV7740 sensor support"
        depends on I2C && VIDEO_V4L2
-       select REGMAP_I2C
+       select REGMAP_SCCB
        help
          This is a Video4Linux2 sensor driver for the OmniVision
          OV7740 VGA camera sensor.
diff --git a/drivers/media/i2c/ov7740.c b/drivers/media/i2c/ov7740.c
index 732655f..5832461 100644
--- a/drivers/media/i2c/ov7740.c
+++ b/drivers/media/i2c/ov7740.c
@@ -1068,13 +1068,6 @@ static int ov7740_probe(struct i2c_client *client)
        struct v4l2_subdev *sd;
        int ret;
 
-       if (!i2c_check_functionality(client->adapter,
-                                    I2C_FUNC_SMBUS_BYTE_DATA)) {
-               dev_err(&client->dev,
-                       "OV7740: I2C-Adapter doesn't support SMBUS\n");
-               return -EIO;
-       }
-
        ov7740 = devm_kzalloc(&client->dev, sizeof(*ov7740), GFP_KERNEL);
        if (!ov7740)
                return -ENOMEM;
@@ -1091,7 +1084,7 @@ static int ov7740_probe(struct i2c_client *client)
        if (ret)
                return ret;
 
-       ov7740->regmap = devm_regmap_init_i2c(client, &ov7740_regmap_config);
+       ov7740->regmap = devm_regmap_init_sccb(client, &ov7740_regmap_config);
        if (IS_ERR(ov7740->regmap)) {
                ret = PTR_ERR(ov7740->regmap);
                dev_err(&client->dev, "Failed to allocate register map: %d\n",
@@ -1100,7 +1093,6 @@ static int ov7740_probe(struct i2c_client *client)
        }
 
        sd = &ov7740->subdev;
-       client->flags |= I2C_CLIENT_SCCB;
        v4l2_i2c_subdev_init(sd, client, &ov7740_subdev_ops);
 
 #ifdef CONFIG_VIDEO_V4L2_SUBDEV_API
-- 
2.7.4

Reply via email to