Message ID | 20230105184403.63419-1-colin.i.king@gmail.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | [next] media: rkisp1: make a few const arrays static | expand |
Hi Ian, Am Donnerstag, 5. Januar 2023, 19:44:03 CET schrieb Colin Ian King: > Don't populate the const arrays on the stack, instead make them > static. Also makes the object code smaller. While I don't dislike this change itself, are you sure about the size change? bloat-o-meter shows an overall increase: > ./scripts/bloat-o-meter /tmp/rkisp1-capture_old.o > /tmp/rkisp1-capture_new.o > add/remove: 3/0 grow/shrink: 1/2 up/down: 256/-116 (140) > Function old new delta > rkisp1_try_fmt_vid_cap_mplane 56 280 +224 > dev_names - 16 +16 > max_widths - 8 +8 > max_heights - 8 +8 > rkisp1_try_fmt 356 304 -52 > rkisp1_register_capture 548 484 -64 > Total: Before=12333, After=12473, chg +1.14% To be honest I don't know why GCC now inlines rkisp1_try_fmt() in rkisp1_try_fmt_vid_cap_mplane. Best regards, Alexander > Signed-off-by: Colin Ian King <colin.i.king@gmail.com> > --- > .../platform/rockchip/rkisp1/rkisp1-capture.c | 15 +++++++++------ > 1 file changed, 9 insertions(+), 6 deletions(-) > > diff --git a/drivers/media/platform/rockchip/rkisp1/rkisp1-capture.c > b/drivers/media/platform/rockchip/rkisp1/rkisp1-capture.c index > d4540684ea9a..d1d1fdce03e3 100644 > --- a/drivers/media/platform/rockchip/rkisp1/rkisp1-capture.c > +++ b/drivers/media/platform/rockchip/rkisp1/rkisp1-capture.c > @@ -1131,10 +1131,12 @@ static void rkisp1_try_fmt(const struct > rkisp1_capture *cap, const struct rkisp1_capture_config *config = > cap->config; > const struct rkisp1_capture_fmt_cfg *fmt; > const struct v4l2_format_info *info; > - const unsigned int max_widths[] = { RKISP1_RSZ_MP_SRC_MAX_WIDTH, > - RKISP1_RSZ_SP_SRC_MAX_WIDTH }; > - const unsigned int max_heights[] = { RKISP1_RSZ_MP_SRC_MAX_HEIGHT, > - RKISP1_RSZ_SP_SRC_MAX_HEIGHT}; > + static const unsigned int max_widths[] = { > + RKISP1_RSZ_MP_SRC_MAX_WIDTH, RKISP1_RSZ_SP_SRC_MAX_WIDTH > + }; > + static const unsigned int max_heights[] = { > + RKISP1_RSZ_MP_SRC_MAX_HEIGHT, RKISP1_RSZ_SP_SRC_MAX_HEIGHT > + }; > > fmt = rkisp1_find_fmt_cfg(cap, pixm->pixelformat); > if (!fmt) { > @@ -1336,8 +1338,9 @@ void rkisp1_capture_devs_unregister(struct > rkisp1_device *rkisp1) > > static int rkisp1_register_capture(struct rkisp1_capture *cap) > { > - const char * const dev_names[] = {RKISP1_MP_DEV_NAME, > - RKISP1_SP_DEV_NAME}; > + static const char * const dev_names[] = { > + RKISP1_MP_DEV_NAME, RKISP1_SP_DEV_NAME > + }; > struct v4l2_device *v4l2_dev = &cap->rkisp1->v4l2_dev; > struct video_device *vdev = &cap->vnode.vdev; > struct rkisp1_vdev_node *node;
diff --git a/drivers/media/platform/rockchip/rkisp1/rkisp1-capture.c b/drivers/media/platform/rockchip/rkisp1/rkisp1-capture.c index d4540684ea9a..d1d1fdce03e3 100644 --- a/drivers/media/platform/rockchip/rkisp1/rkisp1-capture.c +++ b/drivers/media/platform/rockchip/rkisp1/rkisp1-capture.c @@ -1131,10 +1131,12 @@ static void rkisp1_try_fmt(const struct rkisp1_capture *cap, const struct rkisp1_capture_config *config = cap->config; const struct rkisp1_capture_fmt_cfg *fmt; const struct v4l2_format_info *info; - const unsigned int max_widths[] = { RKISP1_RSZ_MP_SRC_MAX_WIDTH, - RKISP1_RSZ_SP_SRC_MAX_WIDTH }; - const unsigned int max_heights[] = { RKISP1_RSZ_MP_SRC_MAX_HEIGHT, - RKISP1_RSZ_SP_SRC_MAX_HEIGHT}; + static const unsigned int max_widths[] = { + RKISP1_RSZ_MP_SRC_MAX_WIDTH, RKISP1_RSZ_SP_SRC_MAX_WIDTH + }; + static const unsigned int max_heights[] = { + RKISP1_RSZ_MP_SRC_MAX_HEIGHT, RKISP1_RSZ_SP_SRC_MAX_HEIGHT + }; fmt = rkisp1_find_fmt_cfg(cap, pixm->pixelformat); if (!fmt) { @@ -1336,8 +1338,9 @@ void rkisp1_capture_devs_unregister(struct rkisp1_device *rkisp1) static int rkisp1_register_capture(struct rkisp1_capture *cap) { - const char * const dev_names[] = {RKISP1_MP_DEV_NAME, - RKISP1_SP_DEV_NAME}; + static const char * const dev_names[] = { + RKISP1_MP_DEV_NAME, RKISP1_SP_DEV_NAME + }; struct v4l2_device *v4l2_dev = &cap->rkisp1->v4l2_dev; struct video_device *vdev = &cap->vnode.vdev; struct rkisp1_vdev_node *node;
Don't populate the const arrays on the stack, instead make them static. Also makes the object code smaller. Signed-off-by: Colin Ian King <colin.i.king@gmail.com> --- .../platform/rockchip/rkisp1/rkisp1-capture.c | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-)