Beispiel #1
0
static void change_cable_status(int status,
				struct charger_device_info *di)
{

	sec_bci->charger.prev_cable_status = sec_bci->charger.cable_status;
	sec_bci->charger.cable_status = status;

	_charger_state_change_(STATUS_CATEGORY_CABLE, status);

	switch (status) {
	case POWER_SUPPLY_TYPE_BATTERY:
		/*Diable charging */
		change_charge_status(POWER_SUPPLY_STATUS_DISCHARGING);

		break;

	case POWER_SUPPLY_TYPE_MAINS:
	case POWER_SUPPLY_TYPE_USB:
		/*Enable charging */
		change_charge_status(POWER_SUPPLY_STATUS_CHARGING);

		break;

	default:
		break;
	}

}
Beispiel #2
0
static void change_cable_status( int status, 
				struct charger_driver_info *di, 
				bool is_sleep )
// ----------------------------------------------------------------------------
// Description    : 
// Input Argument :  
// Return Value   : 
{
	sec_bci->charger.prev_cable_status = sec_bci->charger.cable_status;
	sec_bci->charger.cable_status = status;

	_charger_state_change_( STATUS_CATEGORY_CABLE, status, is_sleep );

	switch ( status )
	{
	case POWER_SUPPLY_TYPE_BATTERY :
		/*Diable charging*/
		change_charge_status( POWER_SUPPLY_STATUS_DISCHARGING, is_sleep );

		break;

	case POWER_SUPPLY_TYPE_MAINS :        
	case POWER_SUPPLY_TYPE_USB :
		/*Enable charging*/
		change_charge_status( POWER_SUPPLY_STATUS_CHARGING, is_sleep );

		break;

	default :
		;
	}

}
Beispiel #3
0
static void change_charge_status(int status)
{

	switch (status) {
	case POWER_SUPPLY_STATUS_UNKNOWN:
	case POWER_SUPPLY_STATUS_NOT_CHARGING:
	case POWER_SUPPLY_STATUS_DISCHARGING:
		if (sec_bci->battery.battery_health != POWER_SUPPLY_HEALTH_DEAD)
			disable_charging();

#ifdef HIGH_TEMP_GAURD_FOR_CAMCORDER
		sec_bci->charger.camera_recording_inout = 0;
#endif
		break;

	case POWER_SUPPLY_STATUS_FULL:
		break;

	case POWER_SUPPLY_STATUS_FULL_END:
		sec_bci->charger.rechg_count = 4;
		/*Cancel timer */
		clear_charge_start_time();

		disable_charging();
		break;
		
	case POWER_SUPPLY_STATUS_CHARGING:

		if (sec_bci->battery.battery_vf_ok) {
			sec_bci->battery.battery_health = POWER_SUPPLY_HEALTH_GOOD;

			/*Start monitoring charging time */
			set_charge_start_time();

			enable_charging();
			break;

		} else {
			sec_bci->battery.battery_health = POWER_SUPPLY_HEALTH_DEAD;

			status = POWER_SUPPLY_STATUS_DISCHARGING;

			printk( KERN_INFO "[TA] INVALID BATTERY, %d !! \n", status);

			disable_charging();
			break;

		}

	case POWER_SUPPLY_STATUS_RECHARGING_FOR_FULL:
		/*Start monitoring charging time */
		sec_bci->charger.charging_timeout = DEFAULT_RECHARGING_TIMEOUT;
		set_charge_start_time();

		enable_charging();

		break;

	case POWER_SUPPLY_STATUS_RECHARGING_FOR_TEMP:
		enable_charging();
		break;

	default:
		;
	}

	sec_bci->charger.prev_charge_status = sec_bci->charger.charge_status;
	sec_bci->charger.charge_status = status;

	_charger_state_change_(STATUS_CATEGORY_CHARGING, status);

}
Beispiel #4
0
static void change_charge_status( int status, bool is_sleep )
// ----------------------------------------------------------------------------
// Description    : 
// Input Argument :  
// Return Value   : 
{

	switch ( status )
	{
	case POWER_SUPPLY_STATUS_UNKNOWN :
	case POWER_SUPPLY_STATUS_DISCHARGING :
	case POWER_SUPPLY_STATUS_NOT_CHARGING :
		disable_charging( is_sleep );
		break;

	case POWER_SUPPLY_STATUS_FULL :
		disable_charging( is_sleep );
		/*Cancel timer*/
		clear_charge_start_time();

		break;

	case POWER_SUPPLY_STATUS_CHARGING :

		if ( sec_bci->battery.battery_vf_ok )
		{
			sec_bci->battery.battery_health = POWER_SUPPLY_HEALTH_GOOD;

			/*Start monitoring charging time*/
			set_charge_start_time();

			enable_charging( is_sleep );
		}
		else
		{
			sec_bci->battery.battery_health = POWER_SUPPLY_HEALTH_DEAD;

			status = POWER_SUPPLY_STATUS_NOT_CHARGING;

			disable_charging( is_sleep );

			printk( "[TA] INVALID BATTERY, %d !! \n", status );
		}

		break;

	case POWER_SUPPLY_STATUS_RECHARGING_FOR_FULL :
		/*Start monitoring charging time*/
		sec_bci->charger.charging_timeout = DEFAULT_RECHARGING_TIMEOUT;
		set_charge_start_time();

		enable_charging( is_sleep );

		break;
		
	case POWER_SUPPLY_STATUS_RECHARGING_FOR_TEMP :
		enable_charging( is_sleep );
		break;

	default :
		;
	}

	sec_bci->charger.prev_charge_status = sec_bci->charger.charge_status;
	sec_bci->charger.charge_status = status;

	_charger_state_change_( STATUS_CATEGORY_CHARGING, status, is_sleep );

}