Skip to content

Commit

Permalink
i2c: i2c-stu300: replace platform_driver_probe to support deferred pr…
Browse files Browse the repository at this point in the history
…obing

Subsystems like pinctrl and gpio rightfully make use of deferred probing at
core level. Now, deferred drivers won't be retried if they don't have a .probe
function specified in the driver struct. Fix this driver to have that, so the
devices it supports won't get lost in a deferred probe.

Acked-by: Linus Walleij <linus.walleij@linaro.org>
Signed-off-by: Wolfram Sang <wsa@the-dreams.de>
  • Loading branch information
Wolfram Sang committed Oct 10, 2013
1 parent cc40bf9 commit 6d2cfb1
Showing 1 changed file with 5 additions and 6 deletions.
11 changes: 5 additions & 6 deletions drivers/i2c/busses/i2c-stu300.c
Original file line number Diff line number Diff line change
Expand Up @@ -859,8 +859,7 @@ static const struct i2c_algorithm stu300_algo = {
.functionality = stu300_func,
};

static int __init
stu300_probe(struct platform_device *pdev)
static int stu300_probe(struct platform_device *pdev)
{
struct stu300_dev *dev;
struct i2c_adapter *adap;
Expand Down Expand Up @@ -966,8 +965,7 @@ static SIMPLE_DEV_PM_OPS(stu300_pm, stu300_suspend, stu300_resume);
#define STU300_I2C_PM NULL
#endif

static int __exit
stu300_remove(struct platform_device *pdev)
static int stu300_remove(struct platform_device *pdev)
{
struct stu300_dev *dev = platform_get_drvdata(pdev);

Expand All @@ -989,13 +987,14 @@ static struct platform_driver stu300_i2c_driver = {
.pm = STU300_I2C_PM,
.of_match_table = stu300_dt_match,
},
.remove = __exit_p(stu300_remove),
.probe = stu300_probe,
.remove = stu300_remove,

};

static int __init stu300_init(void)
{
return platform_driver_probe(&stu300_i2c_driver, stu300_probe);
return platform_driver_register(&stu300_i2c_driver);
}

static void __exit stu300_exit(void)
Expand Down

0 comments on commit 6d2cfb1

Please sign in to comment.