Commit 123d43ac authored by Linus Torvalds's avatar Linus Torvalds

Merge branch 'i2c-for-linus' of git://jdelvare.pck.nerim.net/jdelvare-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
parents 299601cf 3d706d95
...@@ -335,7 +335,7 @@ static int __devinit amd756_probe(struct pci_dev *pdev, ...@@ -335,7 +335,7 @@ static int __devinit amd756_probe(struct pci_dev *pdev,
u8 temp; u8 temp;
/* driver_data might come from user-space, so check it */ /* 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; return -EINVAL;
if (amd756_ioport) { if (amd756_ioport) {
......
# #
# Makefile for miscellaneous I2C chip drivers. # 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_DS1682) += ds1682.o
obj-$(CONFIG_SENSORS_EEPROM) += eeprom.o obj-$(CONFIG_SENSORS_EEPROM) += eeprom.o
......
...@@ -90,12 +90,16 @@ static int i2c_device_probe(struct device *dev) ...@@ -90,12 +90,16 @@ static int i2c_device_probe(struct device *dev)
{ {
struct i2c_client *client = to_i2c_client(dev); struct i2c_client *client = to_i2c_client(dev);
struct i2c_driver *driver = to_i2c_driver(dev->driver); struct i2c_driver *driver = to_i2c_driver(dev->driver);
int status;
if (!driver->probe) if (!driver->probe)
return -ENODEV; return -ENODEV;
client->driver = driver; client->driver = driver;
dev_dbg(dev, "probe\n"); 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) static int i2c_device_remove(struct device *dev)
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment