power: supply: oplc_battery: Use fallthrough pseudo-keyword

Message ID 20210507124724.10825-1-jj251510319013@gmail.com
State New
Headers show
Series
  • power: supply: oplc_battery: Use fallthrough pseudo-keyword
Related show

Commit Message

Wei Ming Chen May 7, 2021, 12:47 p.m.
Add pseudo-keyword macro fallthrough[1]

[1] https://www.kernel.org/doc/html/latest/process/deprecated.html?highlight=fallthrough#implicit-switch-case-fall-through

Signed-off-by: Wei Ming Chen <jj251510319013@gmail.com>
---
 drivers/power/supply/olpc_battery.c | 1 +
 1 file changed, 1 insertion(+)

Comments

Sebastian Reichel June 4, 2021, 11:54 a.m. | #1
[+cc Kees and Gustavo]

Hi,

On Fri, May 07, 2021 at 08:47:24PM +0800, Wei Ming Chen wrote:
> Add pseudo-keyword macro fallthrough[1]

> 

> [1] https://www.kernel.org/doc/html/latest/process/deprecated.html?highlight=fallthrough#implicit-switch-case-fall-through

> 

> Signed-off-by: Wei Ming Chen <jj251510319013@gmail.com>

> ---


I suppose completely empty case branch is also ok and just not
documented? I mean it does not hurt much in this case, but quite
a few power-supply drivers have something like this and it would
IMHO reduce readability to add fallthrough; to all of them.

property_is_writable(dev, prop) {
    switch (prop) {
        case A:
        case C:
        case E:
            return true;
        default:
            return false;
    }
}

Thanks,

-- Sebastian

>  drivers/power/supply/olpc_battery.c | 1 +

>  1 file changed, 1 insertion(+)

> 

> diff --git a/drivers/power/supply/olpc_battery.c b/drivers/power/supply/olpc_battery.c

> index e0476ec06601..743b7f1cf9ea 100644

> --- a/drivers/power/supply/olpc_battery.c

> +++ b/drivers/power/supply/olpc_battery.c

> @@ -238,6 +238,7 @@ static int olpc_bat_get_charge_full_design(union power_supply_propval *val)

>  	case POWER_SUPPLY_TECHNOLOGY_LiFe:

>  		switch (mfr) {

>  		case 1: /* Gold Peak, fall through */

> +			fallthrough;

>  		case 2: /* BYD */

>  			val->intval = 2800000;

>  			break;

> -- 

> 2.25.1

>
Gustavo A. R. Silva June 4, 2021, 12:14 p.m. | #2
On 6/4/21 06:54, Sebastian Reichel wrote:
> [+cc Kees and Gustavo]

> 

> Hi,

> 

> On Fri, May 07, 2021 at 08:47:24PM +0800, Wei Ming Chen wrote:

>> Add pseudo-keyword macro fallthrough[1]

>>

>> [1] https://www.kernel.org/doc/html/latest/process/deprecated.html?highlight=fallthrough#implicit-switch-case-fall-through

>>

>> Signed-off-by: Wei Ming Chen <jj251510319013@gmail.com>

>> ---

> 

> I suppose completely empty case branch is also ok and just not

> documented? I mean it does not hurt much in this case, but quite


Exactly; it's not documented because it doesn't need to be marked
with fallthrough; :)

Not sure what was the motivation for this patch.

--
Gustavo

> a few power-supply drivers have something like this and it would

> IMHO reduce readability to add fallthrough; to all of them.

> 

> property_is_writable(dev, prop) {

>     switch (prop) {

>         case A:

>         case C:

>         case E:

>             return true;

>         default:

>             return false;

>     }

> }

> 

> Thanks,

> 

> -- Sebastian

> 

>>  drivers/power/supply/olpc_battery.c | 1 +

>>  1 file changed, 1 insertion(+)

>>

>> diff --git a/drivers/power/supply/olpc_battery.c b/drivers/power/supply/olpc_battery.c

>> index e0476ec06601..743b7f1cf9ea 100644

>> --- a/drivers/power/supply/olpc_battery.c

>> +++ b/drivers/power/supply/olpc_battery.c

>> @@ -238,6 +238,7 @@ static int olpc_bat_get_charge_full_design(union power_supply_propval *val)

>>  	case POWER_SUPPLY_TECHNOLOGY_LiFe:

>>  		switch (mfr) {

>>  		case 1: /* Gold Peak, fall through */

>> +			fallthrough;

>>  		case 2: /* BYD */

>>  			val->intval = 2800000;

>>  			break;

>> -- 

>> 2.25.1

>>

Patch

diff --git a/drivers/power/supply/olpc_battery.c b/drivers/power/supply/olpc_battery.c
index e0476ec06601..743b7f1cf9ea 100644
--- a/drivers/power/supply/olpc_battery.c
+++ b/drivers/power/supply/olpc_battery.c
@@ -238,6 +238,7 @@  static int olpc_bat_get_charge_full_design(union power_supply_propval *val)
 	case POWER_SUPPLY_TECHNOLOGY_LiFe:
 		switch (mfr) {
 		case 1: /* Gold Peak, fall through */
+			fallthrough;
 		case 2: /* BYD */
 			val->intval = 2800000;
 			break;