From fbfb91456f3c30af7147c1057e5fbd798554b6e5 Mon Sep 17 00:00:00 2001 From: Hans Verkuil Date: Fri, 14 Sep 2007 04:49:16 -0300 Subject: [PATCH] --- yaml --- r: 76331 b: refs/heads/master c: 88307eb3c69c80a705072e68463d8f72005fc027 h: refs/heads/master i: 76329: 4d827adf146239542896492c0d17d74853b35004 76327: 67c9ced2125442ae1c37ed4fd9498688ddbf195d v: v3 --- [refs] | 2 +- trunk/include/media/v4l2-i2c-drv-legacy.h | 6 ++++++ trunk/include/media/v4l2-i2c-drv.h | 1 + 3 files changed, 8 insertions(+), 1 deletion(-) diff --git a/[refs] b/[refs] index 66afa6516f47..e351715317ac 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 1a39275a3f2fc6fbdb876f5121d67d4b13310c5b +refs/heads/master: 88307eb3c69c80a705072e68463d8f72005fc027 diff --git a/trunk/include/media/v4l2-i2c-drv-legacy.h b/trunk/include/media/v4l2-i2c-drv-legacy.h index c059b32844c1..433c984eefa5 100644 --- a/trunk/include/media/v4l2-i2c-drv-legacy.h +++ b/trunk/include/media/v4l2-i2c-drv-legacy.h @@ -29,6 +29,7 @@ struct v4l2_i2c_driver_data { int (*remove)(struct i2c_client *client); int (*suspend)(struct i2c_client *client, pm_message_t state); int (*resume)(struct i2c_client *client); + int (*legacy_probe)(struct i2c_adapter *adapter); int legacy_class; }; @@ -45,6 +46,11 @@ static int v4l2_i2c_drv_attach_legacy(struct i2c_adapter *adapter, int address, static int v4l2_i2c_drv_probe_legacy(struct i2c_adapter *adapter) { + if (v4l2_i2c_data.legacy_probe) { + if (v4l2_i2c_data.legacy_probe(adapter)) + return i2c_probe(adapter, &addr_data, v4l2_i2c_drv_attach_legacy); + return 0; + } if (adapter->class & v4l2_i2c_data.legacy_class) return i2c_probe(adapter, &addr_data, v4l2_i2c_drv_attach_legacy); return 0; diff --git a/trunk/include/media/v4l2-i2c-drv.h b/trunk/include/media/v4l2-i2c-drv.h index 547db60d3640..bc61ab27779d 100644 --- a/trunk/include/media/v4l2-i2c-drv.h +++ b/trunk/include/media/v4l2-i2c-drv.h @@ -29,6 +29,7 @@ struct v4l2_i2c_driver_data { int (*remove)(struct i2c_client *client); int (*suspend)(struct i2c_client *client, pm_message_t state); int (*resume)(struct i2c_client *client); + int (*legacy_probe)(struct i2c_adapter *adapter); int legacy_class; };