From: Stefan Raspl <raspl@linux.ibm.com>
Subject: s390/cio: add test for ccwgroup device
Patch-mainline: v4.18-rc1
Git-commit: a166c368e7dbc84a5d8f013d9fda99f47f9c9f13
References: FATE#325698, LTC#167867, bsc#1113481
Summary: net/smc: Add support for SMC-D
Description: Add support for SMC-D to the existing AF_SMC address family.
Also includes the ISM device driver as required by SMC-D.
Upstream-Description:
s390/cio: add test for ccwgroup device
Add a test to check if a given device is a ccwgroup device.
Signed-off-by: Sebastian Ott <sebott@linux.vnet.ibm.com>
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
Signed-off-by: Stefan Raspl <raspl@linux.ibm.com>
Acked-by: Petr Tesarik <ptesarik@suse.com>
---
arch/s390/include/asm/ccwgroup.h | 10 ++++++++++
drivers/s390/cio/ccwgroup.c | 6 ++++++
2 files changed, 16 insertions(+)
--- a/arch/s390/include/asm/ccwgroup.h
+++ b/arch/s390/include/asm/ccwgroup.h
@@ -72,4 +72,14 @@ extern void ccwgroup_remove_ccwdev(struc
#define to_ccwgroupdev(x) container_of((x), struct ccwgroup_device, dev)
#define to_ccwgroupdrv(x) container_of((x), struct ccwgroup_driver, driver)
+
+#if IS_ENABLED(CONFIG_CCWGROUP)
+bool dev_is_ccwgroup(struct device *dev);
+#else /* CONFIG_CCWGROUP */
+static inline bool dev_is_ccwgroup(struct device *dev)
+{
+ return false;
+}
+#endif /* CONFIG_CCWGROUP */
+
#endif
--- a/drivers/s390/cio/ccwgroup.c
+++ b/drivers/s390/cio/ccwgroup.c
@@ -557,6 +557,12 @@ static struct bus_type ccwgroup_bus_type
.pm = &ccwgroup_pm_ops,
};
+bool dev_is_ccwgroup(struct device *dev)
+{
+ return dev->bus == &ccwgroup_bus_type;
+}
+EXPORT_SYMBOL(dev_is_ccwgroup);
+
/**
* ccwgroup_driver_register() - register a ccw group driver
* @cdriver: driver to be registered