Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1701821

[PATCH v2 1/2] mcb: introduce mcb_get_resource()

Path csiph.com!goblin2!goblin1!goblin.stu.neva.ru!feeders.as203319.net!feeder03.as203319.net!aioe.org!bofh.it!news.nic.it!robomod
From Michael Moese <michael.moese@men.de>
Newsgroups linux.kernel
Subject [PATCH v2 1/2] mcb: introduce mcb_get_resource()
Date Wed, 02 Aug 2017 10:00:03 +0200
Message-ID <u9WJr-70R-13@gated-at.bofh.it> (permalink)
X-Original-To <gregkh@linuxfoundation.org>, <jslaby@suse.com>, <linux-serial@vger.kernel.org>, <linux-kernel@vger.kernel.org>
X-Brightmail-Tracker H4sIAAAAAAAAA+NgFrrJIsWRWlGSWpSXmKPExsUS8J9toq5DW2O kwd/VEhbNi9ezWVyfP5HJYsqGD0wWj7tmsFpc3jWHzeLM4l52BzaP/XPXsHus33KVxWPz6WqP z5vkAliiWDPzkvIrElgz+h60shcc5Ku4s/g4SwPjRp4uRk4OIYEGRom+j2C2hICfxNqDs5i7G LmA4vMYJY683ssIkmAT0JI4P+sOE4gtIlAisfblEmYQm1kgSeLppRYwW1jAUuLIrElg9SwCKh LPv+xhB7F5geLfD99gglggL9FxYDILRFxQ4uTMJywQRyhKLG/8xwxRIyfR+b0DqJcDyI6T+HL HFMK0lpi4ORFiq4TEwRcvmCcwCsxCMmgWktQCRqZVjOrFqUVlqUW6pnpJRZnpGSW5iZk5uoYG pnq5qcXFiempOYlJxXrJ+bmbGIHBzAAEOxi/9DsfYpTkYFIS5VXsqY8U4kvKT6nMSCzOiC8qz UktPsQow8GhJMHL09oYKSRYlJqeWpGWmQOMK5i0BAePkgivNUiat7ggMbc4Mx0idYpRl+PVhP /fmIRY8vLzUqXEeR1AigRAijJK8+BGwGL8EqOslDAvI9BRQjwFqUW5mSWo8q8YxTkYlYR5XUG m8GTmlcBtegV0BBPQEX/qwI4oSURISTUwsmr8PP0nnjV53l+JDa4zO2YUPhPljAnqcZ3s/036 UfHiTTsyQ+T2vhPdu/Xd0jk79ayiW28IBVWs3Fj/PlU3dskpHyl+LiHB4oeMVSckN/64zrCv5 Vyida9r4B2LotIQ/Sd7eevSU0X2sFrqz+G9HR69S/JJ0T6Ro3zbLKf4RW2yvFkTlXNDiaU4I9 FQi7moOBEAyr3ceOwCAAA=
X-Env-Sender michael.moese@men.de
X-Msg-Ref server-10.tower-178.messagelabs.com!1501660735!101893619!1
X-Originating-IP [80.255.6.145]
X-Starscan-Version 9.4.25; banners=-,-,-
X-Viruschecked Checked
X-PGP-Universal processed; by keys.men.de on Wed, 02 Aug 2017 09:58:56 +0200
X-Mailer git-send-email 2.12.3
MIME-Version 1.0
X-Originating-IP [192.1.2.30]
X-Clientproxiedby MEN-EX01.intra.men.de (192.168.1.1) To MEN-EX01.intra.men.de (192.168.1.1)
X-Exclaimer-Md-Config e4841e51-7998-49c0-ba41-8b8a0e2d8962
Content-Type text/plain
Sender robomod@news.nic.it
List-ID <linux-kernel.vger.kernel.org>
X-Mailing-List linux-kernel@vger.kernel.org
Approved robomod@news.nic.it
Lines 63
Organization linux.* mail to news gateway
X-Original-Cc <michael.moese@men.de>, <johannes.thumshirn@suse.de>, Johannes Thumshirn <jthumshirn@suse.de>
X-Original-Date Wed, 2 Aug 2017 09:58:52 +0200
X-Original-Message-ID <20170802075853.18911-1-michael.moese@men.de>
X-Original-Sender linux-kernel-owner@vger.kernel.org
Xref csiph.com linux.kernel:1701821

Show key headers only | View raw


From: Johannes Thumshirn <jthumshirn@suse.de>

Introduce mcb_get_resource() as a common accessor to a mcb device's memory or
IRQ resources.

Signed-off-by: Johannes Thumshirn <jthumshirn@suse.de>
---
 drivers/mcb/mcb-core.c | 20 +++++++++++++++++++-
 include/linux/mcb.h    |  2 ++
 2 files changed, 21 insertions(+), 1 deletion(-)

diff --git a/drivers/mcb/mcb-core.c b/drivers/mcb/mcb-core.c
index 921a5d2a802b..bb5c5692dedc 100644
--- a/drivers/mcb/mcb-core.c
+++ b/drivers/mcb/mcb-core.c
@@ -418,6 +418,22 @@ void mcb_bus_add_devices(const struct mcb_bus *bus)
 EXPORT_SYMBOL_GPL(mcb_bus_add_devices);
 
 /**
+ * mcb_get_resource() - get a resource for a mcb device
+ * @dev: the mcb device
+ * @type: the type of resource
+ */
+struct resource *mcb_get_resource(struct mcb_device *dev, unsigned int type)
+{
+	if (type == IORESOURCE_MEM)
+		return &dev->mem;
+	else if (type == IORESOURCE_IRQ)
+		return &dev->irq;
+	else
+		return NULL;
+}
+EXPORT_SYMBOL_GPL(mcb_get_resource);
+
+/**
  * mcb_request_mem() - Request memory
  * @dev: The @mcb_device the memory is for
  * @name: The name for the memory reference.
@@ -460,7 +476,9 @@ EXPORT_SYMBOL_GPL(mcb_release_mem);
 
 static int __mcb_get_irq(struct mcb_device *dev)
 {
-	struct resource *irq = &dev->irq;
+	struct resource *irq;
+
+	irq = mcb_get_resource(dev, IORESOURCE_IRQ);
 
 	return irq->start;
 }
diff --git a/include/linux/mcb.h b/include/linux/mcb.h
index 4097ac9ea13a..b1a0ad9d23b3 100644
--- a/include/linux/mcb.h
+++ b/include/linux/mcb.h
@@ -136,5 +136,7 @@ extern struct resource *mcb_request_mem(struct mcb_device *dev,
 					const char *name);
 extern void mcb_release_mem(struct resource *mem);
 extern int mcb_get_irq(struct mcb_device *dev);
+extern struct resource *mcb_get_resource(struct mcb_device *dev,
+					 unsigned int type);
 
 #endif /* _LINUX_MCB_H */
-- 
2.12.3

Back to linux.kernel | Previous | Next | Find similar | Unroll thread


Thread

[PATCH v2 1/2] mcb: introduce mcb_get_resource() Michael Moese <michael.moese@men.de> - 2017-08-02 10:00 +0200

csiph-web