projects
/
openwrt
/
openwrt.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
kernel: fix *-gpio-custom module unloading
[openwrt/openwrt.git]
/
package
/
kernel
/
w1-gpio-custom
/
src
/
w1-gpio-custom.c
diff --git
a/package/kernel/w1-gpio-custom/src/w1-gpio-custom.c
b/package/kernel/w1-gpio-custom/src/w1-gpio-custom.c
index 96cfcabc610703cba707d2fbf5f95567b28fbb54..6928769975590b761e5881459e8497bb99d39dcc 100644
(file)
--- a/
package/kernel/w1-gpio-custom/src/w1-gpio-custom.c
+++ b/
package/kernel/w1-gpio-custom/src/w1-gpio-custom.c
@@
-47,7
+47,7
@@
#define DRV_NAME "w1-gpio-custom"
#define DRV_DESC "Custom GPIO-based W1 driver"
#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 ": "
#define PFX DRV_NAME ": "
@@
-86,7
+86,7
@@
static void w1_gpio_custom_cleanup(void)
for (i = 0; i < nr_devices; i++)
if (devices[i])
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)
}
static int __init w1_gpio_custom_add_one(unsigned int id, unsigned int *params)
@@
-111,8
+111,9
@@
static int __init w1_gpio_custom_add_one(unsigned int id, unsigned int *params)
}
pdata.pin = params[BUS_PARAM_PIN];
}
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.enable_external_pullup = NULL;
+ pdata.ext_pullup_enable_pin = -EINVAL;
err = platform_device_add_data(pdev, &pdata, sizeof(pdata));
if (err)
err = platform_device_add_data(pdev, &pdata, sizeof(pdata));
if (err)
@@
-139,16
+140,20
@@
static int __init w1_gpio_custom_probe(void)
printk(KERN_INFO DRV_DESC " version " DRV_VERSION "\n");
err = w1_gpio_custom_add_one(0, bus0);
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);
err = w1_gpio_custom_add_one(1, bus1);
- if (err) goto err;
+ if (err)
+ goto err;
err = w1_gpio_custom_add_one(2, bus2);
err = w1_gpio_custom_add_one(2, bus2);
- if (err) goto err;
+ if (err)
+ goto err;
err = w1_gpio_custom_add_one(3, bus3);
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");
if (!nr_devices) {
printk(KERN_ERR PFX "no bus parameter(s) specified\n");