Exemplo n.º 1
0
void ICACHE_FLASH_ATTR
led_object_pack(PARAMS * params)
{
	if(NULL == params)
	{
		PRINTF("Create first tlv param failed.\n");
		return;
	}

	struct led* led = create_led();
	led_get(led);

	if (add_next_uint8(params, led->red))
	{
		PRINTF("Add next tlv param failed.\n");
		return;
	}

	if (add_next_uint8(params, led->green))
	{
		PRINTF("Add next tlv param failed.\n");
		return;
	}

	if (add_next_uint8(params, led->blue))
	{
		PRINTF("Add next tlv param failed.\n");
		return;
	}

	delete_led(led);
}
Exemplo n.º 2
0
void ICACHE_FLASH_ATTR
led_object_unpack(PARAMS* params)
{
	struct led* led = create_led();

	led->red = get_next_uint8(params);
	led->green = get_next_uint8(params);
	led->blue = get_next_uint8(params);

	led_set(led);

	delete_led(led);

}
static int asus_led_remove(struct i2c_client *client)
{
	struct led_info_priv *priv;
	int i;

	LED_INFO("%s +++ \n", __func__);
	priv = dev_get_drvdata(&client->dev);
	for (i = 0; i < priv->num_leds; i++) {
#ifdef CONTROL_LED
		device_remove_file(priv->leds[i].cdev.dev, &dev_attr_disable);
#endif
		device_remove_file(priv->leds[i].cdev.dev, &dev_attr_blink);
		delete_led(&priv->leds[i]);
	}
	dev_set_drvdata(&client->dev, NULL);
	kfree(priv);

	return 0;
}
static int asus_led_remove(struct platform_device *pdev)
{
	struct led_info_priv *priv = dev_get_drvdata(&pdev->dev);
	int i;

	LED_info("%s\n", __func__);
	for (i = 0; i < priv->num_leds; i++) {
#ifdef CONTROL_LED
		device_remove_file(&priv->leds[i].cdev.dev, &dev_attr_disable);
#endif
		device_remove_file(&priv->leds[i].cdev.dev, &dev_attr_blink);
		delete_led(&priv->leds[i]);
	}

	dev_set_drvdata(&pdev->dev, NULL);
	kfree(priv);

	gpio_free(RED_LED_GPIO);
	gpio_free(GREEN_LED_GPIO);

	return 0;
}