treewide: Add missing breaks in switch/case
Subsystems (7)
cover treewide: Add missing breaks in switch/case
Found by grep. Uncompiled/untested.
Joe Perches (5):
gpio-tps65910.c: Add missing breaks in switch/case
tps65910-irq: Add missing breaks in switch/case
ath5k: Add missing breaks in switch/case
fusb300_udc: Add missing breaks in switch/case
dbri: Add missing breaks in switch/case
drivers/gpio/gpio-tps65910.c | 2 ++ drivers/mfd/tps65910-irq.c | 2 ++ drivers/net/wireless/ath/ath5k/desc.c | 3 +++ drivers/usb/gadget/fusb300_udc.c | 3 +++ sound/sparc/dbri.c | 5 +++++ 5 files changed, 15 insertions(+), 0 deletions(-)
Signature · 1 line
1.7.6.131.g99019
PATCH 1/5 gpio-tps65910.c: Add missing breaks in switch/case
--- drivers/gpio/gpio-tps65910.c | 2 ++ 1 files changed, 2 insertions(+), 0 deletions(-)
drivers/gpio/gpio-tps65910.c +2 -0
@@ -81,8 +81,10 @@ void tps65910_gpio_init(struct tps65910 *tps65910, int gpio_base)switch (tps65910_chip_id (tps65910)) {case TPS65910 : tps65910->gpio.ngpio =6 ; +break ;case TPS65911 : tps65910->gpio.ngpio =9 ; +break ;default :return ; }
Signature · 1 line
1.7.6.131.g99019
Re: [PATCH 1/5] gpio-tps65910.c: Add missing breaks in switch/case
Axel published a patch that fixed this issue which is already in mainline.
g.
Quoted 24 lines · Joe Perches
Signed-off-by Joe Perches <[email protected]>---
drivers/gpio/gpio-tps65910.c | 2 ++1 files changed, 2 insertions(+), 0 deletions(-)drivers/gpio/gpio-tps65910.c +0
-0@@ -81,8 +81,10 @@ void tps65910_gpio_init(struct tps65910 *tps65910, int gpio_base) switch(tps65910_chip_id(tps65910)) {case TPS65910:
tps65910->gpio.ngpio = 6;
+ break;
case TPS65911:
tps65910->gpio.ngpio = 9;
+ break;
default:
return;
}
--
1.7.6.131.g99019
Signature · 2 lines
Grant Likely, B.Sc., P.Eng. Secret Lab Technologies Ltd.
PATCH 2/5 tps65910-irq: Add missing breaks in switch/case
In reply to Joe Perches--- drivers/mfd/tps65910-irq.c | 2 ++ 1 files changed, 2 insertions(+), 0 deletions(-)
drivers/mfd/tps65910-irq.c +2 -0
@@ -178,8 +178,10 @@ int tps65910_irq_init(struct tps65910 *tps65910, int irq,switch (tps65910_chip_id (tps65910)) {case TPS65910 : tps65910->irq_num =TPS65910_NUM_IRQ ; +break ;case TPS65911 : tps65910->irq_num =TPS65911_NUM_IRQ ; +break ; }/* Register with genirq */
Signature · 1 line
1.7.6.131.g99019
PATCH 3/5 ath5k: Add missing breaks in switch/case
In reply to Joe Perches--- drivers/net/wireless/ath/ath5k/desc.c | 3 +++ 1 files changed, 3 insertions(+), 0 deletions(-)
drivers/net/wireless/ath/ath5k/desc.c +3 -0
@@ -107,10 +107,13 @@ ath5k_hw_setup_2word_tx_desc(struct ath5k_hw *ah, struct ath5k_desc *desc,case AR5K_PKT_TYPE_BEACON :case AR5K_PKT_TYPE_PROBE_RESP : frame_type =AR5K_AR5210_TX_DESC_FRAME_TYPE_NO_DELAY ; +break ;case AR5K_PKT_TYPE_PIFS : frame_type =AR5K_AR5210_TX_DESC_FRAME_TYPE_PIFS ; +break ;default : frame_type = type; +break ; } tx_ctl->tx_control_0 |=
Signature · 1 line
1.7.6.131.g99019
Re: [ath5k-devel] [PATCH 3/5] ath5k: Add missing breaks in switch/case
Quoted 1 line · Joe Perches
Signed-off-by Joe Perches<[email protected]>
Quoted 10 lines
--- drivers/net/wireless/ath/ath5k/desc.c | 3 +++ 1 files changed, 3 insertions(+), 0 deletions(-)drivers/net/wireless/ath/ath5k/desc.c +0
-0@@ -107,10 +107,13 @@ ath5k_hw_setup_2word_tx_desc(struct ath5k_hw *ah, struct ath5k_desc *desc,case AR5K_PKT_TYPE_BEACON :
drivers/net/wireless/ath/ath5k/desc.c ath5k_hw_setup_2word_tx_desc(struct ath5k_hw *ah, struct ath5k_desc *desc, · line 117
Quoted 10 lines
drivers/net/wireless/ath/ath5k/desc.c +3
-0case AR5K_PKT_TYPE_PROBE_RESP : frame_type =AR5K_AR5210_TX_DESC_FRAME_TYPE_NO_DELAY ; +break ;case AR5K_PKT_TYPE_PIFS : frame_type =AR5K_AR5210_TX_DESC_FRAME_TYPE_PIFS ; +break ;default : frame_type = type; +break ; }
The intention here is to replace frame types from enum ath5k_pkt_type with their AR5210-specific counterparts. So the intention is definitely to have breaks here.
Unfortunately, AR5210 cards are extremely rare these days. I have one, but it only works with old motherboards. It would take me half a day to dust off that system, compile the kernel and check the patch. But I assume your patch is fine. At least it's very unlikely to break anything.
Signature · 2 lines
Regards, Pavel Roskin
Re: [PATCH 3/5] ath5k: Add missing breaks in switch/case
In reply to Joe Perches2011/7/10 Joe Perches <[email protected]>:
Quoted 22 lines
Signed-off-by Joe Perches <[email protected]>---
drivers/net/wireless/ath/ath5k/desc.c | 3 +++1 files changed, 3 insertions(+), 0 deletions(-)drivers/net/wireless/ath/ath5k/desc.c +0
-0@@ -107,10 +107,13 @@ ath5k_hw_setup_2word_tx_desc(struct ath5k_hw *ah, struct ath5k_desc *desc,case
AR5K_PKT_TYPE_BEACON:
caseAR5K_PKT_TYPE_PROBE_RESP:
frame_type =AR5K_AR5210_TX_DESC_FRAME_TYPE_NO_DELAY;
+ break;
caseAR5K_PKT_TYPE_PIFS:
frame_type =AR5K_AR5210_TX_DESC_FRAME_TYPE_PIFS;
+ break;
default:
frame_type = type;
+ break;
}
Quoted 1 line
tx_ctl->tx_control_0 |=
Signature · 3 lines
GPG ID: 0xD21DB2DB As you read this post global entropy rises. Have Fun ;-) Nick
PATCH 4/5 fusb300_udc: Add missing breaks in switch/case
In reply to Joe Perches--- drivers/usb/gadget/fusb300_udc.c | 3 +++ 1 files changed, 3 insertions(+), 0 deletions(-)
drivers/usb/gadget/fusb300_udc.c +3 -0
@@ -688,10 +688,13 @@ static void fusb300_cmp_dbg_fifo(struct fusb300_ep *ep,switch (length %4 ) {case 1 : golden_value = *tmp; +break ;case 2 : golden_value = *tmp | *(tmp +1 ) <<8 ; +break ;case 3 : golden_value = *tmp | *(tmp +1 ) <<8 | *(tmp +2 ) <<16 ; +break ;default :break ;
Signature · 1 line
1.7.6.131.g99019
Re: [PATCH 4/5] fusb300_udc: Add missing breaks in switch/case
Quoted 1 line · Joe Perches
Signed-off-by Joe Perches <[email protected]>
if you want to carry via Trivial that's ok to me:
Signature · 1 line
balbi
Re: [PATCH 4/5] fusb300_udc: Add missing breaks in switch/case
In reply to Joe PerchesQuoted 13 lines · * Joe Perches | 2011-07-10 02:28:27 [-0700]:
Signed-off-by Joe Perches <[email protected]>---
drivers/usb/gadget/fusb300_udc.c| 3 +++1 files changed, 3 insertions(+), 0 deletions(-)drivers/usb/gadget/fusb300_udc.c +0
-0@@ -688,10 +688,13 @@ static void fusb300_cmp_dbg_fifo(struct fusb300_ep *ep,switch (length %4 ) {case 1 : golden_value = *tmp;
drivers/usb/gadget/fusb300_udc.c static void fusb300_cmp_dbg_fifo(struct fusb300_ep *ep, · line 700
Quoted 10 lines
drivers/usb/gadget/fusb300_udc.c +3
-0+break ;case 2 : golden_value = *tmp | *(tmp +1 ) <<8 ; +break ;case 3 : golden_value = *tmp | *(tmp +1 ) <<8 | *(tmp +2 ) <<16 ; +break ;default :break ;
That is in an #if 0 block. Maybe we should remove the #if 0? Yuan-Hsin?
Sebastian
RE: [PATCH 4/5] fusb300_udc: Add missing breaks in switch/case
-----Original Message-----
From: Sebastian Andrzej Siewior [mailto:[email protected]]
Sent: Thursday, July 14, 2011 4:09 PM
To: Wendy Yuan-Hsin Chen(陳元馨)
Cc: Felipe Balbi; Greg Kroah-Hartman; [email protected]; [email protected]; Joe Perches
Subject: Re: [PATCH 4/5] fusb300_udc: Add missing breaks in switch/case
Quoted 14 lines · * Joe Perches | 2011-07-10 02:28:27 [-0700]:
Signed-off-by Joe Perches <[email protected]>---
drivers/usb/gadget/fusb300_udc.c| 3 +++1 files changed, 3 insertions(+), 0 deletions(-)drivers/usb/gadget/fusb300_udc.c +0
-0@@ -688,10 +688,13 @@ static void fusb300_cmp_dbg_fifo(struct fusb300_ep *ep,switch (length %4 ) {case 1 : golden_value = *tmp;
drivers/usb/gadget/fusb300_udc.c static void fusb300_cmp_dbg_fifo(struct fusb300_ep *ep, · line 700
Quoted 10 lines
drivers/usb/gadget/fusb300_udc.c +3
-0+break ;case 2 : golden_value = *tmp | *(tmp +1 ) <<8 ; +break ;case 3 : golden_value = *tmp | *(tmp +1 ) <<8 | *(tmp +2 ) <<16 ; +break ;default :break ;
That is in an #if 0 block. Maybe we should remove the #if 0? Yuan-Hsin?
It's ok to remove the #if 0. But the warning will occur while compling.
Sebastian
Yuan-Hsin
********************* Confidentiality Notice ************************ This electronic message and any attachments may contain confidential and legally privileged information or information which is otherwise protected from disclosure. If you are not the intended recipient,please do not disclose the contents, either in whole or in part, to anyone,and immediately delete the message and any attachments from your computer system and destroy all hard copies.
Thank you for your cooperation.
***********************************************************************
Re: [PATCH 4/5] fusb300_udc: Add missing breaks in switch/case
Quoted 22 lines · * Wendy Yuan-Hsin Chen(??????) | 2011-07-14 16:36:39 [+0800]:
Quoted 13 lines
Quoted 13 lines
drivers/usb/gadget/fusb300_udc.c +2
-0@@ -688,10 +688,13 @@ static void fusb300_cmp_dbg_fifo(struct fusb300_ep *ep,switch (length %4 ) {case 1 : golden_value = *tmp; +break ;case 2 : golden_value = *tmp | *(tmp +1 ) <<8 ; +break ;Quoted 8 lines
drivers/usb/gadget/fusb300_udc.c static void fusb300_cmp_dbg_fifo(struct fusb300_ep *ep, · line 700
Quoted 6 lines
drivers/usb/gadget/fusb300_udc.c +1
-0case 3 : golden_value = *tmp | *(tmp +1 ) <<8 | *(tmp +2 ) <<16 ; +break ;default :break ;That is in an #if 0 block. Maybe we should remove the #if 0? Yuan-Hsin?
Quoted 1 line
It's ok to remove the #if 0. But the warning will occur while compling.
By removing the #if 0 block I meant to remove the unused functions fusb300_cmp_dbg_fifo() and fusb300_dbg_fifo(). There should be no warning then.
Are you okey with this? Are those function required?
Quoted 1 line
Yuan-Hsin
Sebastian
RE: [PATCH 4/5] fusb300_udc: Add missing breaks in switch/case
-----Original Message-----
From: Sebastian Andrzej Siewior [mailto:[email protected]]
Sent: Thursday, July 14, 2011 6:36 PM
To: Wendy Yuan-Hsin Chen(陳元馨)
Cc: Felipe Balbi; Greg Kroah-Hartman; [email protected]; [email protected]; Joe Perches
Subject: Re: [PATCH 4/5] fusb300_udc: Add missing breaks in switch/case
Quoted 22 lines · * Wendy Yuan-Hsin Chen(??????) | 2011-07-14 16:36:39 [+0800]:
Quoted 13 lines
Quoted 13 lines
drivers/usb/gadget/fusb300_udc.c +2
-0@@ -688,10 +688,13 @@ static void fusb300_cmp_dbg_fifo(struct fusb300_ep *ep,switch (length %4 ) {case 1 : golden_value = *tmp; +break ;case 2 : golden_value = *tmp | *(tmp +1 ) <<8 ; +break ;Quoted 8 lines
drivers/usb/gadget/fusb300_udc.c static void fusb300_cmp_dbg_fifo(struct fusb300_ep *ep, · line 700
Quoted 6 lines
drivers/usb/gadget/fusb300_udc.c +1
-0case 3 : golden_value = *tmp | *(tmp +1 ) <<8 | *(tmp +2 ) <<16 ; +break ;default :break ;That is in an #if 0 block. Maybe we should remove the #if 0? Yuan-Hsin?
Quoted 1 line
It's ok to remove the #if 0. But the warning will occur while compling.
By removing the #if 0 block I meant to remove the unused functions fusb300_cmp_dbg_fifo() and fusb300_dbg_fifo(). There should be no warning then. Are you okey with this? Are those function required?
These funtions are used for debugging. I think it's ok to remove them. Thanks.
Yuan-Hsin
********************* Confidentiality Notice ************************ This electronic message and any attachments may contain confidential and legally privileged information or information which is otherwise protected from disclosure. If you are not the intended recipient,please do not disclose the contents, either in whole or in part, to anyone,and immediately delete the message and any attachments from your computer system and destroy all hard copies.
Thank you for your cooperation.
***********************************************************************
Re: [PATCH 4/5] fusb300_udc: Add missing breaks in switch/case
Hi,
Quoted 22 lines · Wendy Yuan-Hsin Chen(陳元馨)
Quoted 22 lines
Quoted 21 lines
Quoted 9 lines
drivers/usb/gadget/fusb300_udc.c +0
-0@@ -688,10 +688,13 @@ static void fusb300_cmp_dbg_fifo(struct fusb300_ep *ep,switch (length %4 ) {case 1 : golden_value = *tmp;drivers/usb/gadget/fusb300_udc.c static void fusb300_cmp_dbg_fifo(struct fusb300_ep *ep, · line 700
Quoted 10 lines
drivers/usb/gadget/fusb300_udc.c +3
-0+break ;case 2 : golden_value = *tmp | *(tmp +1 ) <<8 ; +break ;case 3 : golden_value = *tmp | *(tmp +1 ) <<8 | *(tmp +2 ) <<16 ; +break ;default :break ;That is in an #if 0 block. Maybe we should remove the #if 0? Yuan-Hsin?
Quoted 7 lines
Quoted 1 line
It's ok to remove the #if 0. But the warning will occur while compling.
By removing the #if 0 block I meant to remove the unused functions
fusb300_cmp_dbg_fifo()andfusb300_dbg_fifo(). There should be no warning then. Are you okey with this? Are those function required?These funtions are used for debugging. I think it's ok to remove them. Thanks.
maybe make a debugfs interface instead ?
Signature · 1 line
balbi
RE: [PATCH 4/5] fusb300_udc: Add missing breaks in switch/case
Hi,
Quoted 22 lines
Quoted 22 lines
Quoted 21 lines
Quoted 9 lines
drivers/usb/gadget/fusb300_udc.c +0
-0@@ -688,10 +688,13 @@ static void fusb300_cmp_dbg_fifo(struct fusb300_ep *ep,switch (length %4 ) {case 1 : golden_value = *tmp;drivers/usb/gadget/fusb300_udc.c static void fusb300_cmp_dbg_fifo(struct fusb300_ep *ep, · line 700
Quoted 10 lines
drivers/usb/gadget/fusb300_udc.c +3
-0+break ;case 2 : golden_value = *tmp | *(tmp +1 ) <<8 ; +break ;case 3 : golden_value = *tmp | *(tmp +1 ) <<8 | *(tmp +2 ) <<16 ; +break ;default :break ;That is in an #if 0 block. Maybe we should remove the #if 0? Yuan-Hsin?
Quoted 7 lines
Quoted 1 line
It's ok to remove the #if 0. But the warning will occur while compling.
By removing the #if 0 block I meant to remove the unused functions
fusb300_cmp_dbg_fifo()andfusb300_dbg_fifo(). There should be no warning then. Are you okey with this? Are those function required?These funtions are used for debugging. I think it's ok to remove them. Thanks.
maybe make a debugfs interface instead ?
These functions were used to debug unstable hw fifo while developing fusb300. It's much more stable now. So these functions can be removed. Thanks for your advice.
Yuan-Hsin
********************* Confidentiality Notice ************************ This electronic message and any attachments may contain confidential and legally privileged information or information which is otherwise protected from disclosure. If you are not the intended recipient,please do not disclose the contents, either in whole or in part, to anyone,and immediately delete the message and any attachments from your computer system and destroy all hard copies.
Thank you for your cooperation.
***********************************************************************
PATCH 1/1 usb/fusb300: remove #if 0 block
The code in this block is unused and the Author is fine with removing:
|These functions were used to debug unstable hw fifo while developing |fusb300. It's much more stable now. |So these functions can be removed.
--- drivers/usb/gadget/fusb300_udc.c | 101 -------------------------------------- 1 files changed, 0 insertions(+), 101 deletions(-)
drivers/usb/gadget/fusb300_udc.c +0 -101
@@ -609,107 +609,6 @@ void fusb300_rdcxf(struct fusb300 *fusb300, } } -#if 0 -static void fusb300_dbg_fifo (struct fusb300_ep *ep, -u8 entry,u16 length) -{ -u32 reg; -u32 i =0 ; -u32 j =0 ; - - reg =ioread32 (ep->fusb300->reg +FUSB300_OFFSET_GTM ); - reg &= ~(FUSB300_GTM_TST_EP_ENTRY (0xF ) | -FUSB300_GTM_TST_EP_NUM (0xF ) |FUSB300_GTM_TST_FIFO_DEG ); - reg |= (FUSB300_GTM_TST_EP_ENTRY (entry) | -FUSB300_GTM_TST_EP_NUM (ep->epnum) |FUSB300_GTM_TST_FIFO_DEG ); -iowrite32 (reg, ep->fusb300->reg +FUSB300_OFFSET_GTM ); - -for (i =0 ; i < (length >>2 ); i++) { -if (i *4 ==1024 ) -break ; - reg =ioread32 (ep->fusb300->reg + -FUSB300_OFFSET_BUFDBG_START + i *4 ); -printk (KERN_DEBUG " 0x%-8x" , reg); - j++; -if ((j %4 ) ==0 ) -printk (KERN_DEBUG "\n" ); - } - -if (length %4 ) { - reg =ioread32 (ep->fusb300->reg + -FUSB300_OFFSET_BUFDBG_START + i *4 ); -printk (KERN_DEBUG " 0x%x\n" , reg); - } - -if ((j %4 ) !=0 ) -printk (KERN_DEBUG "\n" ); - -fusb300_disable_bit (ep->fusb300,FUSB300_OFFSET_GTM , -FUSB300_GTM_TST_FIFO_DEG ); -} - -static void fusb300_cmp_dbg_fifo (struct fusb300_ep *ep, -u8 entry,u16 length,u8 *golden) -{ -u32 reg; -u32 i =0 ; -u32 golden_value; -u8 *tmp; - - tmp = golden; - -printk (KERN_DEBUG "fusb300_cmp_dbg_fifo (entry %d) : start\n" , entry); - - reg =ioread32 (ep->fusb300->reg +FUSB300_OFFSET_GTM ); - reg &= ~(FUSB300_GTM_TST_EP_ENTRY (0xF ) | -FUSB300_GTM_TST_EP_NUM (0xF ) |FUSB300_GTM_TST_FIFO_DEG ); - reg |= (FUSB300_GTM_TST_EP_ENTRY (entry) | -FUSB300_GTM_TST_EP_NUM (ep->epnum) |FUSB300_GTM_TST_FIFO_DEG ); -iowrite32 (reg, ep->fusb300->reg +FUSB300_OFFSET_GTM ); - -for (i =0 ; i < (length >>2 ); i++) { -if (i *4 ==1024 ) -break ; - golden_value = *tmp | *(tmp +1 ) <<8 | - *(tmp +2 ) <<16 | *(tmp +3 ) <<24 ; - - reg =ioread32 (ep->fusb300->reg + -FUSB300_OFFSET_BUFDBG_START + i*4 ); - -if (reg != golden_value) { -printk (KERN_DEBUG "0x%x : " , (u32)(ep->fusb300->reg + -FUSB300_OFFSET_BUFDBG_START + i*4 )); -printk (KERN_DEBUG " golden = 0x%x, reg = 0x%x\n" , - golden_value, reg); - } - tmp +=4 ; - } - -switch (length %4 ) { -case 1 : - golden_value = *tmp; -case 2 : - golden_value = *tmp | *(tmp +1 ) <<8 ; -case 3 : - golden_value = *tmp | *(tmp +1 ) <<8 | *(tmp +2 ) <<16 ; -default : -break ; - - reg =ioread32 (ep->fusb300->reg +FUSB300_OFFSET_BUFDBG_START + i*4 ); -if (reg != golden_value) { -printk (KERN_DEBUG "0x%x:" , (u32)(ep->fusb300->reg + -FUSB300_OFFSET_BUFDBG_START + i*4 )); -printk (KERN_DEBUG " golden = 0x%x, reg = 0x%x\n" , - golden_value, reg); - } - } - -printk (KERN_DEBUG "fusb300_cmp_dbg_fifo : end\n" ); -fusb300_disable_bit (ep->fusb300,FUSB300_OFFSET_GTM , -FUSB300_GTM_TST_FIFO_DEG ); -} -#endif -static void fusb300_rdfifo (struct fusb300_ep *ep,struct fusb300_request *req,u32 length)
Signature · 1 line
1.7.4.4
Felipe Balbi
AppliedRe: [PATCH] usb/fusb300: remove #if 0 block
Quoted 7 lines · Sebastian Andrzej Siewior
The code in this block is unused and the Author is fine with removing:
|These functions were used to debug unstable hw fifo while developing |fusb300. It's much more stable now. |So these functions can be removed.Cc "Wendy Yuan-Hsin Chen" <[email protected]>Signed-off-by Sebastian Andrzej Siewior <[email protected]>
applied, thanks
Signature · 1 line
balbi
PATCH 5/5 dbri: Add missing breaks in switch/case
In reply to Joe Perches--- sound/sparc/dbri.c | 5 +++++ 1 files changed, 5 insertions(+), 0 deletions(-)
sound/sparc/dbri.c +5 -0
@@ -578,14 +578,19 @@ static __u32 reverse_bytes(__u32 b, int len)switch (len) {case 32 : b = ((b &0xffff0000 ) >>16 ) | ((b &0x0000ffff ) <<16 ); +break ;case 16 : b = ((b &0xff00ff00 ) >>8 ) | ((b &0x00ff00ff ) <<8 ); +break ;case 8 : b = ((b &0xf0f0f0f0 ) >>4 ) | ((b &0x0f0f0f0f ) <<4 ); +break ;case 4 : b = ((b &0xcccccccc ) >>2 ) | ((b &0x33333333 ) <<2 ); +break ;case 2 : b = ((b &0xaaaaaaaa ) >>1 ) | ((b &0x55555555 ) <<1 ); +break ;case 1 :case 0 :break ;
Signature · 1 line
1.7.6.131.g99019
Re: [PATCH 5/5] dbri: Add missing breaks in switch/case
On Sun, 2011-07-10 at 02:28 -0700, Joe Perches wrote:
defective patch, please ignore.
sound/sparc/dbri.c static __u32 reverse_bytes(__u32 b, int len) · line 581
Quoted 9 lines
sound/sparc/dbri.c +1
-0@@ -578,14 +578,19 @@ static __u32 reverse_bytes(__u32 b, int len)switch (len) {case 32 : b = ((b &0xffff0000 ) >>16 ) | ((b &0x0000ffff ) <<16 ); +break ;
Maybe add a comment for fall through use instead.