aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/i2c/i2c-core.c
diff options
context:
space:
mode:
authorJean Delvare <khali@linux-fr.org>2008-07-14 22:38:30 +0200
committerJean Delvare <khali@mahadeva.delvare>2008-07-14 22:38:30 +0200
commite0457442fd522107204da14a2dc2cbbb5dcac5f6 (patch)
treec489c15479cab107cb435a875e8119d10be5fc04 /drivers/i2c/i2c-core.c
parenti2c/eeprom: Fall back to SMBus read word transactions (diff)
downloadlinux-dev-e0457442fd522107204da14a2dc2cbbb5dcac5f6.tar.xz
linux-dev-e0457442fd522107204da14a2dc2cbbb5dcac5f6.zip
i2c: Simplify i2c_device_probe
i2c_driver.id_table is mandatory now, so we can simplify i2c_device_probe() a bit. Signed-off-by: Jean Delvare <khali@linux-fr.org>
Diffstat (limited to 'drivers/i2c/i2c-core.c')
-rw-r--r--drivers/i2c/i2c-core.c9
1 files changed, 2 insertions, 7 deletions
diff --git a/drivers/i2c/i2c-core.c b/drivers/i2c/i2c-core.c
index e06067ebd205..d6cc58abf3ff 100644
--- a/drivers/i2c/i2c-core.c
+++ b/drivers/i2c/i2c-core.c
@@ -101,19 +101,14 @@ static int i2c_device_probe(struct device *dev)
{
struct i2c_client *client = to_i2c_client(dev);
struct i2c_driver *driver = to_i2c_driver(dev->driver);
- const struct i2c_device_id *id;
int status;
- if (!driver->probe)
+ if (!driver->probe || !driver->id_table)
return -ENODEV;
client->driver = driver;
dev_dbg(dev, "probe\n");
- if (driver->id_table)
- id = i2c_match_id(driver->id_table, client);
- else
- id = NULL;
- status = driver->probe(client, id);
+ status = driver->probe(client, i2c_match_id(driver->id_table, client));
if (status)
client->driver = NULL;
return status;