OSDN Git Service

staging: rtl8188eu: Removed a function and coded inline
authorBhaskar Singh <bhaskar.kernel@gmail.com>
Tue, 21 Aug 2018 01:02:22 +0000 (06:32 +0530)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Mon, 27 Aug 2018 17:29:39 +0000 (19:29 +0200)
This patch removed function named rtw_malloc2d.

I removed this function because this function is used exactly once and
function call have some overhead also.

Maybe this will improve code runtime slightly.

Signed-off-by: Bhaskar Singh <bhaskar.kernel@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/staging/rtl8188eu/core/rtw_efuse.c
drivers/staging/rtl8188eu/include/osdep_service.h
drivers/staging/rtl8188eu/os_dep/osdep_service.c

index 0fd306a..ddd7f67 100644 (file)
@@ -86,16 +86,20 @@ efuse_phymap_to_logical(u8 *phymap, u16 _offset, u16 _size_byte, u8  *pbuf)
        u16     **eFuseWord = NULL;
        u16     efuse_utilized = 0;
        u8 u1temp = 0;
+       void **tmp = NULL;
 
        efuseTbl = kzalloc(EFUSE_MAP_LEN_88E, GFP_KERNEL);
        if (!efuseTbl)
                return;
 
-       eFuseWord = (u16 **)rtw_malloc2d(EFUSE_MAX_SECTION_88E, EFUSE_MAX_WORD_UNIT, sizeof(u16));
-       if (!eFuseWord) {
+       tmp = kzalloc(EFUSE_MAX_SECTION_88E * (sizeof(void *) + EFUSE_MAX_WORD_UNIT * sizeof(u16)), GFP_KERNEL);
+       if (!tmp) {
                DBG_88E("%s: alloc eFuseWord fail!\n", __func__);
                goto eFuseWord_failed;
        }
+       for (i = 0; i < EFUSE_MAX_SECTION_88E; i++)
+               tmp[i] = ((char *)(tmp + EFUSE_MAX_SECTION_88E)) + i * EFUSE_MAX_WORD_UNIT * sizeof(u16);
+       eFuseWord = (u16 **)tmp;
 
        /*  0. Refresh efuse init map as all oxFF. */
        for (i = 0; i < EFUSE_MAX_SECTION_88E; i++)
index fbcba79..cfe5698 100644 (file)
@@ -64,8 +64,6 @@ static inline int rtw_netif_queue_stopped(struct net_device *pnetdev)
 u8 *_rtw_malloc(u32 sz);
 #define rtw_malloc(sz)                 _rtw_malloc((sz))
 
-void *rtw_malloc2d(int h, int w, int size);
-
 void _rtw_init_queue(struct __queue *pqueue);
 
 struct rtw_netdev_priv_indicator {
index 78daef6..105f3f2 100644 (file)
@@ -18,20 +18,6 @@ u8 *_rtw_malloc(u32 sz)
        return kmalloc(sz, in_interrupt() ? GFP_ATOMIC : GFP_KERNEL);
 }
 
-void *rtw_malloc2d(int h, int w, int size)
-{
-       int j;
-       void **a = kzalloc(h * sizeof(void *) + h * w * size, GFP_KERNEL);
-
-       if (!a)
-               goto out;
-
-       for (j = 0; j < h; j++)
-               a[j] = ((char *)(a + h)) + j * w * size;
-out:
-       return a;
-}
-
 void _rtw_init_queue(struct __queue *pqueue)
 {
        INIT_LIST_HEAD(&pqueue->queue);