コード例 #1
0
ファイル: leds-bd2802.c プロジェクト: kapoloclubs/diana
static int bd2802_bl_suspend(struct i2c_client *client, pm_message_t state)
{
	struct bd2802_led *led = i2c_get_clientdata(client);
	DBG("\n");
	
	if (led->led_state==BD2802_TEST_ON)
		return 0;
	
	bd2802_off(led);
	led->led_state = BD2802_OFF;
	return 0;
}
コード例 #2
0
ファイル: leds-bd2802.c プロジェクト: kapoloclubs/diana
static void bd2802_ledmin_work_func(struct work_struct *work)
{
	struct bd2802_led *led = container_of(work, struct bd2802_led, ledmin_work);
	led->white_current = BD2802_CURRENT_WHITE_MIN;
	led->blue_current = BD2802_CURRENT_000;
/* LGE_UPDATE_S 2011-10-26 [[email protected]] : Turn off LED backlight for power consumption */
#if 0
	bd2802_on(led);
	led->led_state = BD2802_DIMMING;
#else
	bd2802_off(led);
	led->led_state = BD2802_OFF;
#endif
/* LGE_UPDATE_E 2011-10-26 [[email protected]] : Turn off LED backlight for power consumption */
}
コード例 #3
0
// LGE_B_DOM_E 20110106 [email protected], Justin LED onoff
static ssize_t bd2802_store_led_onoff(struct device *dev,
	struct device_attribute *attr, const char *buf, size_t count)
{
	struct bd2802_led *led = i2c_get_clientdata(to_i2c_client(dev));
	int value;
	
	if (!count)
		return -EINVAL;

	value = simple_strtoul(buf, NULL, 10);

	DBG("value=%d\n",value);

	if (value==1 || value == 255)
	{
		led->led_state = BD2802_DIMMING; // Huexxx: enable dimmed...
		led->white_current = min_current; // Huexxx: enable dimmed...
	    	led->blue_current = BD2802_CURRENT_000;
		led->blink_enable=0;
		bd2802_reset_cancel(led);
		bd2802_on(led);
		bd2802_enable(led);
		led_enabled = 1;
	}
	else if (value==0)
	{
		bd2802_off(led);
		gpio_set_value(RGB_LED_CNTL, 0);
		led->led_state=BD2802_OFF;
		led_enabled = 0;
	}
	else
	{
	    if (value > 1)
	    {
			return -EINVAL;
			DBG("Value is not valid\n");
		}
	}

	return count;
}
コード例 #4
0
ファイル: leds-bd2802.c プロジェクト: kapoloclubs/diana
static ssize_t bd2802_store_led_testmode(struct device *dev,
	struct device_attribute *attr, const char *buf, size_t count)
{
	struct bd2802_led *led = i2c_get_clientdata(to_i2c_client(dev));
	int value;
	
	if (!count)
		return -EINVAL;

	value = simple_strtoul(buf, NULL, 10);

	DBG("value=%d led->led_state=%d\n",value,led->led_state);

	if ((value==1)&&(led->led_state!=BD2802_TEST_ON))
	{
		led->led_state=BD2802_TEST_ON;
		led->white_current = BD2802_CURRENT_WHITE_MAX;
		led->blue_current = BD2802_CURRENT_000;
		bd2802_reset_cancel(led);
		bd2802_on(led);
		bd2802_enable(led);
	    DBG("TEST LED ON\n");
	}
	else if ((value==0)&&(led->led_state!=BD2802_TEST_OFF))
	{
		bd2802_off(led);
		gpio_set_value(RGB_LED_CNTL, 0);
	    led->led_state=BD2802_TEST_OFF;
	    DBG("TEST LED OFF\n");
	}
	else
	{
	    if (value > 1)
	    {
		return -EINVAL;
		DBG("Value is not valid\n");
	}
	}

	return count;
}