[PATCH 2/7] add-powersupply-ac-usb-automonitor.patch

Paul Jimenez pj at place.org
Tue Sep 23 23:40:00 CEST 2008


Werner Almesberger wrote:
> Andy Green wrote:
>   
>> +static int usb_get_property(struct power_supply *psy,
>> +			enum power_supply_property psp,
>> +			union power_supply_propval *val)
>> +{
>> +	int ret = 0;
>> +	struct bq27000_device_info *di = container_of(psy, struct bq27000_device_info, usb);
>> +
>> +	if (!(di->pdata->hdq_initialized)())
>> +		return -EINVAL;
>> +
>> +	switch (psp) {
>> +	case POWER_SUPPLY_PROP_ONLINE:
>> +		if (di->pdata->get_charger_online_status)
>> +			val->intval = (di->pdata->get_charger_online_status)();
>> +		else
>> +			return -EINVAL;
>> +		break;
>> +	default:
>> +		ret = -EINVAL;
>> +		break;
>> +	}
>> +	return ret;
>> +}
>>     
>
> This looks a bit chatty. Maybe a future style improvement could look like
> this ?
>
> {
> 	struct bq27000_device_info *di = container_of(psy, struct bq27000_device_info, usb);
>
> 	if (!di->pdata->hdq_initialized())
> 		return -EINVAL;
>
> 	switch (psp) {
> 	case POWER_SUPPLY_PROP_ONLINE:
> 		if (!di->pdata->get_charger_online_status)
> 			return -EINVAL;
> 		val->intval = di->pdata->get_charger_online_status();
> 		break;
> 	default:
> 		return -EINVAL;
> 	}
> 	return 0;
> }
>
> - Werner
>
>   
I don't grok the use of switch() for a two case... case. Try:


{
	struct bq27000_device_info *di = container_of(psy, struct bq27000_device_info, usb);

	if (!di->pdata->hdq_initialized())
		return -EINVAL;

	if (psp != POWER_SUPPLY_PROP_ONLINE || !di->pdata->get_charger_online_status)
		return -EINVAL;
	
	val->intval = di->pdata->get_charger_online_status();

	return 0;
}

I don't know whether current style says to split up the || or join it with the test above, but those are other possibilities.







More information about the openmoko-kernel mailing list