media: go7007: remove redundant initialization
authorPavel Skripkin <paskripkin@gmail.com>
Sun, 20 Jun 2021 19:45:42 +0000 (21:45 +0200)
committerMauro Carvalho Chehab <mchehab+huawei@kernel.org>
Thu, 22 Jul 2021 12:01:54 +0000 (14:01 +0200)
In go7007_alloc() kzalloc() is used for struct go7007
allocation. It means that there is no need in zeroing
any members, because kzalloc will take care of it.

Removing these reduntant initialization steps increases
execution speed a lot:

Before:
+ 86.802 us   |    go7007_alloc();
After:
+ 29.595 us   |    go7007_alloc();

Fixes: 866b8695d67e8 ("Staging: add the go7007 video driver")
Signed-off-by: Pavel Skripkin <paskripkin@gmail.com>
Signed-off-by: Hans Verkuil <hverkuil-cisco@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
drivers/media/usb/go7007/go7007-driver.c

index f1767be9d8685e0eb76b913d413d3491cc579b76..6650eab913d815567c9963daec605fa2f9ca0d81 100644 (file)
@@ -691,49 +691,23 @@ struct go7007 *go7007_alloc(const struct go7007_board_info *board,
                                                struct device *dev)
 {
        struct go7007 *go;
-       int i;
 
        go = kzalloc(sizeof(struct go7007), GFP_KERNEL);
        if (go == NULL)
                return NULL;
        go->dev = dev;
        go->board_info = board;
-       go->board_id = 0;
        go->tuner_type = -1;
-       go->channel_number = 0;
-       go->name[0] = 0;
        mutex_init(&go->hw_lock);
        init_waitqueue_head(&go->frame_waitq);
        spin_lock_init(&go->spinlock);
        go->status = STATUS_INIT;
-       memset(&go->i2c_adapter, 0, sizeof(go->i2c_adapter));
-       go->i2c_adapter_online = 0;
-       go->interrupt_available = 0;
        init_waitqueue_head(&go->interrupt_waitq);
-       go->input = 0;
        go7007_update_board(go);
-       go->encoder_h_halve = 0;
-       go->encoder_v_halve = 0;
-       go->encoder_subsample = 0;
        go->format = V4L2_PIX_FMT_MJPEG;
        go->bitrate = 1500000;
        go->fps_scale = 1;
-       go->pali = 0;
        go->aspect_ratio = GO7007_RATIO_1_1;
-       go->gop_size = 0;
-       go->ipb = 0;
-       go->closed_gop = 0;
-       go->repeat_seqhead = 0;
-       go->seq_header_enable = 0;
-       go->gop_header_enable = 0;
-       go->dvd_mode = 0;
-       go->interlace_coding = 0;
-       for (i = 0; i < 4; ++i)
-               go->modet[i].enable = 0;
-       for (i = 0; i < 1624; ++i)
-               go->modet_map[i] = 0;
-       go->audio_deliver = NULL;
-       go->audio_enabled = 0;
 
        return go;
 }