Message ID | 20230712145702.460690-1-colin.i.king@gmail.com (mailing list archive) |
---|---|
State | Superseded |
Headers | show |
Series | [next] video: fbdev: kyro: make some const read-only arrays static | expand |
On 7/12/23 16:57, Colin Ian King wrote: > Don't populate the const read-only arrays on the stack but instead > make them static const. Also makes the object code a little smaller. Looks good, but you can optimze even further... > Signed-off-by: Colin Ian King <colin.i.king@gmail.com> > --- > drivers/video/fbdev/kyro/STG4000InitDevice.c | 10 +++++----- > 1 file changed, 5 insertions(+), 5 deletions(-) > > diff --git a/drivers/video/fbdev/kyro/STG4000InitDevice.c b/drivers/video/fbdev/kyro/STG4000InitDevice.c > index edfa0a04854d..bf1ee3addbd0 100644 > --- a/drivers/video/fbdev/kyro/STG4000InitDevice.c > +++ b/drivers/video/fbdev/kyro/STG4000InitDevice.c > @@ -83,11 +83,11 @@ volatile u32 i,count=0; \ > static u32 InitSDRAMRegisters(volatile STG4000REG __iomem *pSTGReg, > u32 dwSubSysID, u32 dwRevID) > { > - u32 adwSDRAMArgCfg0[] = { 0xa0, 0x80, 0xa0, 0xa0, 0xa0 }; > - u32 adwSDRAMCfg1[] = { 0x8732, 0x8732, 0xa732, 0xa732, 0x8732 }; > - u32 adwSDRAMCfg2[] = { 0x87d2, 0x87d2, 0xa7d2, 0x87d2, 0xa7d2 }; > - u32 adwSDRAMRsh[] = { 36, 39, 40 }; > - u32 adwChipSpeed[] = { 110, 120, 125 };> + static const u32 adwSDRAMArgCfg0[] = { 0xa0, 0x80, 0xa0, 0xa0, 0xa0 }; Make this u8 instead of u32 (saves 5*3 = 15 bytes): + static const u8 adwSDRAMArgCfg0[] = { 0xa0, 0x80, 0xa0, 0xa0, 0xa0 }; > + static const u32 adwSDRAMCfg1[] = { 0x8732, 0x8732, 0xa732, 0xa732, 0x8732 }; u16 > + static const u32 adwSDRAMCfg2[] = { 0x87d2, 0x87d2, 0xa7d2, 0x87d2, 0xa7d2 }; u16 > + static const u32 adwSDRAMRsh[] = { 36, 39, 40 }; u8 > + static const u32 adwChipSpeed[] = { 110, 120, 125 }; u8... Can you change that (test compile) and resend? Helge
diff --git a/drivers/video/fbdev/kyro/STG4000InitDevice.c b/drivers/video/fbdev/kyro/STG4000InitDevice.c index edfa0a04854d..bf1ee3addbd0 100644 --- a/drivers/video/fbdev/kyro/STG4000InitDevice.c +++ b/drivers/video/fbdev/kyro/STG4000InitDevice.c @@ -83,11 +83,11 @@ volatile u32 i,count=0; \ static u32 InitSDRAMRegisters(volatile STG4000REG __iomem *pSTGReg, u32 dwSubSysID, u32 dwRevID) { - u32 adwSDRAMArgCfg0[] = { 0xa0, 0x80, 0xa0, 0xa0, 0xa0 }; - u32 adwSDRAMCfg1[] = { 0x8732, 0x8732, 0xa732, 0xa732, 0x8732 }; - u32 adwSDRAMCfg2[] = { 0x87d2, 0x87d2, 0xa7d2, 0x87d2, 0xa7d2 }; - u32 adwSDRAMRsh[] = { 36, 39, 40 }; - u32 adwChipSpeed[] = { 110, 120, 125 }; + static const u32 adwSDRAMArgCfg0[] = { 0xa0, 0x80, 0xa0, 0xa0, 0xa0 }; + static const u32 adwSDRAMCfg1[] = { 0x8732, 0x8732, 0xa732, 0xa732, 0x8732 }; + static const u32 adwSDRAMCfg2[] = { 0x87d2, 0x87d2, 0xa7d2, 0x87d2, 0xa7d2 }; + static const u32 adwSDRAMRsh[] = { 36, 39, 40 }; + static const u32 adwChipSpeed[] = { 110, 120, 125 }; u32 dwMemTypeIdx; u32 dwChipSpeedIdx;
Don't populate the const read-only arrays on the stack but instead make them static const. Also makes the object code a little smaller. Signed-off-by: Colin Ian King <colin.i.king@gmail.com> --- drivers/video/fbdev/kyro/STG4000InitDevice.c | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-)