* [PATCH 2/3] qe: run qe_init and qe_ic_init
@ 2014-10-10 6:48 Zhao Qiang
2014-10-10 17:34 ` Scott Wood
0 siblings, 1 reply; 3+ messages in thread
From: Zhao Qiang @ 2014-10-10 6:48 UTC (permalink / raw)
To: linuxppc-dev, linux-kernel, B07421; +Cc: Zhao Qiang, R63061
qe and qe_ic need to be initialized before the
qe app drivers, using subsys_initcall to run
qe_init and qe_ic_init
Signed-off-by: Zhao Qiang <B45475@freescale.com>
---
drivers/soc/qe/qe.c | 15 +++++++++++++++
drivers/soc/qe/qe_ic.c | 15 +++++++++++++++
2 files changed, 30 insertions(+)
diff --git a/drivers/soc/qe/qe.c b/drivers/soc/qe/qe.c
index 2aaa5b2..bfea0f8 100644
--- a/drivers/soc/qe/qe.c
+++ b/drivers/soc/qe/qe.c
@@ -683,6 +683,21 @@ unsigned int qe_get_num_of_snums(void)
}
EXPORT_SYMBOL(qe_get_num_of_snums);
+static int __init qe_init(void)
+{
+ struct device_node *np;
+
+ np = of_find_compatible_node(NULL, NULL, "fsl,qe");
+ if (!np) {
+ pr_err("%s: Could not find Quicc Engine node\n", __func__);
+ return -ENODEV;
+ }
+ qe_reset();
+ of_node_put(np);
+ return 0;
+}
+subsys_initcall(qe_init);
+
#if defined(CONFIG_SUSPEND) && defined(CONFIG_PPC_85xx)
static int qe_resume(struct platform_device *ofdev)
{
diff --git a/drivers/soc/qe/qe_ic.c b/drivers/soc/qe/qe_ic.c
index cc1b8d5..11fe98c 100644
--- a/drivers/soc/qe/qe_ic.c
+++ b/drivers/soc/qe/qe_ic.c
@@ -34,6 +34,7 @@
#include <linux/fsl/qe_ic.h>
#include "qe_ic.h"
+#include "../../irqchip/irqchip.h"
static DEFINE_RAW_SPINLOCK(qe_ic_lock);
@@ -501,4 +502,18 @@ static int __init init_qe_ic_sysfs(void)
return 0;
}
+static int __init qeic_of_init(void)
+{
+ struct device_node *np;
+
+ np = of_find_compatible_node(NULL, NULL, "fsl,qe-ic");
+ if (np) {
+ qe_ic_init(np, 0, qe_ic_cascade_low_mpic,
+ qe_ic_cascade_high_mpic);
+ of_node_put(np);
+ }
+ return 0;
+}
+subsys_initcall(qeic_of_init);
+
subsys_initcall(init_qe_ic_sysfs);
--
2.1.0.27.g96db324
^ permalink raw reply related [flat|nested] 3+ messages in thread
* Re: [PATCH 2/3] qe: run qe_init and qe_ic_init
2014-10-10 6:48 [PATCH 2/3] qe: run qe_init and qe_ic_init Zhao Qiang
@ 2014-10-10 17:34 ` Scott Wood
2014-10-11 6:22 ` qiang.zhao
0 siblings, 1 reply; 3+ messages in thread
From: Scott Wood @ 2014-10-10 17:34 UTC (permalink / raw)
To: Zhao Qiang; +Cc: B07421, R63061, linuxppc-dev, linux-kernel
On Fri, 2014-10-10 at 14:48 +0800, Zhao Qiang wrote:
> qe and qe_ic need to be initialized before the
> qe app drivers, using subsys_initcall to run
> qe_init and qe_ic_init
>
> Signed-off-by: Zhao Qiang <B45475@freescale.com>
> ---
> drivers/soc/qe/qe.c | 15 +++++++++++++++
> drivers/soc/qe/qe_ic.c | 15 +++++++++++++++
> 2 files changed, 30 insertions(+)
>
> diff --git a/drivers/soc/qe/qe.c b/drivers/soc/qe/qe.c
> index 2aaa5b2..bfea0f8 100644
> --- a/drivers/soc/qe/qe.c
> +++ b/drivers/soc/qe/qe.c
> @@ -683,6 +683,21 @@ unsigned int qe_get_num_of_snums(void)
> }
> EXPORT_SYMBOL(qe_get_num_of_snums);
>
> +static int __init qe_init(void)
> +{
> + struct device_node *np;
> +
> + np = of_find_compatible_node(NULL, NULL, "fsl,qe");
> + if (!np) {
> + pr_err("%s: Could not find Quicc Engine node\n", __func__);
> + return -ENODEV;
> + }
> + qe_reset();
> + of_node_put(np);
> + return 0;
> +}
> +subsys_initcall(qe_init);
It is not an error to enable QE support on hardware that doesn't have
QE. Please remove the pr_err().
> +
> #if defined(CONFIG_SUSPEND) && defined(CONFIG_PPC_85xx)
> static int qe_resume(struct platform_device *ofdev)
> {
> diff --git a/drivers/soc/qe/qe_ic.c b/drivers/soc/qe/qe_ic.c
> index cc1b8d5..11fe98c 100644
> --- a/drivers/soc/qe/qe_ic.c
> +++ b/drivers/soc/qe/qe_ic.c
> @@ -34,6 +34,7 @@
> #include <linux/fsl/qe_ic.h>
>
> #include "qe_ic.h"
> +#include "../../irqchip/irqchip.h"
What do you need from here, and can it be moved to include/linux/...?
The only thing I see defined in irqchip.h is IRQCHIP_DECLARE, and you
don't use that in this patch...
-Scott
> static DEFINE_RAW_SPINLOCK(qe_ic_lock);
>
> @@ -501,4 +502,18 @@ static int __init init_qe_ic_sysfs(void)
> return 0;
> }
>
> +static int __init qeic_of_init(void)
> +{
> + struct device_node *np;
> +
> + np = of_find_compatible_node(NULL, NULL, "fsl,qe-ic");
> + if (np) {
> + qe_ic_init(np, 0, qe_ic_cascade_low_mpic,
> + qe_ic_cascade_high_mpic);
> + of_node_put(np);
> + }
> + return 0;
> +}
> +subsys_initcall(qeic_of_init);
> +
> subsys_initcall(init_qe_ic_sysfs);
^ permalink raw reply [flat|nested] 3+ messages in thread
* RE: [PATCH 2/3] qe: run qe_init and qe_ic_init
2014-10-10 17:34 ` Scott Wood
@ 2014-10-11 6:22 ` qiang.zhao
0 siblings, 0 replies; 3+ messages in thread
From: qiang.zhao @ 2014-10-11 6:22 UTC (permalink / raw)
To: Scott Wood; +Cc: linuxppc-dev, linux-kernel, Xiaobo Xie
T24gU2F0LCAyMDE0LTEwLTExIGF0IDAxOjM1QU0sIFdvb2QgU2NvdHQgd3JvdGU6DQo+IC0tLS0t
T3JpZ2luYWwgTWVzc2FnZS0tLS0tDQo+IEZyb206IFdvb2QgU2NvdHQtQjA3NDIxDQo+IFNlbnQ6
IFNhdHVyZGF5LCBPY3RvYmVyIDExLCAyMDE0IDE6MzUgQU0NCj4gVG86IFpoYW8gUWlhbmctQjQ1
NDc1DQo+IENjOiBsaW51eHBwYy1kZXZAbGlzdHMub3psYWJzLm9yZzsgbGludXgta2VybmVsQHZn
ZXIua2VybmVsLm9yZzsgV29vZA0KPiBTY290dC1CMDc0MjE7IFhpZSBYaWFvYm8tUjYzMDYxDQo+
IFN1YmplY3Q6IFJlOiBbUEFUQ0ggMi8zXSBxZTogcnVuIHFlX2luaXQgYW5kIHFlX2ljX2luaXQN
Cj4gDQo+IE9uIEZyaSwgMjAxNC0xMC0xMCBhdCAxNDo0OCArMDgwMCwgWmhhbyBRaWFuZyB3cm90
ZToNCj4gPiBxZSBhbmQgcWVfaWMgbmVlZCB0byBiZSBpbml0aWFsaXplZCBiZWZvcmUgdGhlIHFl
IGFwcCBkcml2ZXJzLCB1c2luZw0KPiA+IHN1YnN5c19pbml0Y2FsbCB0byBydW4gcWVfaW5pdCBh
bmQgcWVfaWNfaW5pdA0KPiA+DQo+ID4gU2lnbmVkLW9mZi1ieTogWmhhbyBRaWFuZyA8QjQ1NDc1
QGZyZWVzY2FsZS5jb20+DQo+ID4gLS0tDQo+ID4gIGRyaXZlcnMvc29jL3FlL3FlLmMgICAgfCAx
NSArKysrKysrKysrKysrKysNCj4gPiAgZHJpdmVycy9zb2MvcWUvcWVfaWMuYyB8IDE1ICsrKysr
KysrKysrKysrKw0KPiA+ICAyIGZpbGVzIGNoYW5nZWQsIDMwIGluc2VydGlvbnMoKykNCj4gPg0K
PiA+IGRpZmYgLS1naXQgYS9kcml2ZXJzL3NvYy9xZS9xZS5jIGIvZHJpdmVycy9zb2MvcWUvcWUu
YyBpbmRleA0KPiA+IDJhYWE1YjIuLmJmZWEwZjggMTAwNjQ0DQo+ID4gLS0tIGEvZHJpdmVycy9z
b2MvcWUvcWUuYw0KPiA+ICsrKyBiL2RyaXZlcnMvc29jL3FlL3FlLmMNCj4gPiBAQCAtNjgzLDYg
KzY4MywyMSBAQCB1bnNpZ25lZCBpbnQgcWVfZ2V0X251bV9vZl9zbnVtcyh2b2lkKSAgfQ0KPiA+
IEVYUE9SVF9TWU1CT0wocWVfZ2V0X251bV9vZl9zbnVtcyk7DQo+ID4NCj4gPiArc3RhdGljIGlu
dCBfX2luaXQgcWVfaW5pdCh2b2lkKQ0KPiA+ICt7DQo+ID4gKwlzdHJ1Y3QgZGV2aWNlX25vZGUg
Km5wOw0KPiA+ICsNCj4gPiArCW5wID0gb2ZfZmluZF9jb21wYXRpYmxlX25vZGUoTlVMTCwgTlVM
TCwgImZzbCxxZSIpOw0KPiA+ICsJaWYgKCFucCkgew0KPiA+ICsJCXByX2VycigiJXM6IENvdWxk
IG5vdCBmaW5kIFF1aWNjIEVuZ2luZSBub2RlXG4iLCBfX2Z1bmNfXyk7DQo+ID4gKwkJcmV0dXJu
IC1FTk9ERVY7DQo+ID4gKwl9DQo+ID4gKwlxZV9yZXNldCgpOw0KPiA+ICsJb2Zfbm9kZV9wdXQo
bnApOw0KPiA+ICsJcmV0dXJuIDA7DQo+ID4gK30NCj4gPiArc3Vic3lzX2luaXRjYWxsKHFlX2lu
aXQpOw0KPiANCj4gSXQgaXMgbm90IGFuIGVycm9yIHRvIGVuYWJsZSBRRSBzdXBwb3J0IG9uIGhh
cmR3YXJlIHRoYXQgZG9lc24ndCBoYXZlIFFFLg0KPiBQbGVhc2UgcmVtb3ZlIHRoZSBwcl9lcnIo
KS4NCk9LLCB3aWxsIGJlIG1vZGlmaWVkIG9uIFYyLg0KPiANCj4gPiArDQo+ID4gICNpZiBkZWZp
bmVkKENPTkZJR19TVVNQRU5EKSAmJiBkZWZpbmVkKENPTkZJR19QUENfODV4eCkgIHN0YXRpYyBp
bnQNCj4gPiBxZV9yZXN1bWUoc3RydWN0IHBsYXRmb3JtX2RldmljZSAqb2ZkZXYpICB7IGRpZmYg
LS1naXQNCj4gPiBhL2RyaXZlcnMvc29jL3FlL3FlX2ljLmMgYi9kcml2ZXJzL3NvYy9xZS9xZV9p
Yy5jIGluZGV4DQo+ID4gY2MxYjhkNS4uMTFmZTk4YyAxMDA2NDQNCj4gPiAtLS0gYS9kcml2ZXJz
L3NvYy9xZS9xZV9pYy5jDQo+ID4gKysrIGIvZHJpdmVycy9zb2MvcWUvcWVfaWMuYw0KPiA+IEBA
IC0zNCw2ICszNCw3IEBADQo+ID4gICNpbmNsdWRlIDxsaW51eC9mc2wvcWVfaWMuaD4NCj4gPg0K
PiA+ICAjaW5jbHVkZSAicWVfaWMuaCINCj4gPiArI2luY2x1ZGUgIi4uLy4uL2lycWNoaXAvaXJx
Y2hpcC5oIg0KPiANCj4gV2hhdCBkbyB5b3UgbmVlZCBmcm9tIGhlcmUsIGFuZCBjYW4gaXQgYmUg
bW92ZWQgdG8gaW5jbHVkZS9saW51eC8uLi4/DQo+IA0KPiBUaGUgb25seSB0aGluZyBJIHNlZSBk
ZWZpbmVkIGluIGlycWNoaXAuaCBpcyBJUlFDSElQX0RFQ0xBUkUsIGFuZCB5b3UNCj4gZG9uJ3Qg
dXNlIHRoYXQgaW4gdGhpcyBwYXRjaC4uLg0KT0ssIHdpbGwgYmUgbW9kaWZpZWQgb24gVjIuDQo+
IA0KPiAtU2NvdHQNCj4gDQo+ID4gIHN0YXRpYyBERUZJTkVfUkFXX1NQSU5MT0NLKHFlX2ljX2xv
Y2spOw0KPiA+DQo+ID4gQEAgLTUwMSw0ICs1MDIsMTggQEAgc3RhdGljIGludCBfX2luaXQgaW5p
dF9xZV9pY19zeXNmcyh2b2lkKQ0KPiA+ICAJcmV0dXJuIDA7DQo+ID4gIH0NCj4gPg0KPiA+ICtz
dGF0aWMgaW50IF9faW5pdCBxZWljX29mX2luaXQodm9pZCkNCj4gPiArew0KPiA+ICsJc3RydWN0
IGRldmljZV9ub2RlICpucDsNCj4gPiArDQo+ID4gKwlucCA9IG9mX2ZpbmRfY29tcGF0aWJsZV9u
b2RlKE5VTEwsIE5VTEwsICJmc2wscWUtaWMiKTsNCj4gPiArCWlmIChucCkgew0KPiA+ICsJCXFl
X2ljX2luaXQobnAsIDAsIHFlX2ljX2Nhc2NhZGVfbG93X21waWMsDQo+ID4gKwkJCSAgIHFlX2lj
X2Nhc2NhZGVfaGlnaF9tcGljKTsNCj4gPiArCQlvZl9ub2RlX3B1dChucCk7DQo+ID4gKwl9DQo+
ID4gKwlyZXR1cm4gMDsNCj4gPiArfQ0KPiA+ICtzdWJzeXNfaW5pdGNhbGwocWVpY19vZl9pbml0
KTsNCj4gPiArDQo+ID4gIHN1YnN5c19pbml0Y2FsbChpbml0X3FlX2ljX3N5c2ZzKTsNCj4gDQoN
Cg0KQmVzdCBSZWdhcmRzDQpaaGFvIFFpYW5nDQo=
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2014-10-11 6:22 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2014-10-10 6:48 [PATCH 2/3] qe: run qe_init and qe_ic_init Zhao Qiang
2014-10-10 17:34 ` Scott Wood
2014-10-11 6:22 ` qiang.zhao
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).