Further cleanup of the hv drivers: 1) Cleanup all remaining checkpatch warnings/errors. 2) Get rid of items from the TODO file that have been either completed or cannot be done. 3) Update the TODO file to reflect the current status. Regards, K. Y
K. Y. Srinivasan
2011-Jul-19 18:44 UTC
[PATCH 1/8] Staging: hv: vmbus: Fix a checkpatch warning in ring_buffer.c
Fix a checkpatch warning in ring_buffer.c (line over 80 characters). Signed-off-by: K. Y. Srinivasan <kys at microsoft.com> Signed-off-by: Haiyang Zhang <haiyangz at microsoft.com> --- drivers/staging/hv/ring_buffer.c | 3 ++- 1 files changed, 2 insertions(+), 1 deletions(-) diff --git a/drivers/staging/hv/ring_buffer.c b/drivers/staging/hv/ring_buffer.c index 9212699..e41d206 100644 --- a/drivers/staging/hv/ring_buffer.c +++ b/drivers/staging/hv/ring_buffer.c @@ -34,7 +34,8 @@ /* Amount of space to write to */ -#define BYTES_AVAIL_TO_WRITE(r, w, z) ((w) >= (r)) ? ((z) - ((w) - (r))) : ((r) - (w)) +#define BYTES_AVAIL_TO_WRITE(r, w, z) \ +(((w) >= (r)) ? ((z) - ((w) - (r))) : ((r) - (w))) /* -- 1.7.4.1
K. Y. Srinivasan
2011-Jul-19 18:44 UTC
[PATCH 2/8] Staging: hv: vmbus: Fix checkpatch warnings in connection.c
Fix bunch of checkpatch warnings in connection.c
Signed-off-by: K. Y. Srinivasan <kys at microsoft.com>
Signed-off-by: Haiyang Zhang <haiyangz at microsoft.com>
---
drivers/staging/hv/connection.c | 13 +++++++------
1 files changed, 7 insertions(+), 6 deletions(-)
diff --git a/drivers/staging/hv/connection.c b/drivers/staging/hv/connection.c
index 6aab802..66b7c4b 100644
--- a/drivers/staging/hv/connection.c
+++ b/drivers/staging/hv/connection.c
@@ -224,11 +224,11 @@ static void process_chn_event(u32 relid)
channel = relid2channel(relid);
spin_lock_irqsave(&channel->inbound_lock, flags);
- if (channel && (channel->onchannel_callback != NULL)) {
+ if (channel && (channel->onchannel_callback != NULL))
channel->onchannel_callback(channel->channel_callback_context);
- } else {
+ else
pr_err("channel not found for relid - %u\n", relid);
- }
+
spin_unlock_irqrestore(&channel->inbound_lock, flags);
}
@@ -250,16 +250,17 @@ void vmbus_on_event(unsigned long data)
if (!recv_int_page[dword])
continue;
for (bit = 0; bit < 32; bit++) {
- if (sync_test_and_clear_bit(bit, (unsigned long
*)&recv_int_page[dword])) {
+ if (sync_test_and_clear_bit(bit,
+ (unsigned long *)&recv_int_page[dword])) {
relid = (dword << 5) + bit;
- if (relid == 0) {
+ if (relid == 0)
/*
* Special case - vmbus
* channel protocol msg
*/
continue;
- }
+
process_chn_event(relid);
}
}
--
1.7.4.1
K. Y. Srinivasan
2011-Jul-19 18:44 UTC
[PATCH 3/8] Staging: hv: tools: Fix a checkpatch warning in hv_kvp_daemon.c
Fix a checkpatch warning in hv_kvp_daemon.c.
Signed-off-by: K. Y. Srinivasan <kys at microsoft.com>
Signed-off-by: Haiyang Zhang <haiyangz at microsoft.com>
---
drivers/staging/hv/tools/hv_kvp_daemon.c | 2 +-
1 files changed, 1 insertions(+), 1 deletions(-)
diff --git a/drivers/staging/hv/tools/hv_kvp_daemon.c
b/drivers/staging/hv/tools/hv_kvp_daemon.c
index 33f0f1c..c230bae 100644
--- a/drivers/staging/hv/tools/hv_kvp_daemon.c
+++ b/drivers/staging/hv/tools/hv_kvp_daemon.c
@@ -117,7 +117,7 @@ void kvp_get_os_info(void)
uname(&uts_buf);
os_build = uts_buf.release;
- processor_arch= uts_buf.machine;
+ processor_arch = uts_buf.machine;
file = fopen("/etc/SuSE-release", "r");
if (file != NULL)
--
1.7.4.1
K. Y. Srinivasan
2011-Jul-19 18:44 UTC
[PATCH 4/8] Staging: hv: vmbus: Fix checkpatch warnings
Fix checkpatch warnings in hv.c
Signed-off-by: K. Y. Srinivasan <kys at microsoft.com>
Signed-off-by: Haiyang Zhang <haiyangz at microsoft.com>
---
drivers/staging/hv/hv.c | 4 ++--
1 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/drivers/staging/hv/hv.c b/drivers/staging/hv/hv.c
index e733173..14e6315 100644
--- a/drivers/staging/hv/hv.c
+++ b/drivers/staging/hv/hv.c
@@ -111,7 +111,7 @@ static u64 do_hypercall(u64 control, void *input, void
*output)
u64 hv_status = 0;
u64 input_address = (input) ? virt_to_phys(input) : 0;
u64 output_address = (output) ? virt_to_phys(output) : 0;
- volatile void *hypercall_page = hv_context.hypercall_page;
+ void *hypercall_page = hv_context.hypercall_page;
__asm__ __volatile__("mov %0, %%r8" : : "r"
(output_address) : "r8");
__asm__ __volatile__("call *%3" : "=a" (hv_status) :
@@ -132,7 +132,7 @@ static u64 do_hypercall(u64 control, void *input, void
*output)
u64 output_address = (output) ? virt_to_phys(output) : 0;
u32 output_address_hi = output_address >> 32;
u32 output_address_lo = output_address & 0xFFFFFFFF;
- volatile void *hypercall_page = hv_context.hypercall_page;
+ void *hypercall_page = hv_context.hypercall_page;
__asm__ __volatile__ ("call *%8" : "=d"(hv_status_hi),
"=a"(hv_status_lo) : "d" (control_hi),
--
1.7.4.1
K. Y. Srinivasan
2011-Jul-19 18:44 UTC
[PATCH 5/8] Staging: hv: mousevsc: Fix checkpatch errors and warnings
Fix checkpatch errors and warnings.
Signed-off-by: K. Y. Srinivasan <kys at microsoft.com>
Signed-off-by: Haiyang Zhang <haiyangz at microsoft.com>
---
drivers/staging/hv/hv_mouse.c | 58 +++++++++++++++++++++-------------------
1 files changed, 30 insertions(+), 28 deletions(-)
diff --git a/drivers/staging/hv/hv_mouse.c b/drivers/staging/hv/hv_mouse.c
index 28bd2c5..e95bd3a 100644
--- a/drivers/staging/hv/hv_mouse.c
+++ b/drivers/staging/hv/hv_mouse.c
@@ -53,7 +53,7 @@ struct hv_input_dev_info {
(SYNTHHID_INPUT_VERSION_MAJOR << 16))
-#pragma pack(push,1)
+#pragma pack(push, 1)
/*
* Message types in the synthetic input protocol
*/
@@ -119,8 +119,8 @@ struct synthhid_input_report {
#pragma pack(pop)
-#define INPUTVSC_SEND_RING_BUFFER_SIZE 10*PAGE_SIZE
-#define INPUTVSC_RECV_RING_BUFFER_SIZE 10*PAGE_SIZE
+#define INPUTVSC_SEND_RING_BUFFER_SIZE (10 * PAGE_SIZE)
+#define INPUTVSC_RECV_RING_BUFFER_SIZE (10 * PAGE_SIZE)
#define NBITS(x) (((x)/BITS_PER_LONG)+1)
@@ -177,7 +177,8 @@ struct mousevsc_dev {
static const char *driver_name = "mousevsc";
-static void deviceinfo_callback(struct hv_device *dev, struct hv_input_dev_info
*info);
+static void deviceinfo_callback(struct hv_device *dev,
+ struct hv_input_dev_info *info);
static void inputreport_callback(struct hv_device *dev, void *packet, u32 len);
static void reportdesc_callback(struct hv_device *dev, void *packet, u32 len);
@@ -336,7 +337,8 @@ static void mousevsc_on_receive_device_info(struct
mousevsc_dev *input_device,
input_device->hid_desc = kzalloc(desc->bLength, GFP_KERNEL);
if (!input_device->hid_desc) {
- pr_err("unable to allocate hid descriptor - size %d",
desc->bLength);
+ pr_err("unable to allocate hid descriptor - size %d",
+ desc->bLength);
goto cleanup;
}
@@ -502,22 +504,21 @@ static void mousevsc_on_channel_callback(void *context)
desc = (struct vmpacket_descriptor *)buffer;
switch (desc->type) {
- case VM_PKT_COMP:
- mousevsc_on_send_completion(
- device, desc);
- break;
-
- case VM_PKT_DATA_INBAND:
- mousevsc_on_receive(
- device, desc);
- break;
-
- default:
- pr_err("unhandled packet type %d, tid %llx len %d\n",
- desc->type,
- req_id,
- bytes_recvd);
- break;
+ case VM_PKT_COMP:
+ mousevsc_on_send_completion(
+ device, desc);
+ break;
+
+ case VM_PKT_DATA_INBAND:
+ mousevsc_on_receive(
+ device, desc);
+ break;
+
+ default:
+ pr_err("unhandled packet type %d, tid %llx len %d\n",
+ desc->type, req_id,
+ bytes_recvd);
+ break;
}
/* reset */
@@ -596,12 +597,12 @@ static int mousevsc_connect_to_vsp(struct hv_device
*device)
pr_info("synthhid protocol request...");
ret = vmbus_sendpacket(device->channel, request,
- sizeof(struct pipe_prt_msg) -
- sizeof(unsigned char) +
- sizeof(struct synthhid_protocol_request),
- (unsigned long)request,
- VM_PKT_DATA_INBAND,
- VMBUS_DATA_PACKET_FLAG_COMPLETION_REQUESTED);
+ sizeof(struct pipe_prt_msg) -
+ sizeof(unsigned char) +
+ sizeof(struct synthhid_protocol_request),
+ (unsigned long)request,
+ VM_PKT_DATA_INBAND,
+ VMBUS_DATA_PACKET_FLAG_COMPLETION_REQUESTED);
if (ret != 0) {
pr_err("unable to send synthhid protocol request.");
goto cleanup;
@@ -766,7 +767,8 @@ struct input_device_context {
};
-static void deviceinfo_callback(struct hv_device *dev, struct hv_input_dev_info
*info)
+static void deviceinfo_callback(struct hv_device *dev,
+ struct hv_input_dev_info *info)
{
struct input_device_context *input_device_ctx
dev_get_drvdata(&dev->device);
--
1.7.4.1
K. Y. Srinivasan
2011-Jul-19 18:44 UTC
[PATCH 6/8] Staging: hv: Get rid of checkpatch cleanup item
All checkpatch warnings/errors have been addressed and fixed. Patches have been been submitted to address the remaining issues. Signed-off-by: K. Y. Srinivasan <kys at microsoft.com> Signed-off-by: Haiyang Zhang <haiyangz at microsoft.com> --- drivers/staging/hv/TODO | 1 - 1 files changed, 0 insertions(+), 1 deletions(-) diff --git a/drivers/staging/hv/TODO b/drivers/staging/hv/TODO index 582fd4a..b6335ff 100644 --- a/drivers/staging/hv/TODO +++ b/drivers/staging/hv/TODO @@ -1,5 +1,4 @@ TODO: - - fix remaining checkpatch warnings and errors - audit the vmbus to verify it is working properly with the driver model - see if the vmbus can be merged with the other virtual busses -- 1.7.4.1
K. Y. Srinivasan
2011-Jul-19 18:44 UTC
[PATCH 7/8] Staging: hv: Get rid of the vmbus merge item
The host/guest transport is very host centric. Given this, it is unlikely
that we will be able to merge vmbus with other host/guest buses in the kernel.
Signed-off-by: K. Y. Srinivasan <kys at microsoft.com>
Signed-off-by: Haiyang Zhang <haiyangz at microsoft.com>
---
drivers/staging/hv/TODO | 2 --
1 files changed, 0 insertions(+), 2 deletions(-)
diff --git a/drivers/staging/hv/TODO b/drivers/staging/hv/TODO
index b6335ff..8b4c97a 100644
--- a/drivers/staging/hv/TODO
+++ b/drivers/staging/hv/TODO
@@ -1,8 +1,6 @@
TODO:
- audit the vmbus to verify it is working properly with the
driver model
- - see if the vmbus can be merged with the other virtual busses
- in the kernel
- audit the network driver
- checking for carrier inside open is wrong, network device API
confusion??
--
1.7.4.1
The TODO file has not been updated in a long time. Update this file
to reflect the current status.
Signed-off-by: K. Y. Srinivasan <kys at microsoft.com>
Signed-off-by: Haiyang Zhang <haiyangz at microsoft.com>
---
drivers/staging/hv/TODO | 21 ++++++++++++++++++++-
1 files changed, 20 insertions(+), 1 deletions(-)
diff --git a/drivers/staging/hv/TODO b/drivers/staging/hv/TODO
index 8b4c97a..23c74ed 100644
--- a/drivers/staging/hv/TODO
+++ b/drivers/staging/hv/TODO
@@ -1,11 +1,30 @@
TODO:
- audit the vmbus to verify it is working properly with the
driver model
+
+ STATUS (July 19, 2011):
+ All outstanding issues (known to us) with regards
+ to conforming to Linux Driver Model have been addressed.
+
- audit the network driver
- checking for carrier inside open is wrong, network device API
confusion??
+
+ STATUS (July 19, 2011):
+ The network driver has been reviewed by the community.
+ We have addressed the various issues that were raised in this
+ review.
+
- audit the block driver
- audit the scsi driver
+ STATUS (July 19, 2011):
+ One of the longstanding comment on this body of code
+ has been to merge the block and scsi driver. This has been done
+ and patches have been submitted. We have also addressed all the
+ review comments on this body of code.
+
+
Please send patches for this code to Greg Kroah-Hartman <gregkh at
suse.de>,
-Hank Janssen <hjanssen at microsoft.com>, and Haiyang Zhang <haiyangz
at microsoft.com>.
+Hank Janssen <hjanssen at microsoft.com>, and Haiyang Zhang <haiyangz
at microsoft.com>,
+K. Y. Srinivasan <kys at microsoft.com>.
--
1.7.4.1
On Tue, Jul 19, 2011 at 11:44:21AM -0700, K. Y. Srinivasan wrote:> Fix checkpatch warnings in hv.c > > Signed-off-by: K. Y. Srinivasan <kys at microsoft.com> > Signed-off-by: Haiyang Zhang <haiyangz at microsoft.com> > --- > drivers/staging/hv/hv.c | 4 ++-- > 1 files changed, 2 insertions(+), 2 deletions(-) > > diff --git a/drivers/staging/hv/hv.c b/drivers/staging/hv/hv.c > index e733173..14e6315 100644 > --- a/drivers/staging/hv/hv.c > +++ b/drivers/staging/hv/hv.c > @@ -111,7 +111,7 @@ static u64 do_hypercall(u64 control, void *input, void *output) > u64 hv_status = 0; > u64 input_address = (input) ? virt_to_phys(input) : 0; > u64 output_address = (output) ? virt_to_phys(output) : 0; > - volatile void *hypercall_page = hv_context.hypercall_page; > + void *hypercall_page = hv_context.hypercall_page;Are you sure? This was just someone being foolish? No other reason someone tried to use volatile here? greg k-h
KY Srinivasan
2011-Aug-24 01:10 UTC
[PATCH 4/8] Staging: hv: vmbus: Fix checkpatch warnings
> -----Original Message----- > From: Greg KH [mailto:greg at kroah.com] > Sent: Tuesday, August 23, 2011 7:17 PM > To: KY Srinivasan > Cc: gregkh at suse.de; linux-kernel at vger.kernel.org; > devel at linuxdriverproject.org; virtualization at lists.osdl.org; Haiyang Zhang > Subject: Re: [PATCH 4/8] Staging: hv: vmbus: Fix checkpatch warnings > > On Tue, Jul 19, 2011 at 11:44:21AM -0700, K. Y. Srinivasan wrote: > > Fix checkpatch warnings in hv.c > > > > Signed-off-by: K. Y. Srinivasan <kys at microsoft.com> > > Signed-off-by: Haiyang Zhang <haiyangz at microsoft.com> > > --- > > drivers/staging/hv/hv.c | 4 ++-- > > 1 files changed, 2 insertions(+), 2 deletions(-) > > > > diff --git a/drivers/staging/hv/hv.c b/drivers/staging/hv/hv.c > > index e733173..14e6315 100644 > > --- a/drivers/staging/hv/hv.c > > +++ b/drivers/staging/hv/hv.c > > @@ -111,7 +111,7 @@ static u64 do_hypercall(u64 control, void *input, void > *output) > > u64 hv_status = 0; > > u64 input_address = (input) ? virt_to_phys(input) : 0; > > u64 output_address = (output) ? virt_to_phys(output) : 0; > > - volatile void *hypercall_page = hv_context.hypercall_page; > > + void *hypercall_page = hv_context.hypercall_page; > > Are you sure? This was just someone being foolish? No other reason > someone tried to use volatile here?I cannot see any reason why this needs to be volatile. Regards, K. Y> > greg k-h