diff mbox

[linux,dev-4.10,v2,3/3] fsi: core: Add check for master property no-scan-on-init

Message ID 20170804032622.88674-4-cbostic@linux.vnet.ibm.com
State Accepted, archived
Headers show

Commit Message

Christopher Bostic Aug. 4, 2017, 3:26 a.m. UTC
Prior to scanning a master check if the optional property
no-scan-on-init is present.  If it is then avoid scanning.  This is
necessary in cases where a master scan could interfere with another
FSI master on the same bus.

Signed-off-by: Christopher Bostic <cbostic@linux.vnet.ibm.com>
---
v2 - Remove changes in hub and gpio masters and make check for device
     tree property in the core itself.
---
 drivers/fsi/fsi-core.c | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

Comments

Jeremy Kerr Aug. 4, 2017, 3:33 a.m. UTC | #1
Hi Chris,

> Prior to scanning a master check if the optional property
> no-scan-on-init is present.  If it is then avoid scanning.  This is
> necessary in cases where a master scan could interfere with another
> FSI master on the same bus.

Looks good to me. We may need to be flexible with the property name
(based on feedback from the DT folks, when we send to them for review),
but that should be fine regardless.

Acked-by: Jeremy Kerr <jk@ozlabs.org>

Cheers,


Jeremy
Joel Stanley Aug. 8, 2017, 1:02 p.m. UTC | #2
On Fri, Aug 4, 2017 at 1:33 PM, Jeremy Kerr <jk@ozlabs.org> wrote:
> Hi Chris,
>
>> Prior to scanning a master check if the optional property
>> no-scan-on-init is present.  If it is then avoid scanning.  This is
>> necessary in cases where a master scan could interfere with another
>> FSI master on the same bus.
>
> Looks good to me. We may need to be flexible with the property name
> (based on feedback from the DT folks, when we send to them for review),
> but that should be fine regardless.
>
> Acked-by: Jeremy Kerr <jk@ozlabs.org>

I've applied the series to dev-4.10.

Cheers,

Joel
diff mbox

Patch

diff --git a/drivers/fsi/fsi-core.c b/drivers/fsi/fsi-core.c
index 9b83f1a..7b06b0d 100644
--- a/drivers/fsi/fsi-core.c
+++ b/drivers/fsi/fsi-core.c
@@ -900,6 +900,7 @@  static ssize_t master_break_store(struct device *dev,
 int fsi_master_register(struct fsi_master *master)
 {
 	int rc;
+	struct device_node *np;
 
 	if (!master)
 		return -EINVAL;
@@ -927,7 +928,9 @@  int fsi_master_register(struct fsi_master *master)
 		return rc;
 	}
 
-	fsi_master_scan(master);
+	np = dev_of_node(&master->dev);
+	if (!of_property_read_bool(np, "no-scan-on-init"))
+		fsi_master_scan(master);
 
 	return 0;
 }