From: Ville Syrjala Changes from version 2 to version 3: * Use platform_driver_probe() instead of platform_driver_register(). * Remove useless address operators from function pointer assignments. Signed-off-by: Ville Syrjala Cc: Evgeniy Polyakov Cc: David Brownell Signed-off-by: Andrew Morton --- drivers/w1/masters/w1-gpio.c | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff -puN drivers/w1/masters/w1-gpio.c~w1-gpio-add-gpio-w1-bus-master-driver-v3 drivers/w1/masters/w1-gpio.c --- a/drivers/w1/masters/w1-gpio.c~w1-gpio-add-gpio-w1-bus-master-driver-v3 +++ a/drivers/w1/masters/w1-gpio.c @@ -60,14 +60,14 @@ static int __init w1_gpio_probe(struct p goto free_master; master->data = pdata; - master->read_bit = &w1_gpio_read_bit; + master->read_bit = w1_gpio_read_bit; if (pdata->is_open_drain) { gpio_direction_output(pdata->pin, 1); - master->write_bit = &w1_gpio_write_bit_val; + master->write_bit = w1_gpio_write_bit_val; } else { gpio_direction_input(pdata->pin); - master->write_bit = &w1_gpio_write_bit_dir; + master->write_bit = w1_gpio_write_bit_dir; } err = w1_add_master_device(master); @@ -103,13 +103,12 @@ static struct platform_driver w1_gpio_dr .name = "w1-gpio", .owner = THIS_MODULE, }, - .probe = w1_gpio_probe, .remove = __exit_p(w1_gpio_remove), }; static int __init w1_gpio_init(void) { - return platform_driver_register(&w1_gpio_driver); + return platform_driver_probe(&w1_gpio_driver, w1_gpio_probe); } static void __exit w1_gpio_exit(void) _