> -----Original Message----- > From: Greg KH [mailto:gre...@linuxfoundation.org] > Sent: Sunday, August 21, 2016 2:05 PM > To: Kershner, David A <david.kersh...@unisys.com> > Cc: cor...@lwn.net; t...@linutronix.de; mi...@redhat.com; > h...@zytor.com; Arfvidson, Erik <erik.arfvid...@unisys.com>; Sell, Timothy > C <timothy.s...@unisys.com>; hof...@osadl.org; dzic...@redhat.com; > jes.soren...@redhat.com; Curtin, Alexander Paul > <alexander.cur...@unisys.com>; janani.rvchn...@gmail.com; > sudipm.mukher...@gmail.com; pra...@redhat.com; Binder, David Anthony > <david.bin...@unisys.com>; nhor...@redhat.com; > dan.j.willi...@intel.com; linux-kernel@vger.kernel.org; linux- > d...@vger.kernel.org; driverdev-de...@linuxdriverproject.org; *S-Par- > Maintainer <sparmaintai...@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.kersh...@unisys.com> > > Reviewed-by: Tim Sell <timothy.s...@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