]> git.ipfire.org Git - ipfire-2.x.git/blobdiff - src/patches/suse-2.6.27.31/patches.drivers/staging-hv-make-the-hyper-v-virtual-bus-code-build.patch
Reenabled linux-xen, added patches for Xen Kernel Version 2.6.27.31,
[ipfire-2.x.git] / src / patches / suse-2.6.27.31 / patches.drivers / staging-hv-make-the-hyper-v-virtual-bus-code-build.patch
diff --git a/src/patches/suse-2.6.27.31/patches.drivers/staging-hv-make-the-hyper-v-virtual-bus-code-build.patch b/src/patches/suse-2.6.27.31/patches.drivers/staging-hv-make-the-hyper-v-virtual-bus-code-build.patch
new file mode 100644 (file)
index 0000000..afa5571
--- /dev/null
@@ -0,0 +1,311 @@
+From foo@baz Mon Jul 13 17:09:34 PDT 2009
+Date: Mon, 13 Jul 2009 17:09:34 -0700
+From: Greg Kroah-Hartman <gregkh@suse.de>
+Subject: Staging: hv: make the Hyper-V virtual bus code build
+
+From: Greg Kroah-Hartman <gregkh@suse.de>
+
+The #define KERNEL_2_6_27 needs to be set, and I adjusted the include
+directories a bit to get things to build properly.
+
+I also fixed up the direct access of bus_id, as that field is now gone.
+
+The hv_vmbus code should now build properly, with no errors.
+
+Cc: Hank Janssen <hjanssen@microsoft.com>
+Cc: Haiyang Zhang <haiyangz@microsoft.com>
+Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
+
+---
+ drivers/staging/hv/Channel.c                 |    4 ++--
+ drivers/staging/hv/Channel.h                 |    2 +-
+ drivers/staging/hv/ChannelInterface.h        |    2 +-
+ drivers/staging/hv/ChannelMgmt.c             |    4 ++--
+ drivers/staging/hv/ChannelMgmt.h             |    8 ++++----
+ drivers/staging/hv/Connection.c              |    2 +-
+ drivers/staging/hv/Hv.c                      |    2 +-
+ drivers/staging/hv/Hv.h                      |   16 ++++++++--------
+ drivers/staging/hv/RingBuffer.c              |    2 +-
+ drivers/staging/hv/RingBuffer.h              |    2 +-
+ drivers/staging/hv/Sources.c                 |    1 +
+ drivers/staging/hv/Vmbus.c                   |    2 +-
+ drivers/staging/hv/VmbusPrivate.h            |    4 ++--
+ drivers/staging/hv/include/ChannelMessages.h |    2 +-
+ drivers/staging/hv/osd.c                     |    3 ++-
+ drivers/staging/hv/vmbus_drv.c               |   15 ++++++++-------
+ 16 files changed, 37 insertions(+), 34 deletions(-)
+
+--- a/drivers/staging/hv/Channel.c
++++ b/drivers/staging/hv/Channel.c
+@@ -22,8 +22,8 @@
+  */
+-#include "osd.h"
+-#include "logging.h"
++#include "include/osd.h"
++#include "include/logging.h"
+ #include "VmbusPrivate.h"
+--- a/drivers/staging/hv/Channel.h
++++ b/drivers/staging/hv/Channel.h
+@@ -25,7 +25,7 @@
+ #ifndef _CHANNEL_H_
+ #define _CHANNEL_H_
+-#include "osd.h"
++#include "include/osd.h"
+ #include "ChannelMgmt.h"
+ #pragma pack(push,1)
+--- a/drivers/staging/hv/ChannelInterface.h
++++ b/drivers/staging/hv/ChannelInterface.h
+@@ -25,7 +25,7 @@
+ #ifndef _CHANNEL_INTERFACE_H_
+ #define _CHANNEL_INTERFACE_H_
+-#include "VmbusApi.h"
++#include "include/VmbusApi.h"
+ INTERNAL void
+ GetChannelInterface(
+--- a/drivers/staging/hv/ChannelMgmt.c
++++ b/drivers/staging/hv/ChannelMgmt.c
+@@ -22,8 +22,8 @@
+  */
+-#include "osd.h"
+-#include "logging.h"
++#include "include/osd.h"
++#include "include/logging.h"
+ #include "VmbusPrivate.h"
+--- a/drivers/staging/hv/ChannelMgmt.h
++++ b/drivers/staging/hv/ChannelMgmt.h
+@@ -25,12 +25,12 @@
+ #ifndef _CHANNEL_MGMT_H_
+ #define _CHANNEL_MGMT_H_
+-#include "osd.h"
+-#include "List.h"
++#include "include/osd.h"
++#include "include/List.h"
+ #include "RingBuffer.h"
+-#include "VmbusChannelInterface.h"
+-#include "ChannelMessages.h"
++#include "include/VmbusChannelInterface.h"
++#include "include/ChannelMessages.h"
+--- a/drivers/staging/hv/Connection.c
++++ b/drivers/staging/hv/Connection.c
+@@ -22,7 +22,7 @@
+  */
+-#include "logging.h"
++#include "include/logging.h"
+ #include "VmbusPrivate.h"
+--- a/drivers/staging/hv/Hv.c
++++ b/drivers/staging/hv/Hv.c
+@@ -22,7 +22,7 @@
+  */
+-#include "logging.h"
++#include "include/logging.h"
+ #include "VmbusPrivate.h"
+ //
+--- a/drivers/staging/hv/Hv.h
++++ b/drivers/staging/hv/Hv.h
+@@ -25,23 +25,23 @@
+ #ifndef __HV_H__
+ #define __HV_H__
+-#include "osd.h"
++#include "include/osd.h"
+-#include "HvTypes.h"
+-#include "HvStatus.h"
++#include "include/HvTypes.h"
++#include "include/HvStatus.h"
+ //#include "HvVmApi.h"
+ //#include "HvKeApi.h"
+ //#include "HvMmApi.h"
+ //#include "HvCpuApi.h"
+-#include "HvHalApi.h"
+-#include "HvVpApi.h"
++#include "include/HvHalApi.h"
++#include "include/HvVpApi.h"
+ //#include "HvTrApi.h"
+-#include "HvSynicApi.h"
++#include "include/HvSynicApi.h"
+ //#include "HvAmApi.h"
+ //#include "HvHkApi.h"
+ //#include "HvValApi.h"
+-#include "HvHcApi.h"
+-#include "HvPtApi.h"
++#include "include/HvHcApi.h"
++#include "include/HvPtApi.h"
+ enum
+ {
+--- a/drivers/staging/hv/include/ChannelMessages.h
++++ b/drivers/staging/hv/include/ChannelMessages.h
+@@ -24,7 +24,7 @@
+ #pragma once
+-#include <VmbusPacketFormat.h>
++#include "VmbusPacketFormat.h"
+ #define C_ASSERT(x)
+ typedef UINT32 NTSTATUS;
+--- a/drivers/staging/hv/osd.c
++++ b/drivers/staging/hv/osd.c
+@@ -21,6 +21,7 @@
+  *
+  */
++#define KERNEL_2_6_27
+ #include <linux/module.h>
+ #include <linux/init.h>
+@@ -46,7 +47,7 @@
+ #include <asm/kmap_types.h>
+ #include <asm/atomic.h>
+-#include "osd.h"
++#include "include/osd.h"
+ //
+ // Data types
+--- a/drivers/staging/hv/RingBuffer.c
++++ b/drivers/staging/hv/RingBuffer.c
+@@ -22,7 +22,7 @@
+  */
+-#include "logging.h"
++#include "include/logging.h"
+ #include "RingBuffer.h"
+ //
+--- a/drivers/staging/hv/RingBuffer.h
++++ b/drivers/staging/hv/RingBuffer.h
+@@ -25,7 +25,7 @@
+ #ifndef _RING_BUFFER_H_
+ #define _RING_BUFFER_H_
+-#include "osd.h"
++#include "include/osd.h"
+ typedef struct _SG_BUFFER_LIST {
+       PVOID   Data;
+--- a/drivers/staging/hv/Sources.c
++++ b/drivers/staging/hv/Sources.c
+@@ -21,6 +21,7 @@
+  *
+  */
++#define KERNEL_2_6_27
+ #include "Vmbus.c"
+ #include "Hv.c"
+--- a/drivers/staging/hv/Vmbus.c
++++ b/drivers/staging/hv/Vmbus.c
+@@ -22,7 +22,7 @@
+  */
+-#include "logging.h"
++#include "include/logging.h"
+ #include "VersionInfo.h"
+ #include "VmbusPrivate.h"
+--- a/drivers/staging/hv/vmbus_drv.c
++++ b/drivers/staging/hv/vmbus_drv.c
+@@ -21,6 +21,7 @@
+  *
+  */
++#define KERNEL_2_6_27
+ #include <linux/init.h>
+ #include <linux/module.h>
+@@ -29,8 +30,8 @@
+ #include <linux/interrupt.h>
+ #include <linux/sysctl.h>
+-#include "logging.h"
+-#include "vmbus.h"
++#include "include/logging.h"
++#include "include/vmbus.h"
+ //
+ // Defines
+@@ -451,7 +452,7 @@ int vmbus_bus_init(PFN_DRIVERINITIALIZE 
+               goto cleanup;
+       }
+       //strcpy(dev_ctx->device.bus_id, dev_ctx->device_obj.name);
+-      sprintf(dev_ctx->device.bus_id, "vmbus_0_0");
++      dev_set_name(&dev_ctx->device, "vmbus_0_0");
+       memcpy(&dev_ctx->class_id, &dev_ctx->device_obj.deviceType, sizeof(GUID));
+       memcpy(&dev_ctx->device_id, &dev_ctx->device_obj.deviceInstance, sizeof(GUID));
+@@ -656,16 +657,16 @@ static int vmbus_child_device_register(D
+       //
+       // Make sure we are not registered already
+       //
+-      if (child_device_ctx->device.bus_id[0] != '\0')
++      if (strlen(dev_name(&child_device_ctx->device)) != 0)
+       {
+-              DPRINT_ERR(VMBUS_DRV, "child device (%p) already registered - busid %s", child_device_ctx, child_device_ctx->device.bus_id);
++              DPRINT_ERR(VMBUS_DRV, "child device (%p) already registered - busid %s", child_device_ctx, dev_name(&child_device_ctx->device));
+               ret = -1;
+               goto Cleanup;
+       }
+       // Set the device bus id. Otherwise, device_register()will fail.
+-      sprintf(child_device_ctx->device.bus_id, "vmbus_0_%d", InterlockedIncrement(&device_num));
++      dev_set_name(&child_device_ctx->device, "vmbus_0_%d", InterlockedIncrement(&device_num));
+       // The new device belongs to this bus
+       child_device_ctx->device.bus = &g_vmbus_drv.bus; //device->dev.bus;
+@@ -924,7 +925,7 @@ static int vmbus_probe(struct device *ch
+               ret = device_ctx->probe_error = driver_ctx->probe(child_device);
+               if (ret != 0)
+               {
+-                      DPRINT_ERR(VMBUS_DRV, "probe() failed for device %s (%p) on driver %s (%d)...", child_device->bus_id, child_device, child_device->driver->name, ret);
++                      DPRINT_ERR(VMBUS_DRV, "probe() failed for device %s (%p) on driver %s (%d)...", dev_name(child_device), child_device, child_device->driver->name, ret);
+ #ifdef KERNEL_2_6_27
+                       INIT_WORK(&device_ctx->probe_failed_work_item, vmbus_probe_failed_cb);
+--- a/drivers/staging/hv/VmbusPrivate.h
++++ b/drivers/staging/hv/VmbusPrivate.h
+@@ -30,14 +30,14 @@
+ #endif
+ #include "Hv.h"
+-#include "VmbusApi.h"
++#include "include/VmbusApi.h"
+ #include "Channel.h"
+ #include "ChannelMgmt.h"
+ #include "ChannelInterface.h"
+ //#include "ChannelMessages.h"
+ #include "RingBuffer.h"
+ //#include "Packet.h"
+-#include "List.h"
++#include "include/List.h"
+ //
+ // Defines