Skip to content

Commit

Permalink
Merge branch 'i2c-for-linus' of git://jdelvare.pck.nerim.net/jdelvare…
Browse files Browse the repository at this point in the history
…-2.6

* 'i2c-for-linus' of git://jdelvare.pck.nerim.net/jdelvare-2.6:
  i2c: chips subdirectory is deprecated
  i2c: Keep client->driver and client->dev.driver in sync
  i2c-amd756: Fix off-by-one
  • Loading branch information
Linus Torvalds committed Mar 12, 2008
2 parents 299601c + 3d706d9 commit 123d43a
Show file tree
Hide file tree
Showing 3 changed files with 13 additions and 2 deletions.
2 changes: 1 addition & 1 deletion drivers/i2c/busses/i2c-amd756.c
Original file line number Diff line number Diff line change
Expand Up @@ -335,7 +335,7 @@ static int __devinit amd756_probe(struct pci_dev *pdev,
u8 temp;

/* driver_data might come from user-space, so check it */
if (id->driver_data > ARRAY_SIZE(chipname))
if (id->driver_data >= ARRAY_SIZE(chipname))
return -EINVAL;

if (amd756_ioport) {
Expand Down
7 changes: 7 additions & 0 deletions drivers/i2c/chips/Makefile
Original file line number Diff line number Diff line change
@@ -1,6 +1,13 @@
#
# Makefile for miscellaneous I2C chip drivers.
#
# Think twice before you add a new driver to this directory.
# Device drivers are better grouped according to the functionality they
# implement rather than to the bus they are connected to. In particular:
# * Hardware monitoring chip drivers go to drivers/hwmon
# * RTC chip drivers go to drivers/rtc
# * I/O expander drivers go to drivers/gpio
#

obj-$(CONFIG_DS1682) += ds1682.o
obj-$(CONFIG_SENSORS_EEPROM) += eeprom.o
Expand Down
6 changes: 5 additions & 1 deletion drivers/i2c/i2c-core.c
Original file line number Diff line number Diff line change
Expand Up @@ -90,12 +90,16 @@ 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);
int status;

if (!driver->probe)
return -ENODEV;
client->driver = driver;
dev_dbg(dev, "probe\n");
return driver->probe(client);
status = driver->probe(client);
if (status)
client->driver = NULL;
return status;
}

static int i2c_device_remove(struct device *dev)
Expand Down

0 comments on commit 123d43a

Please sign in to comment.