From: 黄涛 Date: Tue, 19 Jul 2011 07:24:29 +0000 (+0800) Subject: rk29: i2c: cpu freq notifier only for i2c0 X-Git-Tag: firefly_0821_release~10110^2~9 X-Git-Url: http://demsky.eecs.uci.edu/git/?a=commitdiff_plain;h=acc0c9aaa8f0d5c60d8d513ae66ba5a3373faaef;p=firefly-linux-kernel-4.4.55.git rk29: i2c: cpu freq notifier only for i2c0 --- diff --git a/drivers/i2c/busses/i2c-rk29.c b/drivers/i2c/busses/i2c-rk29.c index e4b4b157b664..03715e2744c4 100755 --- a/drivers/i2c/busses/i2c-rk29.c +++ b/drivers/i2c/busses/i2c-rk29.c @@ -655,6 +655,8 @@ static int rk29_i2c_cpufreq_transition(struct notifier_block *nb, static inline int rk29_i2c_register_cpufreq(struct rk29_i2c_data *i2c) { + if (i2c->adap.nr != 0) + return 0; i2c->freq_transition.notifier_call = rk29_i2c_cpufreq_transition; return cpufreq_register_notifier(&i2c->freq_transition, @@ -663,6 +665,8 @@ static inline int rk29_i2c_register_cpufreq(struct rk29_i2c_data *i2c) static inline void rk29_i2c_unregister_cpufreq(struct rk29_i2c_data *i2c) { + if (i2c->adap.nr != 0) + return; cpufreq_unregister_notifier(&i2c->freq_transition, CPUFREQ_TRANSITION_NOTIFIER); } @@ -707,6 +711,7 @@ static int rk29_i2c_probe(struct platform_device *pdev) i2c->adap.owner = THIS_MODULE; i2c->adap.algo = &rk29_i2c_algorithm; i2c->adap.class = I2C_CLASS_HWMON; + i2c->adap.nr = pdata->bus_num; spin_lock_init(&i2c->cmd_lock); i2c->dev = &pdev->dev; @@ -770,7 +775,6 @@ static int rk29_i2c_probe(struct platform_device *pdev) goto err_irq; } - i2c->adap.nr = pdata->bus_num; ret = i2c_add_numbered_adapter(&i2c->adap); if (ret < 0) { i2c_err(&pdev->dev, "failed to add bus to i2c core\n");