diff options
author | Gabor Juhos <juhosg@openwrt.org> | 2008-08-13 18:48:48 +0000 |
---|---|---|
committer | Gabor Juhos <juhosg@openwrt.org> | 2008-08-13 18:48:48 +0000 |
commit | da77408537154fe5474af3645f9658c4b38702f5 (patch) | |
tree | 3feb1d0b7f182bdec78bda2e2cc5033724871e28 /package/i2c-gpio-custom/src | |
parent | 904effc1677edce87b584e089dbe4bc16ea74d22 (diff) | |
download | upstream-da77408537154fe5474af3645f9658c4b38702f5.tar.gz upstream-da77408537154fe5474af3645f9658c4b38702f5.tar.bz2 upstream-da77408537154fe5474af3645f9658c4b38702f5.zip |
i2c-gpio-custom: minor bugfix
SVN-Revision: 12297
Diffstat (limited to 'package/i2c-gpio-custom/src')
-rw-r--r-- | package/i2c-gpio-custom/src/i2c-gpio-custom.c | 19 |
1 files changed, 10 insertions, 9 deletions
diff --git a/package/i2c-gpio-custom/src/i2c-gpio-custom.c b/package/i2c-gpio-custom/src/i2c-gpio-custom.c index 36a8bf0e37..76ab5f39cc 100644 --- a/package/i2c-gpio-custom/src/i2c-gpio-custom.c +++ b/package/i2c-gpio-custom/src/i2c-gpio-custom.c @@ -1,7 +1,7 @@ /* * Custom GPIO-based I2C driver * - * Copyright (C) 2007 Gabor Juhos <juhosg at openwrt.org> + * Copyright (C) 2007-2008 Gabor Juhos <juhosg@openwrt.org> * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License version 2 as @@ -51,7 +51,7 @@ #define DRV_NAME "i2c-gpio-custom" #define DRV_DESC "Custom GPIO-based I2C driver" -#define DRV_VERSION "0.1.0" +#define DRV_VERSION "0.1.1" #define PFX DRV_NAME ": " @@ -96,7 +96,7 @@ static void i2c_gpio_custom_cleanup(void) for (i = 0; i < nr_devices; i++) if (devices[i]) - platform_device_unregister(devices[i]); + platform_device_put(devices[i]); } static int __init i2c_gpio_custom_add_one(unsigned int id, unsigned int *params) @@ -120,8 +120,6 @@ static int __init i2c_gpio_custom_add_one(unsigned int id, unsigned int *params) goto err; } - devices[nr_devices++] = pdev; - pdata.sda_pin = params[BUS_PARAM_SDA]; pdata.scl_pin = params[BUS_PARAM_SCL]; pdata.udelay = params[BUS_PARAM_UDELAY]; @@ -132,14 +130,17 @@ static int __init i2c_gpio_custom_add_one(unsigned int id, unsigned int *params) err = platform_device_add_data(pdev, &pdata, sizeof(pdata)); if (err) - goto err; + goto err_put; - err = platform_device_register(pdev); + err = platform_device_add(pdev); if (err) - goto err; + goto err_put; + devices[nr_devices++] = pdev; return 0; +err_put: + platform_device_put(pdev); err: return err; } @@ -192,6 +193,6 @@ subsys_initcall(i2c_gpio_custom_probe); #endif /* MODULE*/ MODULE_LICENSE("GPL v2"); -MODULE_AUTHOR("Gabor Juhos <juhosg at openwrt.org >"); +MODULE_AUTHOR("Gabor Juhos <juhosg@openwrt.org >"); MODULE_DESCRIPTION(DRV_DESC); MODULE_VERSION(DRV_VERSION); |