From: Geert.Uytterhoeven@sonycom.com
To: linuxppc-dev@ozlabs.org, linux-kernel@vger.kernel.org
Cc: Geert Uytterhoeven <Geert.Uytterhoeven@sonycom.com>,
Geoff Levand <geoffrey.levand@am.sony.com>
Subject: [patch 2/7] ps3: Extract ps3_repository_find_bus()
Date: Fri, 25 May 2007 10:36:09 +0200 [thread overview]
Message-ID: <20070525083632.276306000@sonycom.com> (raw)
In-Reply-To: 20070525083607.784351000@sonycom.com
[-- Attachment #1: ps3_repository_find_bus.diff --]
[-- Type: text/plain, Size: 3185 bytes --]
Repository updates:
- Extract ps3_repository_find_bus() from ps3_repository_find_device(), as the
storage driver needs it
- Make ps3_repository_find_device() return -ENODEV if a device is not found,
just like if a bus is not found
Signed-off-by: Geert Uytterhoeven <Geert.Uytterhoeven@sonycom.com>
Signed-off-by: Geoff Levand <geoffrey.levand@am.sony.com>
---
arch/powerpc/platforms/ps3/platform.h | 2 +
arch/powerpc/platforms/ps3/repository.c | 50 ++++++++++++++++++++------------
2 files changed, 34 insertions(+), 18 deletions(-)
--- a/arch/powerpc/platforms/ps3/platform.h
+++ b/arch/powerpc/platforms/ps3/platform.h
@@ -134,6 +134,8 @@ struct ps3_repository_device {
struct ps3_device_id did;
};
+int ps3_repository_find_bus(enum ps3_bus_type bus_type, unsigned int from,
+ unsigned int *bus_index);
int ps3_repository_find_device(enum ps3_bus_type bus_type,
enum ps3_dev_type dev_type,
const struct ps3_repository_device *start_dev,
--- a/arch/powerpc/platforms/ps3/repository.c
+++ b/arch/powerpc/platforms/ps3/repository.c
@@ -513,6 +513,31 @@ int ps3_repository_dump_bus_info(void)
}
#endif /* defined(DEBUG) */
+int ps3_repository_find_bus(enum ps3_bus_type bus_type, unsigned int from,
+ unsigned int *bus_index)
+{
+ unsigned int i;
+ enum ps3_bus_type type;
+ int error;
+
+ for (i = from; i < 10; i++) {
+ error = ps3_repository_read_bus_type(i, &type);
+ if (error) {
+ pr_debug("%s:%d read_bus_type failed\n",
+ __func__, __LINE__);
+ *bus_index = UINT_MAX;
+ return error;
+ }
+ if (type == bus_type) {
+ *bus_index = i;
+ return 0;
+ }
+ }
+ *bus_index = UINT_MAX;
+ return -ENODEV;
+}
+EXPORT_SYMBOL_GPL(ps3_repository_find_bus);
+
static int find_device(unsigned int bus_index, unsigned int num_dev,
unsigned int start_dev_index, enum ps3_dev_type dev_type,
struct ps3_repository_device *dev)
@@ -541,7 +566,7 @@ static int find_device(unsigned int bus_
}
if (dev_index == num_dev)
- return -1;
+ return -ENODEV;
pr_debug("%s:%d: found dev_type %u at dev_index %u\n",
__func__, __LINE__, dev_type, dev_index);
@@ -577,25 +602,14 @@ int ps3_repository_find_device (enum ps3
BUG_ON(start_dev && start_dev->bus_index > 10);
- for (bus_index = start_dev ? start_dev->bus_index : 0; bus_index < 10;
- bus_index++) {
- enum ps3_bus_type x;
-
- result = ps3_repository_read_bus_type(bus_index, &x);
-
- if (result) {
- pr_debug("%s:%d read_bus_type failed\n",
- __func__, __LINE__);
- dev->bus_index = UINT_MAX;
- return result;
- }
- if (x == bus_type)
- break;
+ result = ps3_repository_find_bus(bus_type,
+ start_dev ? start_dev->bus_index : 0,
+ &bus_index);
+ if (result) {
+ dev->bus_index = UINT_MAX;
+ return result;
}
- if (bus_index >= 10)
- return -ENODEV;
-
pr_debug("%s:%d: found bus_type %u at bus_index %u\n",
__func__, __LINE__, bus_type, bus_index);
--
Gr{oetje,eeting}s,
Geert
--
Geert Uytterhoeven -- Sony Network and Software Technology Center Europe (NSCE)
Geert.Uytterhoeven@sonycom.com ------- The Corporate Village, Da Vincilaan 7-D1
Voice +32-2-7008453 Fax +32-2-7008622 ---------------- B-1935 Zaventem, Belgium
next prev parent reply other threads:[~2007-05-25 8:38 UTC|newest]
Thread overview: 48+ messages / expand[flat|nested] mbox.gz Atom feed top
2007-05-25 8:36 [patch 0/7] RFC: PS3 Storage Drivers Geert.Uytterhoeven
2007-05-25 8:36 ` [patch 1/7] ps3: Preallocate bootmem memory for the PS3 FLASH ROM storage driver Geert.Uytterhoeven
2007-05-25 22:35 ` Benjamin Herrenschmidt
2007-05-26 8:51 ` Geert Uytterhoeven
2007-05-26 22:17 ` Benjamin Herrenschmidt
2007-05-27 18:24 ` Arnd Bergmann
2007-05-25 8:36 ` Geert.Uytterhoeven [this message]
2007-05-25 8:36 ` [patch 3/7] ps3: Storage Driver Core Geert.Uytterhoeven
2007-05-25 8:36 ` [patch 4/7] ps3: Storage Driver Probing Geert.Uytterhoeven
2007-05-25 16:18 ` Arnd Bergmann
2007-05-25 17:09 ` Geoff Levand
2007-05-25 19:48 ` Geert Uytterhoeven
2007-05-25 22:54 ` Benjamin Herrenschmidt
2007-05-25 22:47 ` Benjamin Herrenschmidt
2007-05-26 8:56 ` Geert Uytterhoeven
2007-05-25 8:36 ` [patch 5/7] ps3: Disk Storage Driver Geert.Uytterhoeven
2007-05-25 11:45 ` Olaf Hering
2007-05-25 19:43 ` Geert Uytterhoeven
2007-05-25 20:47 ` Olaf Hering
2007-05-25 16:26 ` Arnd Bergmann
2007-05-25 19:40 ` Geert Uytterhoeven
2007-05-25 20:43 ` Arnd Bergmann
2007-05-25 21:22 ` Geert Uytterhoeven
2007-05-25 22:45 ` Arnd Bergmann
2007-05-25 22:53 ` Benjamin Herrenschmidt
2007-05-25 22:48 ` Benjamin Herrenschmidt
2007-05-25 8:36 ` [patch 6/7] ps3: ROM " Geert.Uytterhoeven
2007-05-25 11:24 ` Olaf Hering
2007-05-25 22:45 ` Benjamin Herrenschmidt
2007-05-26 8:52 ` Geert Uytterhoeven
2007-05-26 22:18 ` Benjamin Herrenschmidt
2007-05-29 9:55 ` Christoph Hellwig
2007-05-25 16:50 ` Arnd Bergmann
2007-05-25 19:36 ` Geert Uytterhoeven
2007-05-25 21:04 ` Arnd Bergmann
2007-05-29 10:51 ` Christoph Hellwig
2007-05-29 10:49 ` Christoph Hellwig
2007-05-29 11:11 ` Geert Uytterhoeven
2007-05-29 11:31 ` Benjamin Herrenschmidt
2007-05-30 10:13 ` Christoph Hellwig
2007-05-30 11:45 ` Benjamin Herrenschmidt
2007-05-30 17:18 ` Geoff Levand
2007-05-29 16:21 ` Geert Uytterhoeven
2007-05-30 10:01 ` Christoph Hellwig
2007-05-25 8:36 ` [patch 7/7] ps3: FLASH " Geert.Uytterhoeven
2007-05-29 9:53 ` Christoph Hellwig
2007-05-29 9:57 ` Geert Uytterhoeven
2007-05-29 10:51 ` Christoph Hellwig
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=20070525083632.276306000@sonycom.com \
--to=geert.uytterhoeven@sonycom.com \
--cc=geoffrey.levand@am.sony.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linuxppc-dev@ozlabs.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).