* [PATCH] Simplify yenta code
@ 2007-10-01 18:41 Linas Vepstas
2007-10-01 18:56 ` Matthew Wilcox
0 siblings, 1 reply; 5+ messages in thread
From: Linas Vepstas @ 2007-10-01 18:41 UTC (permalink / raw)
To: linux-pcmcia, Dominik Brodowski; +Cc: linux-pci, linux-kernel
Simplify some of the resource detection logic in yenta_socket.
This patch results in the same run-time behaviour as the
current code, but does so with fewer lines of code. This
makes the logical flow of the code a bit easier to understand.
Signed-off-by: Linas Vepstas <linas@austin.ibm.com>
Cc: Dominik Brodowski <linux@brodo.de>
----
drivers/pcmcia/yenta_socket.c | 22 ++++++++--------------
1 file changed, 8 insertions(+), 14 deletions(-)
Index: linux-2.6.23-rc8-mm1/drivers/pcmcia/yenta_socket.c
===================================================================
--- linux-2.6.23-rc8-mm1.orig/drivers/pcmcia/yenta_socket.c 2007-10-01 12:17:02.000000000 -0500
+++ linux-2.6.23-rc8-mm1/drivers/pcmcia/yenta_socket.c 2007-10-01 12:37:36.000000000 -0500
@@ -654,20 +654,14 @@ static int yenta_allocate_res(struct yen
pci_name(socket->dev), nr);
}
- if (type & IORESOURCE_IO) {
- if ((yenta_search_res(socket, res, BRIDGE_IO_MAX)) ||
- (yenta_search_res(socket, res, BRIDGE_IO_ACC)) ||
- (yenta_search_res(socket, res, BRIDGE_IO_MIN)))
- return 1;
- } else {
- if (type & IORESOURCE_PREFETCH) {
- if ((yenta_search_res(socket, res, BRIDGE_MEM_MAX)) ||
- (yenta_search_res(socket, res, BRIDGE_MEM_ACC)) ||
- (yenta_search_res(socket, res, BRIDGE_MEM_MIN)))
- return 1;
- /* Approximating prefetchable by non-prefetchable */
- res->flags = IORESOURCE_MEM;
- }
+ if ((yenta_search_res(socket, res, BRIDGE_MEM_MAX)) ||
+ (yenta_search_res(socket, res, BRIDGE_MEM_ACC)) ||
+ (yenta_search_res(socket, res, BRIDGE_MEM_MIN)))
+ return 1;
+
+ if (type & IORESOURCE_PREFETCH) {
+ /* Approximating prefetchable by non-prefetchable */
+ res->flags = IORESOURCE_MEM;
if ((yenta_search_res(socket, res, BRIDGE_MEM_MAX)) ||
(yenta_search_res(socket, res, BRIDGE_MEM_ACC)) ||
(yenta_search_res(socket, res, BRIDGE_MEM_MIN)))
^ permalink raw reply [flat|nested] 5+ messages in thread* Re: [PATCH] Simplify yenta code
2007-10-01 18:41 [PATCH] Simplify yenta code Linas Vepstas
@ 2007-10-01 18:56 ` Matthew Wilcox
2007-10-01 20:04 ` Linas Vepstas
0 siblings, 1 reply; 5+ messages in thread
From: Matthew Wilcox @ 2007-10-01 18:56 UTC (permalink / raw)
To: Linas Vepstas; +Cc: linux-pcmcia, Dominik Brodowski, linux-pci, linux-kernel
On Mon, Oct 01, 2007 at 01:41:15PM -0500, Linas Vepstas wrote:
> - if (type & IORESOURCE_IO) {
> - if ((yenta_search_res(socket, res, BRIDGE_IO_MAX)) ||
> - (yenta_search_res(socket, res, BRIDGE_IO_ACC)) ||
> - (yenta_search_res(socket, res, BRIDGE_IO_MIN)))
> - return 1;
> - } else {
> - if (type & IORESOURCE_PREFETCH) {
> - if ((yenta_search_res(socket, res, BRIDGE_MEM_MAX)) ||
> - (yenta_search_res(socket, res, BRIDGE_MEM_ACC)) ||
> - (yenta_search_res(socket, res, BRIDGE_MEM_MIN)))
> - return 1;
> - /* Approximating prefetchable by non-prefetchable */
> - res->flags = IORESOURCE_MEM;
> - }
> + if ((yenta_search_res(socket, res, BRIDGE_MEM_MAX)) ||
> + (yenta_search_res(socket, res, BRIDGE_MEM_ACC)) ||
> + (yenta_search_res(socket, res, BRIDGE_MEM_MIN)))
Are BRIDGE_IO_MAX and BRIDGE_MEM_MAX guaranteed to be the same?
--
Intel are signing my paycheques ... these opinions are still mine
"Bill, look, we understand that you're interested in selling us this
operating system, but compare it to ours. We can't possibly take such
a retrograde step."
^ permalink raw reply [flat|nested] 5+ messages in thread
* RE: [PATCH] Simplify yenta code
@ 2007-10-06 4:26 Komuro
2007-10-08 17:47 ` Linas Vepstas
0 siblings, 1 reply; 5+ messages in thread
From: Komuro @ 2007-10-06 4:26 UTC (permalink / raw)
To: linux-kernel; +Cc: linas
Hello,
Unfortunately, your patch is wrong,
and does not results in the same run-time behaviour.
You broke the code of "if (type & IORESOURCE_IO)"
Best Regards
Komuro
>Simplify some of the resource detection logic in yenta_socket.
>This patch results in the same run-time behaviour as the
>current code, but does so with fewer lines of code. This
>makes the logical flow of the code a bit easier to understand.
>
>Signed-off-by: Linas Vepstas <linas@austin.ibm.com>
>Cc: Dominik Brodowski <linux@brodo.de>
>
>----
> drivers/pcmcia/yenta_socket.c | 22 ++++++++--------------
> 1 file changed, 8 insertions(+), 14 deletions(-)
>
>Index: linux-2.6.23-rc8-mm1/drivers/pcmcia/yenta_socket.c
>===================================================================
>--- linux-2.6.23-rc8-mm1.orig/drivers/pcmcia/yenta_socket.c 2007-10-01 >12:17:02.000000000 -0500
>+++ linux-2.6.23-rc8-mm1/drivers/pcmcia/yenta_socket.c 2007-10-01 12:37:36.000000000 >-0500
>@@ -654,20 +654,14 @@ static int yenta_allocate_res(struct yen
> pci_name(socket->dev), nr);
> }
>
>- if (type & IORESOURCE_IO) {
>- if ((yenta_search_res(socket, res, BRIDGE_IO_MAX)) ||
>- (yenta_search_res(socket, res, BRIDGE_IO_ACC)) ||
>- (yenta_search_res(socket, res, BRIDGE_IO_MIN)))
>- return 1;
>- } else {
>- if (type & IORESOURCE_PREFETCH) {
>- if ((yenta_search_res(socket, res, BRIDGE_MEM_MAX)) ||
>- (yenta_search_res(socket, res, BRIDGE_MEM_ACC)) ||
>- (yenta_search_res(socket, res, BRIDGE_MEM_MIN)))
>- return 1;
>- /* Approximating prefetchable by non-prefetchable */
>- res->flags = IORESOURCE_MEM;
>- }
>+ if ((yenta_search_res(socket, res, BRIDGE_MEM_MAX)) ||
>+ (yenta_search_res(socket, res, BRIDGE_MEM_ACC)) ||
>+ (yenta_search_res(socket, res, BRIDGE_MEM_MIN)))
>+ return 1;
>+
>+ if (type & IORESOURCE_PREFETCH) {
>+ /* Approximating prefetchable by non-prefetchable */
>+ res->flags = IORESOURCE_MEM;
> if ((yenta_search_res(socket, res, BRIDGE_MEM_MAX)) ||
> (yenta_search_res(socket, res, BRIDGE_MEM_ACC)) ||
> (yenta_search_res(socket, res, BRIDGE_MEM_MIN)))
>-
^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2007-10-08 17:47 UTC | newest]
Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2007-10-01 18:41 [PATCH] Simplify yenta code Linas Vepstas
2007-10-01 18:56 ` Matthew Wilcox
2007-10-01 20:04 ` Linas Vepstas
-- strict thread matches above, loose matches on Subject: below --
2007-10-06 4:26 Komuro
2007-10-08 17:47 ` Linas Vepstas
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.