* [PATCH 1/2] cpuidle: fix cpu idle driver as a module can not remove
@ 2013-07-23 9:28 Dongsheng Wang
2013-07-23 9:28 ` [PATCH 2/2] cpuidle: export cpuidle_idle_call symbol Dongsheng Wang
2013-07-23 21:32 ` [PATCH 1/2] cpuidle: fix cpu idle driver as a module can not remove Rafael J. Wysocki
0 siblings, 2 replies; 7+ messages in thread
From: Dongsheng Wang @ 2013-07-23 9:28 UTC (permalink / raw)
To: daniel.lezcano; +Cc: rjw, linuxppc-dev, Wang Dongsheng, linux-pm
From: Wang Dongsheng <dongsheng.wang@freescale.com>
The module can not be removed when execute "rmmod". rmmod not use
"--force".
Log:
root:~# rmmod cpuidle-e500
incs[9], decs[1]
rmmod: can't unload 'cpuidle_e500': Resource temporarily unavailable
Signed-off-by: Wang Dongsheng <dongsheng.wang@freescale.com>
---
Branch: pm-cpuidle
drivers/cpuidle/cpuidle.c | 7 +++----
1 file changed, 3 insertions(+), 4 deletions(-)
diff --git a/drivers/cpuidle/cpuidle.c b/drivers/cpuidle/cpuidle.c
index fdc432f..534320a 100644
--- a/drivers/cpuidle/cpuidle.c
+++ b/drivers/cpuidle/cpuidle.c
@@ -386,6 +386,9 @@ static int __cpuidle_register_device(struct cpuidle_device *dev)
goto err_coupled;
dev->registered = 1;
+
+ module_put(drv->owner);
+
return 0;
err_coupled:
@@ -432,8 +435,6 @@ EXPORT_SYMBOL_GPL(cpuidle_register_device);
*/
void cpuidle_unregister_device(struct cpuidle_device *dev)
{
- struct cpuidle_driver *drv = cpuidle_get_cpu_driver(dev);
-
if (dev->registered == 0)
return;
@@ -448,8 +449,6 @@ void cpuidle_unregister_device(struct cpuidle_device *dev)
cpuidle_coupled_unregister_device(dev);
cpuidle_resume_and_unlock();
-
- module_put(drv->owner);
}
EXPORT_SYMBOL_GPL(cpuidle_unregister_device);
--
1.8.0
^ permalink raw reply related [flat|nested] 7+ messages in thread
* [PATCH 2/2] cpuidle: export cpuidle_idle_call symbol
2013-07-23 9:28 [PATCH 1/2] cpuidle: fix cpu idle driver as a module can not remove Dongsheng Wang
@ 2013-07-23 9:28 ` Dongsheng Wang
2013-07-23 21:33 ` Rafael J. Wysocki
2013-07-23 21:32 ` [PATCH 1/2] cpuidle: fix cpu idle driver as a module can not remove Rafael J. Wysocki
1 sibling, 1 reply; 7+ messages in thread
From: Dongsheng Wang @ 2013-07-23 9:28 UTC (permalink / raw)
To: daniel.lezcano; +Cc: rjw, linuxppc-dev, Wang Dongsheng, linux-pm
From: Wang Dongsheng <dongsheng.wang@freescale.com>
Export cpuidle_idle_call symbol, make this function can be invoked
in the module.
Signed-off-by: Wang Dongsheng <dongsheng.wang@freescale.com>
---
Branch: pm-cpuidle
drivers/cpuidle/cpuidle.c | 1 +
1 file changed, 1 insertion(+)
diff --git a/drivers/cpuidle/cpuidle.c b/drivers/cpuidle/cpuidle.c
index 534320a..d0a61d6 100644
--- a/drivers/cpuidle/cpuidle.c
+++ b/drivers/cpuidle/cpuidle.c
@@ -168,6 +168,7 @@ int cpuidle_idle_call(void)
return 0;
}
+EXPORT_SYMBOL_GPL(cpuidle_idle_call);
/**
* cpuidle_install_idle_handler - installs the cpuidle idle loop handler
--
1.8.0
^ permalink raw reply related [flat|nested] 7+ messages in thread
* Re: [PATCH 1/2] cpuidle: fix cpu idle driver as a module can not remove
2013-07-23 9:28 [PATCH 1/2] cpuidle: fix cpu idle driver as a module can not remove Dongsheng Wang
2013-07-23 9:28 ` [PATCH 2/2] cpuidle: export cpuidle_idle_call symbol Dongsheng Wang
@ 2013-07-23 21:32 ` Rafael J. Wysocki
2013-07-24 2:26 ` Wang Dongsheng-B40534
1 sibling, 1 reply; 7+ messages in thread
From: Rafael J. Wysocki @ 2013-07-23 21:32 UTC (permalink / raw)
To: Dongsheng Wang; +Cc: daniel.lezcano, linuxppc-dev, linux-pm
On Tuesday, July 23, 2013 05:28:00 PM Dongsheng Wang wrote:
> From: Wang Dongsheng <dongsheng.wang@freescale.com>
>
> The module can not be removed when execute "rmmod". rmmod not use
> "--force".
>
> Log:
> root:~# rmmod cpuidle-e500
> incs[9], decs[1]
> rmmod: can't unload 'cpuidle_e500': Resource temporarily unavailable
>
> Signed-off-by: Wang Dongsheng <dongsheng.wang@freescale.com>
Can you please check the current linux-next branch of the linux-pm.git tree
and see if that doesn't conflict with the material in there?
Also please explain in the changelog how your changes help to fix the problem.
Thanks,
Rafael
> ---
> Branch: pm-cpuidle
>
> drivers/cpuidle/cpuidle.c | 7 +++----
> 1 file changed, 3 insertions(+), 4 deletions(-)
>
> diff --git a/drivers/cpuidle/cpuidle.c b/drivers/cpuidle/cpuidle.c
> index fdc432f..534320a 100644
> --- a/drivers/cpuidle/cpuidle.c
> +++ b/drivers/cpuidle/cpuidle.c
> @@ -386,6 +386,9 @@ static int __cpuidle_register_device(struct cpuidle_device *dev)
> goto err_coupled;
>
> dev->registered = 1;
> +
> + module_put(drv->owner);
> +
> return 0;
>
> err_coupled:
> @@ -432,8 +435,6 @@ EXPORT_SYMBOL_GPL(cpuidle_register_device);
> */
> void cpuidle_unregister_device(struct cpuidle_device *dev)
> {
> - struct cpuidle_driver *drv = cpuidle_get_cpu_driver(dev);
> -
> if (dev->registered == 0)
> return;
>
> @@ -448,8 +449,6 @@ void cpuidle_unregister_device(struct cpuidle_device *dev)
> cpuidle_coupled_unregister_device(dev);
>
> cpuidle_resume_and_unlock();
> -
> - module_put(drv->owner);
> }
>
> EXPORT_SYMBOL_GPL(cpuidle_unregister_device);
>
--
I speak only for myself.
Rafael J. Wysocki, Intel Open Source Technology Center.
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [PATCH 2/2] cpuidle: export cpuidle_idle_call symbol
2013-07-23 9:28 ` [PATCH 2/2] cpuidle: export cpuidle_idle_call symbol Dongsheng Wang
@ 2013-07-23 21:33 ` Rafael J. Wysocki
2013-07-24 2:17 ` Wang Dongsheng-B40534
0 siblings, 1 reply; 7+ messages in thread
From: Rafael J. Wysocki @ 2013-07-23 21:33 UTC (permalink / raw)
To: Dongsheng Wang; +Cc: daniel.lezcano, linuxppc-dev, linux-pm
On Tuesday, July 23, 2013 05:28:01 PM Dongsheng Wang wrote:
> From: Wang Dongsheng <dongsheng.wang@freescale.com>
>
> Export cpuidle_idle_call symbol, make this function can be invoked
> in the module.
Why?
Rafael
> Signed-off-by: Wang Dongsheng <dongsheng.wang@freescale.com>
> ---
> Branch: pm-cpuidle
>
> drivers/cpuidle/cpuidle.c | 1 +
> 1 file changed, 1 insertion(+)
>
> diff --git a/drivers/cpuidle/cpuidle.c b/drivers/cpuidle/cpuidle.c
> index 534320a..d0a61d6 100644
> --- a/drivers/cpuidle/cpuidle.c
> +++ b/drivers/cpuidle/cpuidle.c
> @@ -168,6 +168,7 @@ int cpuidle_idle_call(void)
>
> return 0;
> }
> +EXPORT_SYMBOL_GPL(cpuidle_idle_call);
>
> /**
> * cpuidle_install_idle_handler - installs the cpuidle idle loop handler
>
--
I speak only for myself.
Rafael J. Wysocki, Intel Open Source Technology Center.
^ permalink raw reply [flat|nested] 7+ messages in thread
* RE: [PATCH 2/2] cpuidle: export cpuidle_idle_call symbol
2013-07-23 21:33 ` Rafael J. Wysocki
@ 2013-07-24 2:17 ` Wang Dongsheng-B40534
0 siblings, 0 replies; 7+ messages in thread
From: Wang Dongsheng-B40534 @ 2013-07-24 2:17 UTC (permalink / raw)
To: Rafael J. Wysocki
Cc: daniel.lezcano@linaro.org, linuxppc-dev@lists.ozlabs.org,
linux-pm@vger.kernel.org
DQoNCj4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCj4gRnJvbTogUmFmYWVsIEouIFd5c29j
a2kgW21haWx0bzpyandAc2lzay5wbF0NCj4gU2VudDogV2VkbmVzZGF5LCBKdWx5IDI0LCAyMDEz
IDU6MzMgQU0NCj4gVG86IFdhbmcgRG9uZ3NoZW5nLUI0MDUzNA0KPiBDYzogZGFuaWVsLmxlemNh
bm9AbGluYXJvLm9yZzsgbGludXgtcG1Admdlci5rZXJuZWwub3JnOyBsaW51eHBwYy0NCj4gZGV2
QGxpc3RzLm96bGFicy5vcmcNCj4gU3ViamVjdDogUmU6IFtQQVRDSCAyLzJdIGNwdWlkbGU6IGV4
cG9ydCBjcHVpZGxlX2lkbGVfY2FsbCBzeW1ib2wNCj4gDQo+IE9uIFR1ZXNkYXksIEp1bHkgMjMs
IDIwMTMgMDU6Mjg6MDEgUE0gRG9uZ3NoZW5nIFdhbmcgd3JvdGU6DQo+ID4gRnJvbTogV2FuZyBE
b25nc2hlbmcgPGRvbmdzaGVuZy53YW5nQGZyZWVzY2FsZS5jb20+DQo+ID4NCj4gPiBFeHBvcnQg
Y3B1aWRsZV9pZGxlX2NhbGwgc3ltYm9sLCBtYWtlIHRoaXMgZnVuY3Rpb24gY2FuIGJlIGludm9r
ZWQgaW4NCj4gPiB0aGUgbW9kdWxlLg0KPiANCj4gV2h5Pw0KPiANCk9uIHBvd2VycGMgcGxhdGZv
cm0sIHRoZXJlIGlzIGFscmVhZHkgaGF2ZSBjcHUgaWRsZSBpbXBsZW1lbnRhdGlvbi4NCg0KSSB3
YW50IHVzZSBjcHVpZGxlIGZyYW1ld29yayB0byBjb250cm9sIHZhcmlvdXMgbG93IHBvd2VyIG1v
ZGVzLiBCdXQgbmVlZCB0bw0KYmUgY29tcGF0aWJsZSB3aXRoIHRoZSBjdXJyZW50IGltcGxlbWVu
dGF0aW9uLiBBbmQgZHJpdmVyIHNob3VsZCBiZSBhcyBhIG1vZHVsZSwNClRoZSB1c2VyIGNhbiB1
c2luZyB0aGlzIG1vZHVsZSBhdCBhbnkgdGltZS4NCg0KV2UgbmVlZCBjcHVpZGxlX2lkbGVfY2Fs
bCB0byBkcml2ZSB0aGUgbmV3IGltcGxlbWVudGF0aW9uIGluIG1vZHVsZXMuDQoNClRoYW5rcy4N
Ci0gZG9uZ3NoZW5nDQoNCj4gUmFmYWVsDQoNCg0K
^ permalink raw reply [flat|nested] 7+ messages in thread
* RE: [PATCH 1/2] cpuidle: fix cpu idle driver as a module can not remove
2013-07-23 21:32 ` [PATCH 1/2] cpuidle: fix cpu idle driver as a module can not remove Rafael J. Wysocki
@ 2013-07-24 2:26 ` Wang Dongsheng-B40534
2013-07-24 10:33 ` Li Yang-R58472
0 siblings, 1 reply; 7+ messages in thread
From: Wang Dongsheng-B40534 @ 2013-07-24 2:26 UTC (permalink / raw)
To: Rafael J. Wysocki
Cc: daniel.lezcano@linaro.org, linuxppc-dev@lists.ozlabs.org,
linux-pm@vger.kernel.org
DQoNCj4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCj4gRnJvbTogUmFmYWVsIEouIFd5c29j
a2kgW21haWx0bzpyandAc2lzay5wbF0NCj4gU2VudDogV2VkbmVzZGF5LCBKdWx5IDI0LCAyMDEz
IDU6MzMgQU0NCj4gVG86IFdhbmcgRG9uZ3NoZW5nLUI0MDUzNA0KPiBDYzogZGFuaWVsLmxlemNh
bm9AbGluYXJvLm9yZzsgbGludXgtcG1Admdlci5rZXJuZWwub3JnOyBsaW51eHBwYy0NCj4gZGV2
QGxpc3RzLm96bGFicy5vcmcNCj4gU3ViamVjdDogUmU6IFtQQVRDSCAxLzJdIGNwdWlkbGU6IGZp
eCBjcHUgaWRsZSBkcml2ZXIgYXMgYSBtb2R1bGUgY2FuIG5vdA0KPiByZW1vdmUNCj4gDQo+IE9u
IFR1ZXNkYXksIEp1bHkgMjMsIDIwMTMgMDU6Mjg6MDAgUE0gRG9uZ3NoZW5nIFdhbmcgd3JvdGU6
DQo+ID4gRnJvbTogV2FuZyBEb25nc2hlbmcgPGRvbmdzaGVuZy53YW5nQGZyZWVzY2FsZS5jb20+
DQo+ID4NCj4gPiBUaGUgbW9kdWxlIGNhbiBub3QgYmUgcmVtb3ZlZCB3aGVuIGV4ZWN1dGUgInJt
bW9kIi4gcm1tb2Qgbm90IHVzZQ0KPiA+ICItLWZvcmNlIi4NCj4gPg0KPiA+IExvZzoNCj4gPiBy
b290On4jIHJtbW9kIGNwdWlkbGUtZTUwMA0KPiA+IGluY3NbOV0sIGRlY3NbMV0NCj4gPiBybW1v
ZDogY2FuJ3QgdW5sb2FkICdjcHVpZGxlX2U1MDAnOiBSZXNvdXJjZSB0ZW1wb3JhcmlseSB1bmF2
YWlsYWJsZQ0KPiA+DQo+ID4gU2lnbmVkLW9mZi1ieTogV2FuZyBEb25nc2hlbmcgPGRvbmdzaGVu
Zy53YW5nQGZyZWVzY2FsZS5jb20+DQo+IA0KPiBDYW4geW91IHBsZWFzZSBjaGVjayB0aGUgY3Vy
cmVudCBsaW51eC1uZXh0IGJyYW5jaCBvZiB0aGUgbGludXgtcG0uZ2l0DQo+IHRyZWUNCj4gYW5k
IHNlZSBpZiB0aGF0IGRvZXNuJ3QgY29uZmxpY3Qgd2l0aCB0aGUgbWF0ZXJpYWwgaW4gdGhlcmU/
DQo+IA0KPiBBbHNvIHBsZWFzZSBleHBsYWluIGluIHRoZSBjaGFuZ2Vsb2cgaG93IHlvdXIgY2hh
bmdlcyBoZWxwIHRvIGZpeCB0aGUNCj4gcHJvYmxlbS4NCj4gDQpZZXMsIExpbnV4LW5leHQgYnJh
bmNoIGFsc28gaGF2ZSB0aGlzIHByb2JsZW0uDQoNClNob3VsZCBJIGJhc2Ugb24gTGludXgtbmV4
dCB0byBmaXggdGhpcyBwcm9ibGVtPw0KDQpUaGFua3MuDQotIGRvbmdzaGVuZw0K
^ permalink raw reply [flat|nested] 7+ messages in thread
* RE: [PATCH 1/2] cpuidle: fix cpu idle driver as a module can not remove
2013-07-24 2:26 ` Wang Dongsheng-B40534
@ 2013-07-24 10:33 ` Li Yang-R58472
0 siblings, 0 replies; 7+ messages in thread
From: Li Yang-R58472 @ 2013-07-24 10:33 UTC (permalink / raw)
To: Rafael J. Wysocki
Cc: daniel.lezcano@linaro.org, linuxppc-dev@lists.ozlabs.org,
Wang Dongsheng-B40534, linux-pm@vger.kernel.org
DQoNCj4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCj4gRnJvbTogbGludXgtcG0tb3duZXJA
dmdlci5rZXJuZWwub3JnIFttYWlsdG86bGludXgtcG0tDQo+IG93bmVyQHZnZXIua2VybmVsLm9y
Z10gT24gQmVoYWxmIE9mIFdhbmcgRG9uZ3NoZW5nLUI0MDUzNA0KPiBTZW50OiBXZWRuZXNkYXks
IEp1bHkgMjQsIDIwMTMgMTA6MjYgQU0NCj4gVG86IFJhZmFlbCBKLiBXeXNvY2tpDQo+IENjOiBk
YW5pZWwubGV6Y2Fub0BsaW5hcm8ub3JnOyBsaW51eC1wbUB2Z2VyLmtlcm5lbC5vcmc7IGxpbnV4
cHBjLQ0KPiBkZXZAbGlzdHMub3psYWJzLm9yZw0KPiBTdWJqZWN0OiBSRTogW1BBVENIIDEvMl0g
Y3B1aWRsZTogZml4IGNwdSBpZGxlIGRyaXZlciBhcyBhIG1vZHVsZSBjYW4gbm90DQo+IHJlbW92
ZQ0KPiANCj4gDQo+IA0KPiA+IC0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQo+ID4gRnJvbTog
UmFmYWVsIEouIFd5c29ja2kgW21haWx0bzpyandAc2lzay5wbF0NCj4gPiBTZW50OiBXZWRuZXNk
YXksIEp1bHkgMjQsIDIwMTMgNTozMyBBTQ0KPiA+IFRvOiBXYW5nIERvbmdzaGVuZy1CNDA1MzQN
Cj4gPiBDYzogZGFuaWVsLmxlemNhbm9AbGluYXJvLm9yZzsgbGludXgtcG1Admdlci5rZXJuZWwu
b3JnOyBsaW51eHBwYy0NCj4gPiBkZXZAbGlzdHMub3psYWJzLm9yZw0KPiA+IFN1YmplY3Q6IFJl
OiBbUEFUQ0ggMS8yXSBjcHVpZGxlOiBmaXggY3B1IGlkbGUgZHJpdmVyIGFzIGEgbW9kdWxlIGNh
bg0KPiA+IG5vdCByZW1vdmUNCj4gPg0KPiA+IE9uIFR1ZXNkYXksIEp1bHkgMjMsIDIwMTMgMDU6
Mjg6MDAgUE0gRG9uZ3NoZW5nIFdhbmcgd3JvdGU6DQo+ID4gPiBGcm9tOiBXYW5nIERvbmdzaGVu
ZyA8ZG9uZ3NoZW5nLndhbmdAZnJlZXNjYWxlLmNvbT4NCj4gPiA+DQo+ID4gPiBUaGUgbW9kdWxl
IGNhbiBub3QgYmUgcmVtb3ZlZCB3aGVuIGV4ZWN1dGUgInJtbW9kIi4gcm1tb2Qgbm90IHVzZQ0K
PiA+ID4gIi0tZm9yY2UiLg0KPiA+ID4NCj4gPiA+IExvZzoNCj4gPiA+IHJvb3Q6fiMgcm1tb2Qg
Y3B1aWRsZS1lNTAwDQo+ID4gPiBpbmNzWzldLCBkZWNzWzFdDQo+ID4gPiBybW1vZDogY2FuJ3Qg
dW5sb2FkICdjcHVpZGxlX2U1MDAnOiBSZXNvdXJjZSB0ZW1wb3JhcmlseSB1bmF2YWlsYWJsZQ0K
PiA+ID4NCj4gPiA+IFNpZ25lZC1vZmYtYnk6IFdhbmcgRG9uZ3NoZW5nIDxkb25nc2hlbmcud2Fu
Z0BmcmVlc2NhbGUuY29tPg0KPiA+DQo+ID4gQ2FuIHlvdSBwbGVhc2UgY2hlY2sgdGhlIGN1cnJl
bnQgbGludXgtbmV4dCBicmFuY2ggb2YgdGhlIGxpbnV4LXBtLmdpdA0KPiA+IHRyZWUgYW5kIHNl
ZSBpZiB0aGF0IGRvZXNuJ3QgY29uZmxpY3Qgd2l0aCB0aGUgbWF0ZXJpYWwgaW4gdGhlcmU/DQo+
ID4NCj4gPiBBbHNvIHBsZWFzZSBleHBsYWluIGluIHRoZSBjaGFuZ2Vsb2cgaG93IHlvdXIgY2hh
bmdlcyBoZWxwIHRvIGZpeCB0aGUNCj4gPiBwcm9ibGVtLg0KPiA+DQo+IFllcywgTGludXgtbmV4
dCBicmFuY2ggYWxzbyBoYXZlIHRoaXMgcHJvYmxlbS4NCj4gDQo+IFNob3VsZCBJIGJhc2Ugb24g
TGludXgtbmV4dCB0byBmaXggdGhpcyBwcm9ibGVtPw0KDQpJIHRoaW5rIERvbmdzaGVuZyBpcyB0
cnlpbmcgdG8gbWFrZSB0aGUgcGxhdGZvcm0gY3B1aWRsZSBkcml2ZXIgYXMgYSBrZXJuZWwgbW9k
dWxlLg0KDQpNeSBxdWVzdGlvbnMgYXJlOg0KSXMgdGhlIGNwdWlkbGUgZHJpdmVyIHN1cHBvc2Vk
IHRvIHdvcmsgYXMgYSBtb2R1bGU/DQpPciBpdCBjYW4gb25seSBiZSBidWlsdC1pbiBsaWtlIG1h
bnkgY3VycmVudCBkcml2ZXJzIGRvPw0KDQpSZWdhcmRzLA0KTGVvDQo=
^ permalink raw reply [flat|nested] 7+ messages in thread
end of thread, other threads:[~2013-07-24 10:34 UTC | newest]
Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2013-07-23 9:28 [PATCH 1/2] cpuidle: fix cpu idle driver as a module can not remove Dongsheng Wang
2013-07-23 9:28 ` [PATCH 2/2] cpuidle: export cpuidle_idle_call symbol Dongsheng Wang
2013-07-23 21:33 ` Rafael J. Wysocki
2013-07-24 2:17 ` Wang Dongsheng-B40534
2013-07-23 21:32 ` [PATCH 1/2] cpuidle: fix cpu idle driver as a module can not remove Rafael J. Wysocki
2013-07-24 2:26 ` Wang Dongsheng-B40534
2013-07-24 10:33 ` Li Yang-R58472
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).