]> pilppa.org Git - linux-2.6-omap-h63xx.git/blobdiff - drivers/i2c/busses/i2c-gpio.c
KVM: Export memory slot allocation mechanism
[linux-2.6-omap-h63xx.git] / drivers / i2c / busses / i2c-gpio.c
index a7dd54654a9a18d8ecec076668feadc4d3405022..3ca19fc234fb45122be765f517288aa419b3d516 100644 (file)
@@ -63,14 +63,14 @@ static void i2c_gpio_setscl_val(void *data, int state)
        gpio_set_value(pdata->scl_pin, state);
 }
 
-int i2c_gpio_getsda(void *data)
+static int i2c_gpio_getsda(void *data)
 {
        struct i2c_gpio_platform_data *pdata = data;
 
        return gpio_get_value(pdata->sda_pin);
 }
 
-int i2c_gpio_getscl(void *data)
+static int i2c_gpio_getscl(void *data)
 {
        struct i2c_gpio_platform_data *pdata = data;
 
@@ -140,9 +140,16 @@ static int __init i2c_gpio_probe(struct platform_device *pdev)
        adap->owner = THIS_MODULE;
        snprintf(adap->name, sizeof(adap->name), "i2c-gpio%d", pdev->id);
        adap->algo_data = bit_data;
+       adap->class = I2C_CLASS_HWMON;
        adap->dev.parent = &pdev->dev;
 
-       ret = i2c_bit_add_bus(adap);
+       /*
+        * If "dev->id" is negative we consider it as zero.
+        * The reason to do so is to avoid sysfs names that only make
+        * sense when there are multiple adapters.
+        */
+       adap->nr = (pdev->id != -1) ? pdev->id : 0;
+       ret = i2c_bit_add_numbered_bus(adap);
        if (ret)
                goto err_add_bus;