[patch 2/5] hv: pass u32 to process_chn_event()

Olaf Hering
2011-04-16T16:51:13Z

[-- Attachment #1: bug679942-process_chn_event.patch --]
[-- Type: text/plain, Size: 1720 bytes --]

Change types in vmbus_on_event() to u32 since the input is u32 as well.
Pass u32 to process_chn_event() instead of casting arg to void* and back.
Update printk to reflect type change.

Signed-off-by: Olaf Hering <olaf@aepfle.de>

---
compile tested.

drivers/staging/hv/connection.c | 13 ++++++-------
1 file changed, 6 insertions(+), 7 deletions(-)

Index: linux-next/drivers/staging/hv/connection.c
===================================================================
--- linux-next.orig/drivers/staging/hv/connection.c
+++ linux-next/drivers/staging/hv/connection.c
@@ -250,10 +250,9 @@ struct vmbus_channel *relid2channel(u32
/*
* process_chn_event - Process a channel event notification
*/
-static void process_chn_event(void *context)
+static void process_chn_event(u32 relid)
{
struct vmbus_channel *channel;
- u32 relid = (u32)(unsigned long)context;

/* ASSERT(relId > 0); */

@@ -271,7 +270,7 @@ static void process_chn_event(void *cont
* (void*)channel);
*/
} else {
- pr_err("channel not found for relid - %d\n", relid);
+ pr_err("channel not found for relid - %u\n", relid);
}
}

@@ -280,10 +279,10 @@ static void process_chn_event(void *cont
*/
void vmbus_on_event(unsigned long data)
{
- int dword;
- int maxdword = MAX_NUM_CHANNELS_SUPPORTED >> 5;
+ u32 dword;
+ u32 maxdword = MAX_NUM_CHANNELS_SUPPORTED >> 5;
int bit;
- int relid;
+ u32 relid;
u32 *recv_int_page = vmbus_connection.recv_int_page;

/* Check events */
@@ -300,7 +299,7 @@ void vmbus_on_event(unsigned long data)
/* special case - vmbus channel protocol msg */
continue;
}
- process_chn_event((void *) (unsigned long)relid);
+ process_chn_event(relid);
}
}
}