diff --git a/drivers/staging/hv/Channel.c b/drivers/staging/hv/Channel.c index e6337418767a9775763682cf1e893936d3f91958..4b5e3e40aa3a03f4a82e6b03ec33ca9dfb4b35c9 100644 --- a/drivers/staging/hv/Channel.c +++ b/drivers/staging/hv/Channel.c @@ -104,12 +104,16 @@ VmbusChannelSetEvent( if (Channel->OfferMsg.MonitorAllocated) { /* Each u32 represents 32 channels */ - BitSet((u32*)gVmbusConnection.SendInterruptPage + (Channel->OfferMsg.ChildRelId >> 5), Channel->OfferMsg.ChildRelId & 31); + set_bit(Channel->OfferMsg.ChildRelId & 31, + (unsigned long *) gVmbusConnection.SendInterruptPage + + (Channel->OfferMsg.ChildRelId >> 5) ); monitorPage = (HV_MONITOR_PAGE*)gVmbusConnection.MonitorPages; monitorPage++; /* Get the child to parent monitor page */ - BitSet((u32*) &monitorPage->TriggerGroup[Channel->MonitorGroup].Pending, Channel->MonitorBit); + set_bit(Channel->MonitorBit, + (unsigned long *) &monitorPage->TriggerGroup[Channel->MonitorGroup].Pending); + } else { @@ -132,12 +136,14 @@ VmbusChannelClearEvent( if (Channel->OfferMsg.MonitorAllocated) { /* Each u32 represents 32 channels */ - BitClear((u32*)gVmbusConnection.SendInterruptPage + (Channel->OfferMsg.ChildRelId >> 5), Channel->OfferMsg.ChildRelId & 31); + clear_bit(Channel->OfferMsg.ChildRelId & 31, + (unsigned long *) gVmbusConnection.SendInterruptPage + (Channel->OfferMsg.ChildRelId >> 5)); monitorPage = (HV_MONITOR_PAGE*)gVmbusConnection.MonitorPages; monitorPage++; /* Get the child to parent monitor page */ - BitClear((u32*) &monitorPage->TriggerGroup[Channel->MonitorGroup].Pending, Channel->MonitorBit); + clear_bit(Channel->MonitorBit, + (unsigned long *) &monitorPage->TriggerGroup[Channel->MonitorGroup].Pending); } DPRINT_EXIT(VMBUS); diff --git a/drivers/staging/hv/Connection.c b/drivers/staging/hv/Connection.c index 8d76bd45db8751e55d3489857fd3d583edcf042e..b7df7e7a38e643f07c84778d0d85fd1a2b26673d 100644 --- a/drivers/staging/hv/Connection.c +++ b/drivers/staging/hv/Connection.c @@ -358,7 +358,7 @@ VmbusOnEvents( { for (bit = 0; bit < 32; bit++) { - if (BitTestAndClear(&recvInterruptPage[dword], bit)) + if (test_and_clear_bit(bit, (unsigned long *) &recvInterruptPage[dword])) { relid = (dword << 5) + bit; @@ -432,7 +432,9 @@ VmbusSetEvent(u32 childRelId) DPRINT_ENTER(VMBUS); /* Each u32 represents 32 channels */ - BitSet((u32*)gVmbusConnection.SendInterruptPage + (childRelId >> 5), childRelId & 31); + set_bit(childRelId & 31, + (unsigned long *) gVmbusConnection.SendInterruptPage + (childRelId >> 5)); + ret = HvSignalEvent(); DPRINT_EXIT(VMBUS); diff --git a/drivers/staging/hv/Vmbus.c b/drivers/staging/hv/Vmbus.c index 13d7ac80d6b4b29fae2c58d12df3e82628c0a47d..fa8c58f57829b62618fede2baa6d2ab501031084 100644 --- a/drivers/staging/hv/Vmbus.c +++ b/drivers/staging/hv/Vmbus.c @@ -511,7 +511,7 @@ VmbusOnISR( event = (HV_SYNIC_EVENT_FLAGS*)page_addr + VMBUS_MESSAGE_SINT; /* Since we are a child, we only need to check bit 0 */ - if (BitTestAndClear(&event->Flags32[0], 0)) + if (test_and_clear_bit(0, (unsigned long *) &event->Flags32[0])) { DPRINT_DBG(VMBUS, "received event %d", event->Flags32[0]); ret |= 0x2; diff --git a/drivers/staging/hv/include/osd.h b/drivers/staging/hv/include/osd.h index e1f37879f52d27d450eb441f12effeead8179b7a..ee44e7e9547d05ceb1ab5acf40a06218f5324a76 100644 --- a/drivers/staging/hv/include/osd.h +++ b/drivers/staging/hv/include/osd.h @@ -109,12 +109,6 @@ static inline void do_cpuid(unsigned int op, unsigned int *eax, unsigned int *eb /* Osd routines */ -extern void BitSet(unsigned int* addr, int value); -extern void BitClear(unsigned int* addr, int value); -extern int BitTest(unsigned int* addr, int value); -extern int BitTestAndClear(unsigned int* addr, int value); -extern int BitTestAndSet(unsigned int* addr, int value); - extern int InterlockedIncrement(int *val); extern int InterlockedDecrement(int *val); extern int InterlockedCompareExchange(int *val, int new, int curr); diff --git a/drivers/staging/hv/osd.c b/drivers/staging/hv/osd.c index 8ca56a4fce2bddf796be0be79adb7aedd79a3b98..ff01a7b9c120401140ad6da28e11b920fac25148 100644 --- a/drivers/staging/hv/osd.c +++ b/drivers/staging/hv/osd.c @@ -56,33 +56,6 @@ struct osd_callback_struct { void *data; }; - -void BitSet(unsigned int* addr, int bit) -{ - set_bit(bit, (unsigned long*)addr); -} - -int BitTest(unsigned int* addr, int bit) -{ - return test_bit(bit, (unsigned long*)addr); -} - -void BitClear(unsigned int* addr, int bit) -{ - clear_bit(bit, (unsigned long*)addr); -} - -int BitTestAndClear(unsigned int* addr, int bit) -{ - return test_and_clear_bit(bit, (unsigned long*)addr); -} - -int BitTestAndSet(unsigned int* addr, int bit) -{ - return test_and_set_bit(bit, (unsigned long*)addr); -} - - int InterlockedIncrement(int *val) { return atomic_inc_return((atomic_t*)val);