staging: most: dim2: replace macro with static inline function
Subsystems (2)
PATCH 1/1 staging: most: dim2: replace macro with static inline function
Replace unsafe macro with static inline function to avoid side effects.
--- drivers/staging/most/dim2/dim2.c | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-)
drivers/staging/most/dim2/dim2.c +7 -5
@@ -113,10 +113,12 @@ static inline struct dim2_hdm *iface_to_hdm(struct most_interface *iface) return container_of(iface, struct dim2_hdm, most_iface); } -/* Macro to identify a network status message */ -#define PACKET_IS_NET_INFO (p) \ - (((p)[1] == 0x18) && ((p)[2] == 0x05) && ((p)[3] == 0x0C) && \ - ((p)[13] == 0x3C) && ((p)[14] == 0x00) && ((p)[15] == 0x0A)) +/* Identify a network status message */ +static inline bool packet_is_net_info (const u8 *p) +{ +return p[1 ] ==0x18 && p[2 ] ==0x05 && p[3 ] ==0x0C && + p[13 ] ==0x3C && p[14 ] ==0x00 && p[15 ] ==0x0A ; +}static ssize_t state_show (struct device *dev,struct device_attribute *attr,char *buf)
@@ -304,7 +306,7 @@ static void service_done_flag(struct dim2_hdm *dev, int ch_idx)if (hdm_ch->data_type ==MOST_CH_ASYNC && hdm_ch->direction ==MOST_CH_RX && -PACKET_IS_NET_INFO (data)) { +packet_is_net_info (data)) {retrieve_netinfo (dev, mbo);spin_lock_irqsave (&dim_lock, flags);
Signature · 1 line
2.52.0
Quoted 12 lines · Ethan Tidmore
Replace unsafe macro with static inline function to avoid side effects.
Signed-off-by Ethan Tidmore <[email protected]>--- drivers/staging/most/dim2/dim2.c | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-)drivers/staging/most/dim2/dim2.c +0
-0
drivers/staging/most/dim2/dim2.c static inline struct dim2_hdm *iface_to_hdm(struct most_interface *iface) · line 117
Quoted 9 lines
drivers/staging/most/dim2/dim2.c +2
-4@@ -113,10 +113,12 @@ static inline struct dim2_hdm *iface_to_hdm(struct most_interface *iface) return container_of(iface, struct dim2_hdm, most_iface); } -/* Macro to identify a network status message */ -#define PACKET_IS_NET_INFO (p) \ - (((p)[1] == 0x18) && ((p)[2] == 0x05) && ((p)[3] == 0x0C) && \ - ((p)[13] == 0x3C) && ((p)[14] == 0x00) && ((p)[15] == 0x0A)) +/* Identify a network status message */ +static inline bool packet_is_net_info (const u8 *p)
These days we tend not to mark functions as inline since the compiler is smart enough to do it on it's own and it's mostly going to ignore our inlining suggestions anyway. If it really matters in benchmarking the use the __always_inline annotation.
drivers/staging/most/dim2/dim2.c static inline struct dim2_hdm *iface_to_hdm(struct most_interface *iface) · line 120
Quoted 3 lines
drivers/staging/most/dim2/dim2.c +3
-0+{ +return p[1 ] ==0x18 && p[2 ] ==0x05 && p[3 ] ==0x0C && + p[13 ] ==0x3C && p[14 ] ==0x00 && p[15 ] ==0x0A ;
This should be aligned slight differently.
[tab][space x 7]p[13] == 0x3C && p[14] == 0x00 && p[15] == 0x0A;
regards,
dan carpenter