All of lore.kernel.org
 help / color / mirror / Atom feed
From: cbostic@linux.vnet.ibm.com (Christopher Bostic)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH v3 06/18] drivers/fsi: Add empty master scan
Date: Wed,  1 Feb 2017 10:53:46 -0600	[thread overview]
Message-ID: <20170201165358.45415-7-cbostic@linux.vnet.ibm.com> (raw)
In-Reply-To: <20170201165358.45415-1-cbostic@linux.vnet.ibm.com>

From: Jeremy Kerr <jk@ozlabs.org>

When a new fsi master is added, we will need to scan its links, and
slaves attached to those links. This change introduces a little shell to
iterate the links, which we will populate with the actual slave scan in
a later change.

Signed-off-by: Jeremy Kerr <jk@ozlabs.org>
Signed-off-by: Chris Bostic <cbostic@us.ibm.com>
---
 drivers/fsi/fsi-core.c | 24 ++++++++++++++++++++++++
 1 file changed, 24 insertions(+)

diff --git a/drivers/fsi/fsi-core.c b/drivers/fsi/fsi-core.c
index 78d9c558..3160c1c 100644
--- a/drivers/fsi/fsi-core.c
+++ b/drivers/fsi/fsi-core.c
@@ -20,6 +20,8 @@
 
 #include "fsi-master.h"
 
