Message ID | 20190906181114.31414-1-colin.king@canonical.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | fbdev: matrox: make array wtst_xlat static const, makes object smaller | expand |
On Fri, Sep 06, 2019 at 07:11:14PM +0100, Colin King wrote: > From: Colin Ian King <colin.king@canonical.com> > > Don't populate the array wtst_xlat on the stack but instead make it > static const. Makes the object code smaller by 89 bytes. > > Before: > text data bss dec hex filename > 14347 840 0 15187 3b53 fbdev/matrox/matroxfb_misc.o > > After: > text data bss dec hex filename > 14162 936 0 15098 3afa fbdev/matrox/matroxfb_misc.o > > (gcc version 9.2.1, amd64) > > Signed-off-by: Colin Ian King <colin.king@canonical.com> > --- > drivers/video/fbdev/matrox/matroxfb_misc.c | 5 ++++- > 1 file changed, 4 insertions(+), 1 deletion(-) > > diff --git a/drivers/video/fbdev/matrox/matroxfb_misc.c b/drivers/video/fbdev/matrox/matroxfb_misc.c > index c7aaca12805e..feb0977c82eb 100644 > --- a/drivers/video/fbdev/matrox/matroxfb_misc.c > +++ b/drivers/video/fbdev/matrox/matroxfb_misc.c > @@ -673,7 +673,10 @@ static int parse_pins5(struct matrox_fb_info *minfo, > if (bd->pins[115] & 4) { > minfo->values.reg.mctlwtst_core = minfo->values.reg.mctlwtst; > } else { > - u_int32_t wtst_xlat[] = { 0, 1, 5, 6, 7, 5, 2, 3 }; > + static const u_int32_t wtst_xlat[] = { > + 0, 1, 5, 6, 7, 5, 2, 3 All of those would easily fit in u8 as well. > + }; > + > minfo->values.reg.mctlwtst_core = (minfo->values.reg.mctlwtst & ~7) | > wtst_xlat[minfo->values.reg.mctlwtst & 7]; > } > -- > 2.20.1 > > _______________________________________________ > dri-devel mailing list > dri-devel@lists.freedesktop.org > https://lists.freedesktop.org/mailman/listinfo/dri-devel
On 9/6/19 8:17 PM, Ville Syrjälä wrote: > On Fri, Sep 06, 2019 at 07:11:14PM +0100, Colin King wrote: >> From: Colin Ian King <colin.king@canonical.com> >> >> Don't populate the array wtst_xlat on the stack but instead make it >> static const. Makes the object code smaller by 89 bytes. >> >> Before: >> text data bss dec hex filename >> 14347 840 0 15187 3b53 fbdev/matrox/matroxfb_misc.o >> >> After: >> text data bss dec hex filename >> 14162 936 0 15098 3afa fbdev/matrox/matroxfb_misc.o >> >> (gcc version 9.2.1, amd64) >> >> Signed-off-by: Colin Ian King <colin.king@canonical.com> Thanks, patch queued for v5.6 (also sorry for the delay). >> --- >> drivers/video/fbdev/matrox/matroxfb_misc.c | 5 ++++- >> 1 file changed, 4 insertions(+), 1 deletion(-) >> >> diff --git a/drivers/video/fbdev/matrox/matroxfb_misc.c b/drivers/video/fbdev/matrox/matroxfb_misc.c >> index c7aaca12805e..feb0977c82eb 100644 >> --- a/drivers/video/fbdev/matrox/matroxfb_misc.c >> +++ b/drivers/video/fbdev/matrox/matroxfb_misc.c >> @@ -673,7 +673,10 @@ static int parse_pins5(struct matrox_fb_info *minfo, >> if (bd->pins[115] & 4) { >> minfo->values.reg.mctlwtst_core = minfo->values.reg.mctlwtst; >> } else { >> - u_int32_t wtst_xlat[] = { 0, 1, 5, 6, 7, 5, 2, 3 }; >> + static const u_int32_t wtst_xlat[] = { >> + 0, 1, 5, 6, 7, 5, 2, 3 > > All of those would easily fit in u8 as well. Good idea, I've converted the table to u8 while applying the patch. Best regards, -- Bartlomiej Zolnierkiewicz Samsung R&D Institute Poland Samsung Electronics >> + }; >> + >> minfo->values.reg.mctlwtst_core = (minfo->values.reg.mctlwtst & ~7) | >> wtst_xlat[minfo->values.reg.mctlwtst & 7]; >> } >> -- >> 2.20.1 >> >> _______________________________________________ >> dri-devel mailing list >> dri-devel@lists.freedesktop.org >> https://lists.freedesktop.org/mailman/listinfo/dri-devel
diff --git a/drivers/video/fbdev/matrox/matroxfb_misc.c b/drivers/video/fbdev/matrox/matroxfb_misc.c index c7aaca12805e..feb0977c82eb 100644 --- a/drivers/video/fbdev/matrox/matroxfb_misc.c +++ b/drivers/video/fbdev/matrox/matroxfb_misc.c @@ -673,7 +673,10 @@ static int parse_pins5(struct matrox_fb_info *minfo, if (bd->pins[115] & 4) { minfo->values.reg.mctlwtst_core = minfo->values.reg.mctlwtst; } else { - u_int32_t wtst_xlat[] = { 0, 1, 5, 6, 7, 5, 2, 3 }; + static const u_int32_t wtst_xlat[] = { + 0, 1, 5, 6, 7, 5, 2, 3 + }; + minfo->values.reg.mctlwtst_core = (minfo->values.reg.mctlwtst & ~7) | wtst_xlat[minfo->values.reg.mctlwtst & 7]; }