#define DRV_NAME "w1-gpio-custom"
#define DRV_DESC "Custom GPIO-based W1 driver"
-#define DRV_VERSION "0.1.1"
+#define DRV_VERSION "0.1.2"
#define PFX DRV_NAME ": "
for (i = 0; i < nr_devices; i++)
if (devices[i])
- platform_device_put(devices[i]);
+ platform_device_unregister(devices[i]);
}
static int __init w1_gpio_custom_add_one(unsigned int id, unsigned int *params)
}
pdata.pin = params[BUS_PARAM_PIN];
- pdata.is_open_drain = params[BUS_PARAM_OD] ? 1:0;
+ pdata.is_open_drain = params[BUS_PARAM_OD] ? 1 : 0;
pdata.enable_external_pullup = NULL;
+ pdata.ext_pullup_enable_pin = -EINVAL;
err = platform_device_add_data(pdev, &pdata, sizeof(pdata));
if (err)
printk(KERN_INFO DRV_DESC " version " DRV_VERSION "\n");
err = w1_gpio_custom_add_one(0, bus0);
- if (err) goto err;
+ if (err)
+ goto err;
err = w1_gpio_custom_add_one(1, bus1);
- if (err) goto err;
+ if (err)
+ goto err;
err = w1_gpio_custom_add_one(2, bus2);
- if (err) goto err;
+ if (err)
+ goto err;
err = w1_gpio_custom_add_one(3, bus3);
- if (err) goto err;
+ if (err)
+ goto err;
if (!nr_devices) {
printk(KERN_ERR PFX "no bus parameter(s) specified\n");