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,
rostedt-nx8X9YLhiw1AfugRpC6u6w@public.gmane.org,
mingo-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org,
gregkh-hQyY1W1yCW8ekmWlsbkhG0B+6BGkLq7r@public.gmane.org,
devicetree-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org
Cc: Chris Bostic
<cbostic-23VcF4HTsmIX0ybBhKVfKdBPR1lH4CV8@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
Subject: [PATCH v5 13/23] drivers/fsi: Add client driver register utilities
Date: Tue, 4 Apr 2017 21:05:57 -0500 [thread overview]
Message-ID: <20170405020607.79939-14-cbostic@linux.vnet.ibm.com> (raw)
In-Reply-To: <20170405020607.79939-1-cbostic-23VcF4HTsmIX0ybBhKVfKdBPR1lH4CV8@public.gmane.org>
From: Chris Bostic <cbostic-23VcF4HTsmIX0ybBhKVfKdBPR1lH4CV8@public.gmane.org>
Add driver_register and driver_unregister wrappers for FSI.
Signed-off-by: Chris Bostic <cbostic-23VcF4HTsmIX0ybBhKVfKdBPR1lH4CV8@public.gmane.org>
Signed-off-by: Joel Stanley <joel-U3u1mxZcP9KHXe+LvDLADg@public.gmane.org>
---
drivers/fsi/fsi-core.c | 17 +++++++++++++++++
include/linux/fsi.h | 12 ++++++++++++
2 files changed, 29 insertions(+)
diff --git a/drivers/fsi/fsi-core.c b/drivers/fsi/fsi-core.c
index 75d2a88..4359e26 100644
--- a/drivers/fsi/fsi-core.c
+++ b/drivers/fsi/fsi-core.c
@@ -585,6 +585,23 @@ static int fsi_bus_match(struct device *dev, struct device_driver *drv)
return 0;
}
+int fsi_driver_register(struct fsi_driver *fsi_drv)
+{
+ if (!fsi_drv)
+ return -EINVAL;
+ if (!fsi_drv->id_table)
+ return -EINVAL;
+
+ return driver_register(&fsi_drv->drv);
+}
+EXPORT_SYMBOL_GPL(fsi_driver_register);
+
+void fsi_driver_unregister(struct fsi_driver *fsi_drv)
+{
+ driver_unregister(&fsi_drv->drv);
+}
+EXPORT_SYMBOL_GPL(fsi_driver_unregister);
+
struct bus_type fsi_bus_type = {
.name = "fsi",
.match = fsi_bus_match,
diff --git a/include/linux/fsi.h b/include/linux/fsi.h
index 66bce48..34f1e9a 100644
--- a/include/linux/fsi.h
+++ b/include/linux/fsi.h
@@ -54,6 +54,18 @@ struct fsi_driver {
#define to_fsi_dev(devp) container_of(devp, struct fsi_device, dev)
#define to_fsi_drv(drvp) container_of(drvp, struct fsi_driver, drv)
+extern int fsi_driver_register(struct fsi_driver *fsi_drv);
+extern void fsi_driver_unregister(struct fsi_driver *fsi_drv);
+
+/* module_fsi_driver() - Helper macro for drivers that don't do
+ * anything special in module init/exit. This eliminates a lot of
+ * boilerplate. Each module may only use this macro once, and
+ * calling it replaces module_init() and module_exit()
+ */
+#define module_fsi_driver(__fsi_driver) \
+ module_driver(__fsi_driver, fsi_driver_register, \
+ fsi_driver_unregister)
+
extern struct bus_type fsi_bus_type;
#endif /* LINUX_FSI_H */
--
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
next prev parent reply other threads:[~2017-04-05 2:05 UTC|newest]
Thread overview: 30+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-04-05 2:05 [PATCH v5 00/23] FSI device driver implementation Christopher Bostic
2017-04-05 2:05 ` [PATCH v5 01/23] drivers/fsi: Add fsi master definition Christopher Bostic
2017-04-05 2:05 ` [PATCH v5 02/23] drivers/fsi: Add slave definition Christopher Bostic
2017-04-05 2:05 ` [PATCH v5 04/23] drivers/fsi: Add crc4 helpers Christopher Bostic
2017-04-05 2:05 ` [PATCH v5 05/23] drivers/fsi: Add slave & master read/write APIs Christopher Bostic
2017-04-05 2:05 ` [PATCH v5 06/23] drivers/fsi: Set up links for slave communication Christopher Bostic
[not found] ` <20170405020607.79939-1-cbostic-23VcF4HTsmIX0ybBhKVfKdBPR1lH4CV8@public.gmane.org>
2017-04-05 2:05 ` [PATCH v5 03/23] drivers/fsi: Add empty master scan Christopher Bostic
2017-04-05 2:05 ` [PATCH v5 07/23] drivers/fsi: Implement slave initialisation Christopher Bostic
2017-04-05 2:05 ` [PATCH v5 08/23] drivers/fsi: Set slave SMODE to init communication Christopher Bostic
2017-04-05 2:05 ` [PATCH v5 09/23] drivers/fsi: scan slaves & register devices Christopher Bostic
2017-04-05 2:05 ` [PATCH v5 10/23] drivers/fsi: Add device read/write/peek API Christopher Bostic
2017-04-05 2:05 ` [PATCH v5 11/23] drivers/fsi: Add master unscan Christopher Bostic
2017-04-05 2:05 ` [PATCH v5 12/23] drivers/fsi: Add documentation for GPIO bindings Christopher Bostic
2017-04-05 2:05 ` Christopher Bostic [this message]
2017-04-05 2:06 ` [PATCH v5 17/23] drivers/fsi: Add error handling for slave communication errors Christopher Bostic
2017-04-05 2:06 ` [PATCH v5 20/23] drivers/fsi/gpio: Add tracepoints for GPIO master Christopher Bostic
2017-04-05 2:06 ` [PATCH v5 21/23] drivers/fsi: Add SCOM FSI client device driver Christopher Bostic
2017-04-05 16:35 ` Randy Dunlap
[not found] ` <bddbb80e-10b6-fbb9-152a-6e192dfe0745-wEGCiKHe2LqWVfeAwA7xHQ@public.gmane.org>
2017-04-09 21:06 ` Christopher Bostic
2017-04-05 2:06 ` [PATCH v5 22/23] drivers/fsi: Add hub master support Christopher Bostic
2017-04-05 16:36 ` Randy Dunlap
[not found] ` <8c841062-62e9-77c6-b0c9-e0da73cad3ac-wEGCiKHe2LqWVfeAwA7xHQ@public.gmane.org>
2017-04-09 21:07 ` Christopher Bostic
2017-04-05 2:06 ` [PATCH v5 23/23] drivers/fsi: Use asynchronous slave mode Christopher Bostic
2017-04-05 2:05 ` [PATCH v5 14/23] drivers/fsi: Add sysfs files for FSI master & slave accesses Christopher Bostic
2017-04-05 2:05 ` [PATCH v5 15/23] drivers/fsi: expose direct-access slave API Christopher Bostic
2017-04-05 2:06 ` [PATCH v5 16/23] drivers/fsi: Add tracepoints for low-level operations Christopher Bostic
2017-04-05 2:06 ` [PATCH v5 18/23] drivers/fsi: Document FSI master sysfs files in ABI Christopher Bostic
2017-04-05 2:06 ` [PATCH v5 19/23] drivers/fsi: Add GPIO based FSI master Christopher Bostic
2017-04-05 16:35 ` Randy Dunlap
[not found] ` <5d173f9c-e01c-6093-16ab-d114857009b2-wEGCiKHe2LqWVfeAwA7xHQ@public.gmane.org>
2017-04-09 21:04 ` 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=20170405020607.79939-14-cbostic@linux.vnet.ibm.com \
--to=cbostic-23vcf4htsmix0ybbhkvfkdbpr1lh4cv8@public.gmane.org \
--cc=alistair-Y4h6yKqj69EXC2x5gXVKYQ@public.gmane.org \
--cc=andrew-zrmu5oMJ5Fs@public.gmane.org \
--cc=benh-XVmvHMARGAS8U2dJNN8I7kB+6BGkLq7r@public.gmane.org \
--cc=devicetree-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
--cc=gregkh-hQyY1W1yCW8ekmWlsbkhG0B+6BGkLq7r@public.gmane.org \
--cc=joel-U3u1mxZcP9KHXe+LvDLADg@public.gmane.org \
--cc=linux-I+IVW8TIWO2tmTQ+vhA3Yw@public.gmane.org \
--cc=linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org \
--cc=linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
--cc=mark.rutland-5wv7dgnIgG8@public.gmane.org \
--cc=mingo-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org \
--cc=robh+dt-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org \
--cc=rostedt-nx8X9YLhiw1AfugRpC6u6w@public.gmane.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 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).