Skip to content

Commit

Permalink
i2c: i2c_gpio: keep probe resident for hotplugged devices.
Browse files Browse the repository at this point in the history
Change the i2c_gpio driver to use platform_driver_register()
instead of platform_driver_probe() to ensure that is can
attach to any devices that may be loaded after it has initialised.

Acked-by: Haavard Skinnemoen <haavard.skinnemoen@atmel.com>
Signed-off-by: Ben Dooks <ben-linux@fluff.org>
  • Loading branch information
Ben Dooks committed Jul 28, 2008
1 parent 399dee2 commit 1efe7c5
Showing 1 changed file with 5 additions and 4 deletions.
9 changes: 5 additions & 4 deletions drivers/i2c/busses/i2c-gpio.c
Original file line number Diff line number Diff line change
Expand Up @@ -77,7 +77,7 @@ static int i2c_gpio_getscl(void *data)
return gpio_get_value(pdata->scl_pin);
}

static int __init i2c_gpio_probe(struct platform_device *pdev)
static int __devinit i2c_gpio_probe(struct platform_device *pdev)
{
struct i2c_gpio_platform_data *pdata;
struct i2c_algo_bit_data *bit_data;
Expand Down Expand Up @@ -174,7 +174,7 @@ static int __init i2c_gpio_probe(struct platform_device *pdev)
return ret;
}

static int __exit i2c_gpio_remove(struct platform_device *pdev)
static int __devexit i2c_gpio_remove(struct platform_device *pdev)
{
struct i2c_gpio_platform_data *pdata;
struct i2c_adapter *adap;
Expand All @@ -196,14 +196,15 @@ static struct platform_driver i2c_gpio_driver = {
.name = "i2c-gpio",
.owner = THIS_MODULE,
},
.remove = __exit_p(i2c_gpio_remove),
.probe = i2c_gpio_probe,
.remove = __devexit_p(i2c_gpio_remove),
};

static int __init i2c_gpio_init(void)
{
int ret;

ret = platform_driver_probe(&i2c_gpio_driver, i2c_gpio_probe);
ret = platform_driver_register(&i2c_gpio_driver);
if (ret)
printk(KERN_ERR "i2c-gpio: probe failed: %d\n", ret);

Expand Down

0 comments on commit 1efe7c5

Please sign in to comment.