linuxppc-dev.lists.ozlabs.org archive mirror
 help / color / mirror / Atom feed
* [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).