Messages in this thread | | | From | "Sell, Timothy C" <> | Subject | RE: [PATCH 3/3] drivers: Add visorbus to the drivers/virt directory | Date | Mon, 22 Aug 2016 02:48:18 +0000 |
| |
> -----Original Message----- > From: Greg KH [mailto:gregkh@linuxfoundation.org] > Sent: Sunday, August 21, 2016 2:05 PM > To: Kershner, David A <David.Kershner@unisys.com> > Cc: corbet@lwn.net; tglx@linutronix.de; mingo@redhat.com; > hpa@zytor.com; Arfvidson, Erik <Erik.Arfvidson@unisys.com>; Sell, Timothy > C <Timothy.Sell@unisys.com>; hofrat@osadl.org; dzickus@redhat.com; > jes.sorensen@redhat.com; Curtin, Alexander Paul > <Alexander.Curtin@unisys.com>; janani.rvchndrn@gmail.com; > sudipm.mukherjee@gmail.com; prarit@redhat.com; Binder, David Anthony > <David.Binder@unisys.com>; nhorman@redhat.com; > dan.j.williams@intel.com; linux-kernel@vger.kernel.org; linux- > doc@vger.kernel.org; driverdev-devel@linuxdriverproject.org; *S-Par- > Maintainer <SParMaintainer@unisys.com> > Subject: Re: [PATCH 3/3] drivers: Add visorbus to the drivers/virt directory > > On Fri, Jun 10, 2016 at 11:23:56PM -0400, David Kershner wrote: > > visorbus is currently located at drivers/staging/visorbus, > > this patch moves it to drivers/virt. > > > > Signed-off-by: David Kershner <david.kershner@unisys.com> > > Reviewed-by: Tim Sell <Timothy.Sell@unisys.com> > > --- > > drivers/staging/unisys/Kconfig | 3 +-- > > drivers/staging/unisys/Makefile | 1 - > > drivers/virt/Kconfig | 2 ++ > > drivers/virt/Makefile | 1 + > > drivers/{staging/unisys => virt}/visorbus/Kconfig | 0 > > drivers/{staging/unisys => virt}/visorbus/Makefile | 0 > > drivers/{staging/unisys => virt}/visorbus/controlvmchannel.h | 0 > > drivers/{staging/unisys => virt}/visorbus/controlvmcompletionstatus.h | 0 > > drivers/{staging/unisys => virt}/visorbus/iovmcall_gnuc.h | 0 > > drivers/{staging/unisys => virt}/visorbus/vbuschannel.h | 0 > > drivers/{staging/unisys => virt}/visorbus/vbusdeviceinfo.h | 0 > > drivers/{staging/unisys => virt}/visorbus/vbushelper.h | 0 > > drivers/{staging/unisys => virt}/visorbus/visorbus_main.c | 0 > > drivers/{staging/unisys => virt}/visorbus/visorbus_private.h | 0 > > drivers/{staging/unisys => virt}/visorbus/visorchannel.c | 0 > > drivers/{staging/unisys => virt}/visorbus/visorchipset.c | 0 > > I picked one random file here, this last one, and found a number of > "odd" things in it. > > So, given that I can't really comment on the patch itself, I'm going to > include the file below, quote it, and then provide some comments, ok? > > /* visorchipset_main.c > > ... > > static void > > controlvm_init_response(struct controlvm_message *msg, > > struct controlvm_message_header *msg_hdr, int response) > > { > > memset(msg, 0, sizeof(struct controlvm_message)); > > memcpy(&msg->hdr, msg_hdr, sizeof(struct controlvm_message_header)); > > msg->hdr.payload_bytes = 0; > > msg->hdr.payload_vm_offset = 0; > > msg->hdr.payload_max_bytes = 0; > > if (response < 0) { > > msg->hdr.flags.failed = 1; > > msg->hdr.completion_status = (u32)(-response); > > } > > } > > > > static void > > Billy(struct controlvm_message_header *msg_hdr, int response) > > Not John? Bob? Sally? Alice? Bernise? Jean? Molly?
Huh? What version of source code are you looking at??
The file being moved by this patch should be drivers/staging/unisys/visorbus/visorchipset.c in your staging-next branch (https://git.kernel.org/cgit/linux/kernel/git/gregkh/staging.git/tree/drivers/staging/unisys/visorbus/visorchipset.c?h=staging-next). If you look there, you will NOT find "Billy()", but instead "controlvm_respond()", i.e.:
static void controlvm_init_response(struct controlvm_message *msg, struct controlvm_message_header *msg_hdr, int response) { memset(msg, 0, sizeof(struct controlvm_message)); memcpy(&msg->hdr, msg_hdr, sizeof(struct controlvm_message_header)); msg->hdr.payload_bytes = 0; msg->hdr.payload_vm_offset = 0; msg->hdr.payload_max_bytes = 0; if (response < 0) { msg->hdr.flags.failed = 1; msg->hdr.completion_status = (u32)(-response); } }
static void controlvm_respond(struct controlvm_message_header *msg_hdr, int response) { struct controlvm_message outmsg;
controlvm_init_response(&outmsg, msg_hdr, response); if (outmsg.hdr.flags.test_message == 1) return;
if (!visorchannel_signalinsert(controlvm_channel, CONTROLVM_QUEUE_REQUEST, &outmsg)) { return; } }
One (or both) of us is confused.
Tim Sell
| |