+#define FSI_N_SLAVES	4
+
 static DEFINE_IDA(master_ida);
 
 struct fsi_slave {
@@ -31,8 +33,29 @@ struct fsi_slave {
 
 #define to_fsi_slave(d) container_of(d, struct fsi_slave, dev)
 
+/* FSI slave support */
+static int fsi_slave_init(struct fsi_master *master,
+		int link, uint8_t slave_id)
+{
+	/* todo: initialise slave device, perform engine scan */
+
+	return -ENODEV;
+}
+
 /* FSI master support */
 
+static int fsi_master_scan(struct fsi_master *master)
+{
+	int link, slave_id;
+
+	for (link = 0; link < master->n_links; link++)
+		for (slave_id = 0; slave_id < FSI_N_SLAVES; slave_id++)
+			fsi_slave_init(master, link, slave_id);
+
+	return 0;
+
+}
+
 int fsi_master_register(struct fsi_master *master)
 {
 	if (!master || !master->dev)
@@ -40,6 +63,7 @@ int fsi_master_register(struct fsi_master *master)
 
 	master->idx = ida_simple_get(&master_ida, 0, 0, GFP_KERNEL);
 	get_device(master->dev);
+	fsi_master_scan(master);
 	return 0;
 }
 EXPORT_SYMBOL_GPL(fsi_master_register);
-- 
1.8.2.2

WARNING: multiple messages have this Message-ID (diff)
From: Christopher Bostic <cbostic-23VcF4HTsmIX0ybBhKVfKdBPR1lH4CV8@public.gmane.org>
To: robh+dt-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org,
	mark.rutland-5wv7dgnIgG8@public.gmane.org,
	linux-I+IVW8TIWO2tmTQ+vhA3Yw@public.gmane.org,
	gregkh-hQyY1W1yCW8ekmWlsbkhG0B+6BGkLq7r@public.gmane.org,
	mturquette-rdvid1DuHRBWk0Htik3J/w@public.gmane.org,
	geert+renesas-gXvu3+zWzMSzQB+pC5nmwQ@public.gmane.org,
	devicetree-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
	linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org,
	joel-U3u1mxZcP9KHXe+LvDLADg@public.gmane.org,
	linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
	andrew-zrmu5oMJ5Fs@public.gmane.org,
	alistair-Y4h6yKqj69EXC2x5gXVKYQ@public.gmane.org,
	benh-XVmvHMARGAS8U2dJNN8I7kB+6BGkLq7r@public.gmane.org
Cc: Jeremy Kerr <jk-mnsaURCQ41sdnm+yROfE0A@public.gmane.org>,
	Chris Bostic <cbostic-r/Jw6+rmf7HQT0dZR+AlfA@public.gmane.org>
Subject: [PATCH v3 06/18] drivers/fsi: Add empty master scan
Date: Wed,  1 Feb 2017 10:53:46 -0600	[thread overview]
Message-ID: <20170201165358.45415-7-cbostic@linux.vnet.ibm.com> (raw)
In-Reply-To: <20170201165358.45415-1-cbostic-23VcF4HTsmIX0ybBhKVfKdBPR1lH4CV8@public.gmane.org>

From: Jeremy Kerr <jk-mnsaURCQ41sdnm+yROfE0A@public.gmane.org>

When a new fsi master is added, we will need to scan its links, and
slaves attached to those links. This change introduces a little shell to
iterate the links, which we will populate with the actual slave scan in
a later change.

Signed-off-by: Jeremy Kerr <jk-mnsaURCQ41sdnm+yROfE0A@public.gmane.org>
Signed-off-by: Chris Bostic <cbostic-r/Jw6+rmf7HQT0dZR+AlfA@public.gmane.org>
---
 drivers/fsi/fsi-core.c | 24 ++++++++++++++++++++++++
 1 file changed, 24 insertions(+)

diff --git a/drivers/fsi/fsi-core.c b/drivers/fsi/fsi-core.c
index 78d9c558..3160c1c 100644
--- a/drivers/fsi/fsi-core.c
+++ b/drivers/fsi/fsi-core.c
@@ -20,6 +20,8 @@
 
 #include "fsi-master.h"
 
+#define FSI_N_SLAVES	4
+
 static DEFINE_IDA(master_ida);
 
 struct fsi_slave {
@@ -31,8 +33,29 @@ struct fsi_slave {
 
 #define to_fsi_slave(d) container_of(d, struct fsi_slave, dev)
 
+/* FSI slave support */
+static int fsi_slave_init(struct fsi_master *master,
+		int link, uint8_t slave_id)
+{
+	/* todo: initialise slave device, perform engine scan */
+
+	return -ENODEV;
+}
+
 /* FSI master support */
 
+static int fsi_master_scan(struct fsi_master *master)
+{
+	int link, slave_id;
+
+	for (link = 0; link < master->n_links; link++)
+		for (slave_id = 0; slave_id < FSI_N_SLAVES; slave_id++)
+			fsi_slave_init(master, link, slave_id);
+
+	return 0;
+
+}
+
 int fsi_master_register(struct fsi_master *master)
 {
 	if (!master || !master->dev)
@@ -40,6 +63,7 @@ int fsi_master_register(struct fsi_master *master)
 
 	master->idx = ida_simple_get(&master_ida, 0, 0, GFP_KERNEL);
 	get_device(master->dev);
+	fsi_master_scan(master);
 	return 0;
 }
 EXPORT_SYMBOL_GPL(fsi_master_register);
-- 
1.8.2.2

--
To unsubscribe from this list: send the line "unsubscribe devicetree" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

WARNING: multiple messages have this Message-ID (diff)
From: Christopher Bostic <cbostic@linux.vnet.ibm.com>
To: robh+dt@kernel.org, mark.rutland@arm.com, linux@armlinux.org.uk,
	gregkh@linuxfoundation.org, mturquette@baylibre.com,
	geert+renesas@glider.be, devicetree@vger.kernel.org,
	linux-arm-kernel@lists.infradead.org, joel@jms.id.au,
	linux-kernel@vger.kernel.org, andrew@aj.id.au,
	alistair@popple.id.au, benh@kernel.crashing.org
Cc: Jeremy Kerr <jk@ozlabs.org>, Chris Bostic <cbostic@us.ibm.com>
Subject: [PATCH v3 06/18] drivers/fsi: Add empty master scan
Date: Wed,  1 Feb 2017 10:53:46 -0600	[thread overview]
Message-ID: <20170201165358.45415-7-cbostic@linux.vnet.ibm.com> (raw)
In-Reply-To: <20170201165358.45415-1-cbostic@linux.vnet.ibm.com>

From: Jeremy Kerr <jk@ozlabs.org>

When a new fsi master is added, we will need to scan its links, and
slaves attached to those links. This change introduces a little shell to
iterate the links, which we will populate with the actual slave scan in
a later change.

Signed-off-by: Jeremy Kerr <jk@ozlabs.org>
Signed-off-by: Chris Bostic <cbostic@us.ibm.com>
---
 drivers/fsi/fsi-core.c | 24 ++++++++++++++++++++++++
 1 file changed, 24 insertions(+)

diff --git a/drivers/fsi/fsi-core.c b/drivers/fsi/fsi-core.c
index 78d9c558..3160c1c 100644
--- a/drivers/fsi/fsi-core.c
+++ b/drivers/fsi/fsi-core.c
@@ -20,6 +20,8 @@
 
 #include "fsi-master.h"
 
+#define FSI_N_SLAVES	4
+
 static DEFINE_IDA(master_ida);
 
 struct fsi_slave {
@@ -31,8 +33,29 @@ struct fsi_slave {
 
 #define to_fsi_slave(d) container_of(d, struct fsi_slave, dev)
 
+/* FSI slave support */
+static int fsi_slave_init(struct fsi_master *master,
+		int link, uint8_t slave_id)
+{
+	/* todo: initialise slave device, perform engine scan */
+
+	return -ENODEV;
+}
+
 /* FSI master support */
 
+static int fsi_master_scan(struct fsi_master *master)
+{
+	int link, slave_id;
+
+	for (link = 0; link < master->n_links; link++)
+		for (slave_id = 0; slave_id < FSI_N_SLAVES; slave_id++)
+			fsi_slave_init(master, link, slave_id);
+
+	return 0;
+
+}
+
 int fsi_master_register(struct fsi_master *master)
 {
 	if (!master || !master->dev)
@@ -40,6 +63,7 @@ int fsi_master_register(struct fsi_master *master)
 
 	master->idx = ida_simple_get(&master_ida, 0, 0, GFP_KERNEL);
 	get_device(master->dev);
+	fsi_master_scan(master);
 	return 0;
 }
 EXPORT_SYMBOL_GPL(fsi_master_register);
-- 
1.8.2.2

  parent reply	other threads:[~2017-02-01 16:53 UTC|newest]

Thread overview: 63+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-02-01 16:53 [PATCH v3 00/18] FSI device driver introduction Christopher Bostic
2017-02-01 16:53 ` Christopher Bostic
2017-02-01 16:53 ` Christopher Bostic
2017-02-01 16:53 ` [PATCH v3 01/18] drivers/fsi: Add empty fsi bus definitions Christopher Bostic
2017-02-01 16:53   ` Christopher Bostic
2017-02-01 16:53   ` Christopher Bostic
2017-02-23 10:53   ` Geert Uytterhoeven
2017-02-23 10:53     ` Geert Uytterhoeven
2017-02-23 10:53     ` Geert Uytterhoeven
2017-02-23 14:24     ` Jeremy Kerr
2017-02-23 14:24       ` Jeremy Kerr
2017-02-01 16:53 ` [PATCH v3 02/18] drivers/fsi: Add device & driver definitions Christopher Bostic
2017-02-01 16:53   ` Christopher Bostic
2017-02-01 16:53 ` [PATCH v3 03/18] drivers/fsi: add driver to device matches Christopher Bostic
2017-02-01 16:53   ` Christopher Bostic
2017-02-01 16:53 ` [PATCH v3 04/18] drivers/fsi: Add fsi master definition Christopher Bostic
2017-02-01 16:53   ` Christopher Bostic
2017-02-01 16:53   ` Christopher Bostic
2017-02-10 14:21   ` Greg KH
2017-02-10 14:21     ` Greg KH
2017-02-01 16:53 ` [PATCH v3 05/18] drivers/fsi: Add slave definition Christopher Bostic
2017-02-01 16:53   ` Christopher Bostic
2017-02-01 16:53   ` Christopher Bostic
2017-02-01 16:53 ` Christopher Bostic [this message]
2017-02-01 16:53   ` [PATCH v3 06/18] drivers/fsi: Add empty master scan Christopher Bostic
2017-02-01 16:53   ` Christopher Bostic
2017-02-01 16:53 ` [PATCH v3 07/18] drivers/fsi: Add FSI crc calculators to library Christopher Bostic
2017-02-01 16:53   ` Christopher Bostic
2017-02-01 16:53   ` Christopher Bostic
2017-02-01 16:53 ` [PATCH v3 08/18] drivers/fsi: Kick off master scan via sysfs Christopher Bostic
2017-02-01 16:53   ` Christopher Bostic
2017-02-01 16:53   ` Christopher Bostic
2017-02-01 16:53 ` [PATCH v3 09/18] drivers/fsi: Implement slave initialisation Christopher Bostic
2017-02-01 16:53   ` Christopher Bostic
2017-02-01 16:53   ` Christopher Bostic
2017-02-01 16:53 ` [PATCH v3 10/18] drivers/fsi: scan slaves & register devices Christopher Bostic
2017-02-01 16:53   ` Christopher Bostic
2017-02-01 16:53   ` Christopher Bostic
2017-02-01 16:53 ` [PATCH v3 11/18] drivers/fsi: Add device read/write/peek functions Christopher Bostic
2017-02-01 16:53   ` Christopher Bostic
2017-02-01 16:53 ` [PATCH v3 12/18] drivers/fsi: Set up links for slave communication Christopher Bostic
2017-02-01 16:53   ` Christopher Bostic
2017-02-01 16:53   ` Christopher Bostic
2017-02-01 16:53 ` [PATCH v3 13/18] drivers/fsi: Set slave SMODE to init communication Christopher Bostic
2017-02-01 16:53   ` Christopher Bostic
2017-02-01 16:53 ` [PATCH v3 14/18] drivers/fsi: Remove all scanned devices during master unregister Christopher Bostic
2017-02-01 16:53   ` Christopher Bostic
2017-02-01 16:53 ` [PATCH v3 15/18] drivers/fsi: Add FSI bus documentation Christopher Bostic
2017-02-01 16:53   ` Christopher Bostic
2017-02-01 16:53   ` Christopher Bostic
2017-02-07 17:23   ` Rob Herring
2017-02-07 17:23     ` Rob Herring
2017-02-07 17:23     ` Rob Herring
2017-02-01 16:53 ` [PATCH v3 16/18] drivers/fsi: Add documentation for GPIO based FSI master Christopher Bostic
2017-02-01 16:53   ` Christopher Bostic
2017-02-07 17:27   ` Rob Herring
2017-02-07 17:27     ` Rob Herring
2017-02-07 17:27     ` Rob Herring
2017-02-01 16:53 ` [PATCH v3 17/18] drivers/fsi: Document FSI master sysfs files in ABI Christopher Bostic
2017-02-01 16:53   ` Christopher Bostic
2017-02-01 16:53 ` [PATCH v3 18/18] drivers/fsi: Add GPIO based FSI master Christopher Bostic
2017-02-01 16:53   ` Christopher Bostic
2017-02-01 16:53   ` Christopher Bostic

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20170201165358.45415-7-cbostic@linux.vnet.ibm.com \
    --to=cbostic@linux.vnet.ibm.com \
    --cc=linux-arm-kernel@lists.infradead.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.