usb: sisusb: remove useless macros and compact the code
authorJiri Slaby <jslaby@suse.cz>
Tue, 22 Jan 2019 15:12:02 +0000 (16:12 +0100)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Fri, 25 Jan 2019 09:02:49 +0000 (10:02 +0100)
Remove macros which are only wrappers around standard operations. When
we expand them into code, we see that sisusbcon_memsetw can simply use
memset16 and sisusbcon_putcs can just call memcpy. So make the code
compact.

Signed-off-by: Jiri Slaby <jslaby@suse.cz>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/usb/misc/sisusbvga/sisusb_con.c

index 8e6d1b0..cd01553 100644 (file)
 #include "sisusb.h"
 #include "sisusb_init.h"
 
-#define sisusbcon_writew(val, addr)    (*(addr) = (val))
-#define sisusbcon_readw(addr)          (*(addr))
-#define sisusbcon_memmovew(d, s, c)    memmove(d, s, c)
-#define sisusbcon_memcpyw(d, s, c)     memcpy(d, s, c)
-
 /* vc_data -> sisusb conversion table */
 static struct sisusb_usb_data *mysisusbs[MAX_NR_CONSOLES];
 
@@ -84,9 +79,7 @@ static const struct consw sisusb_con;
 static inline void
 sisusbcon_memsetw(u16 *s, u16 c, unsigned int count)
 {
-       count /= 2;
-       while (count--)
-               sisusbcon_writew(c, s++);
+       memset16(s, c, count / 2);
 }
 
 static inline void
@@ -344,13 +337,11 @@ sisusbcon_invert_region(struct vc_data *vc, u16 *p, int count)
         */
 
        while (count--) {
-               u16 a = sisusbcon_readw(p);
-
-               a = ((a) & 0x88ff)        |
-                   (((a) & 0x7000) >> 4) |
-                   (((a) & 0x0700) << 4);
+               u16 a = *p;
 
-               sisusbcon_writew(a, p++);
+               *p++ = ((a) & 0x88ff)        |
+                      (((a) & 0x7000) >> 4) |
+                      (((a) & 0x0700) << 4);
        }
 }
 
@@ -399,8 +390,6 @@ sisusbcon_putcs(struct vc_data *c, const unsigned short *s,
                         int count, int y, int x)
 {
        struct sisusb_usb_data *sisusb;
-       u16 *dest;
-       int i;
 
        sisusb = sisusb_get_sisusb_lock_and_check(c->vc_num);
        if (!sisusb)
@@ -412,10 +401,7 @@ sisusbcon_putcs(struct vc_data *c, const unsigned short *s,
         * because the vt does this AFTER calling us.
         */
 
-       dest = sisusb_vaddr(sisusb, c, x, y);
-
-       for (i = count; i > 0; i--)
-               sisusbcon_writew(sisusbcon_readw(s++), dest++);
+       memcpy(sisusb_vaddr(sisusb, c, x, y), s, count * 2);
 
        if (sisusb_is_inactive(c, sisusb)) {
                mutex_unlock(&sisusb->lock);
@@ -521,8 +507,7 @@ sisusbcon_switch(struct vc_data *c)
                        (int)(sisusb->scrbuf + sisusb->scrbuf_size - c->vc_origin));
 
        /* Restore the screen contents */
-       sisusbcon_memcpyw((u16 *)c->vc_origin, (u16 *)c->vc_screenbuf,
-                                                               length);
+       memcpy((u16 *)c->vc_origin, (u16 *)c->vc_screenbuf, length);
 
        sisusb_copy_memory(sisusb, (char *)c->vc_origin,
                        sisusb_haddr(sisusb, c, 0, 0), length);
@@ -559,8 +544,7 @@ sisusbcon_save_screen(struct vc_data *c)
                        (int)(sisusb->scrbuf + sisusb->scrbuf_size - c->vc_origin));
 
        /* Save the screen contents to vc's private buffer */
-       sisusbcon_memcpyw((u16 *)c->vc_screenbuf, (u16 *)c->vc_origin,
-                                                               length);
+       memcpy((u16 *)c->vc_screenbuf, (u16 *)c->vc_origin, length);
 
        mutex_unlock(&sisusb->lock);
 }
@@ -797,7 +781,7 @@ sisusbcon_scroll_area(struct vc_data *c, struct sisusb_usb_data *sisusb,
        switch (dir) {
 
                case SM_UP:
-                       sisusbcon_memmovew(sisusb_vaddr(sisusb, c, 0, t),
+                       memmove(sisusb_vaddr(sisusb, c, 0, t),
                                           sisusb_vaddr(sisusb, c, 0, t + lines),
                                           (b - t - lines) * cols * 2);
                        sisusbcon_memsetw(sisusb_vaddr(sisusb, c, 0, b - lines),
@@ -805,7 +789,7 @@ sisusbcon_scroll_area(struct vc_data *c, struct sisusb_usb_data *sisusb,
                        break;
 
                case SM_DOWN:
-                       sisusbcon_memmovew(sisusb_vaddr(sisusb, c, 0, t + lines),
+                       memmove(sisusb_vaddr(sisusb, c, 0, t + lines),
                                           sisusb_vaddr(sisusb, c, 0, t),
                                           (b - t - lines) * cols * 2);
                        sisusbcon_memsetw(sisusb_vaddr(sisusb, c, 0, t), eattr,
@@ -874,7 +858,7 @@ sisusbcon_scroll(struct vc_data *c, unsigned int t, unsigned int b,
 
                if (c->vc_scr_end + delta >=
                                sisusb->scrbuf + sisusb->scrbuf_size) {
-                       sisusbcon_memcpyw((u16 *)sisusb->scrbuf,
+                       memcpy((u16 *)sisusb->scrbuf,
                                          (u16 *)(oldorigin + delta),
                                          c->vc_screenbuf_size - delta);
                        c->vc_origin = sisusb->scrbuf;
@@ -892,12 +876,10 @@ sisusbcon_scroll(struct vc_data *c, unsigned int t, unsigned int b,
        case SM_DOWN:
 
                if (oldorigin - delta < sisusb->scrbuf) {
-                       sisusbcon_memmovew((u16 *)(sisusb->scrbuf +
-                                                       sisusb->scrbuf_size -
-                                                       c->vc_screenbuf_size +
-                                                       delta),
-                                          (u16 *)oldorigin,
-                                          c->vc_screenbuf_size - delta);
+                       memmove((void *)sisusb->scrbuf + sisusb->scrbuf_size -
+                                       c->vc_screenbuf_size + delta,
+                                       (u16 *)oldorigin,
+                                       c->vc_screenbuf_size - delta);
                        c->vc_origin = sisusb->scrbuf +
                                        sisusb->scrbuf_size -
                                        c->vc_screenbuf_size;