Merge the combo use of memcpy and le32_to_cpus.
Use get_unaligned_le32 instead.
This simplifies the code.

Signed-off-by: Chuhong Yuan <hsleste...@gmail.com>
---
Changes in v2:
 - Merge the two patches with the same
   subject line.

 drivers/staging/wilc1000/wilc_mon.c               | 3 +--
 drivers/staging/wilc1000/wilc_wfi_cfgoperations.c | 3 +--
 drivers/staging/wilc1000/wilc_wlan.c              | 9 +++------
 3 files changed, 5 insertions(+), 10 deletions(-)

diff --git a/drivers/staging/wilc1000/wilc_mon.c 
b/drivers/staging/wilc1000/wilc_mon.c
index 7d7933d40924..d6f14f69ad64 100644
--- a/drivers/staging/wilc1000/wilc_mon.c
+++ b/drivers/staging/wilc1000/wilc_mon.c
@@ -35,8 +35,7 @@ void wilc_wfi_monitor_rx(struct net_device *mon_dev, u8 
*buff, u32 size)
                return;
 
        /* Get WILC header */
-       memcpy(&header, (buff - HOST_HDR_OFFSET), HOST_HDR_OFFSET);
-       le32_to_cpus(&header);
+       header = get_unaligned_le32(buff - HOST_HDR_OFFSET);
        /*
         * The packet offset field contain info about what type of management
         * the frame we are dealing with and ack status
diff --git a/drivers/staging/wilc1000/wilc_wfi_cfgoperations.c 
b/drivers/staging/wilc1000/wilc_wfi_cfgoperations.c
index d72fdd333050..12fb4add05ec 100644
--- a/drivers/staging/wilc1000/wilc_wfi_cfgoperations.c
+++ b/drivers/staging/wilc1000/wilc_wfi_cfgoperations.c
@@ -1038,8 +1038,7 @@ void wilc_wfi_p2p_rx(struct wilc_vif *vif, u8 *buff, u32 
size)
        s32 freq;
        __le16 fc;
 
-       memcpy(&header, (buff - HOST_HDR_OFFSET), HOST_HDR_OFFSET);
-       le32_to_cpus(&header);
+       header = get_unaligned_le32(buff - HOST_HDR_OFFSET);
        pkt_offset = GET_PKT_OFFSET(header);
 
        if (pkt_offset & IS_MANAGMEMENT_CALLBACK) {
diff --git a/drivers/staging/wilc1000/wilc_wlan.c 
b/drivers/staging/wilc1000/wilc_wlan.c
index d46876edcfeb..7d438ae90c3e 100644
--- a/drivers/staging/wilc1000/wilc_wlan.c
+++ b/drivers/staging/wilc1000/wilc_wlan.c
@@ -703,8 +703,7 @@ static void wilc_wlan_handle_rx_buff(struct wilc *wilc, u8 
*buffer, int size)
 
        do {
                buff_ptr = buffer + offset;
-               memcpy(&header, buff_ptr, 4);
-               le32_to_cpus(&header);
+               header = get_unaligned_le32(buff_ptr);
 
                is_cfg_packet = (header >> 31) & 0x1;
                pkt_offset = (header >> 22) & 0x1ff;
@@ -874,10 +873,8 @@ int wilc_wlan_firmware_download(struct wilc *wilc, const 
u8 *buffer,
 
        offset = 0;
        do {
-               memcpy(&addr, &buffer[offset], 4);
-               memcpy(&size, &buffer[offset + 4], 4);
-               le32_to_cpus(&addr);
-               le32_to_cpus(&size);
+               addr = get_unaligned_le32(&buffer[offset]);
+               size = get_unaligned_le32(&buffer[offset + 4]);
                acquire_bus(wilc, WILC_BUS_ACQUIRE_ONLY);
                offset += 8;
                while (((int)size) && (offset < buffer_size)) {
-- 
2.20.1

_______________________________________________
devel mailing list
de...@linuxdriverproject.org
http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel

Reply via email to