Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1281365

Re: [PATCH 3/6] Input: Update vmmouse.c to use the common VMW_PORT macros

From Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Newsgroups linux.kernel
Subject Re: [PATCH 3/6] Input: Update vmmouse.c to use the common VMW_PORT macros
Date 2015-12-02 01:10 +0100
Message-ID <qB39D-8en-1@gated-at.bofh.it> (permalink)
References (2 earlier) <qB1rb-76P-7@gated-at.bofh.it> <qB1AR-79P-1@gated-at.bofh.it> <qB1Ky-7cT-13@gated-at.bofh.it> <qB1Ue-7g2-9@gated-at.bofh.it> <qB23T-7jj-5@gated-at.bofh.it>
Organization linux.* mail to news gateway

Show all headers | View raw


On Tue, Dec 01, 2015 at 02:54:20PM -0800, Sinclair Yeh wrote:
> Hi,
> 
> On Tue, Dec 01, 2015 at 02:45:27PM -0800, Dmitry Torokhov wrote:
> > On Tue, Dec 1, 2015 at 2:32 PM, Sinclair Yeh <syeh@vmware.com> wrote:
> > > Hi,
> > >
> 
> <snip>
> 
> > >> >   */
> > >> > -#define VMMOUSE_CMD(cmd, in1, out1, out2, out3, out4)      \
> > >> > -({                                                 \
> > >> > -   unsigned long __dummy1, __dummy2;               \
> > >> > -   __asm__ __volatile__ ("inl %%dx" :              \
> > >> > -           "=a"(out1),                             \
> > >> > -           "=b"(out2),                             \
> > >> > -           "=c"(out3),                             \
> > >> > -           "=d"(out4),                             \
> > >> > -           "=S"(__dummy1),                         \
> > >> > -           "=D"(__dummy2) :                        \
> > >> > -           "a"(VMMOUSE_PROTO_MAGIC),               \
> > >> > -           "b"(in1),                               \
> > >> > -           "c"(VMMOUSE_PROTO_CMD_##cmd),           \
> > >> > -           "d"(VMMOUSE_PROTO_PORT) :               \
> > >> > -           "memory");                              \
> > >> > +#define VMMOUSE_CMD(cmd, in1, out1, out2, out3, out4)                 \
> > >> > +({                                                            \
> > >> > +   unsigned long __dummy1 = 0, __dummy2 = 0;                  \
> > >>
> > >> Why do we need to initialize dummies?
> > >
> > > Because for some commands those parameters to VMW_PORT() can be both
> > > input and outout.
> > 
> > The vmmouse commands do not use them as input though, so it seems we
> > are simply wasting CPU cycles setting them to 0 just because we are
> > using the new VMW_PORT here. Why do we need to switch? What is the
> > benefit of doing this?
> 
> There are two reasons.  One is to make the code more readable and
> maintainable.  Rather than having mostly similar inline assembly
> code sprinkled across multiple modules, we can just use the macros
> and document that.

But the macro is only used here, and the variables aren't used at all,
so it makes no sense in this file.

> The second reason is this organization makes some on-going future
> development easier.

We don't plan for "future" development other than a single patch series,
as we have no idea what that development is, nor if it will really
happen.  You can always change this file later if you need to, nothing
is keeping that from happening.

thanks,

greg k-h
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Back to linux.kernel | Previous | NextPrevious in thread | Next in thread | Find similar | Unroll thread


Thread

[PATCH 3/6] Input: Update vmmouse.c to use the common VMW_PORT macros "Sinclair Yeh" <syeh@vmware.com> - 2015-12-01 23:20 +0100
  Re: [PATCH 3/6] Input: Update vmmouse.c to use the common VMW_PORT  macros Dmitry Torokhov <dmitry.torokhov@gmail.com> - 2015-12-01 23:30 +0100
    Re: [PATCH 3/6] Input: Update vmmouse.c to use the common VMW_PORT  macros "Sinclair Yeh" <syeh@vmware.com> - 2015-12-01 23:40 +0100
      Re: [PATCH 3/6] Input: Update vmmouse.c to use the common VMW_PORT macros Dmitry Torokhov <dmitry.torokhov@gmail.com> - 2015-12-01 23:50 +0100
        Re: [PATCH 3/6] Input: Update vmmouse.c to use the common VMW_PORT  macros "Sinclair Yeh" <syeh@vmware.com> - 2015-12-02 00:00 +0100
          Re: [PATCH 3/6] Input: Update vmmouse.c to use the common VMW_PORT macros Dmitry Torokhov <dmitry.torokhov@gmail.com> - 2015-12-02 01:00 +0100
          Re: [PATCH 3/6] Input: Update vmmouse.c to use the common VMW_PORT  macros Greg Kroah-Hartman <gregkh@linuxfoundation.org> - 2015-12-02 01:10 +0100
            Re: [PATCH 3/6] Input: Update vmmouse.c to use the common VMW_PORT  macros "Sinclair Yeh" <syeh@vmware.com> - 2015-12-02 03:20 +0100
              Re: [PATCH 3/6] Input: Update vmmouse.c to use the common VMW_PORT  macros Greg Kroah-Hartman <gregkh@linuxfoundation.org> - 2015-12-02 16:40 +0100
                Re: [PATCH 3/6] Input: Update vmmouse.c to use the common VMW_PORT  macros "Sinclair Yeh" <syeh@vmware.com> - 2015-12-02 17:00 +0100
                Re: [Linux-graphics-maintainer] [PATCH 3/6] Input: Update vmmouse.c  to use the common VMW_PORT macros Thomas Hellstrom <thellstrom@vmware.com> - 2015-12-02 18:30 +0100
                Re: [PATCH 3/6] Input: Update vmmouse.c to use the common VMW_PORT  macros Dmitry Torokhov <dmitry.torokhov@gmail.com> - 2015-12-02 18:30 +0100
                Re: [PATCH 3/6] Input: Update vmmouse.c to use the common VMW_PORT  macros Greg Kroah-Hartman <gregkh@linuxfoundation.org> - 2015-12-02 19:50 +0100
                Re: [PATCH 3/6] Input: Update vmmouse.c to use the common VMW_PORT  macros Dmitry Torokhov <dmitry.torokhov@gmail.com> - 2015-12-02 20:00 +0100
                Re: [PATCH 3/6] Input: Update vmmouse.c to use the common VMW_PORT  macros "Sinclair Yeh" <syeh@vmware.com> - 2015-12-02 20:10 +0100
            Re: [Linux-graphics-maintainer] [PATCH 3/6] Input: Update vmmouse.c  to use the common VMW_PORT macros Thomas Hellstrom <thellstrom@vmware.com> - 2015-12-02 08:10 +0100
  Re: [PATCH 3/6] Input: Update vmmouse.c to use the common VMW_PORT  macros Greg Kroah-Hartman <gregkh@linuxfoundation.org> - 2015-12-02 01:10 +0100

csiph-web