Example #1
0
File: hid-g510.c Project: CMoH/lg4l
static void g510_led_bl_brightness_set(struct led_classdev *led_cdev,
				       enum led_brightness value)
{
	struct hid_device *hdev = gcore_led_classdev_to_hdev(led_cdev);
	struct gcore_data *gdata = hid_get_gdata(hdev);
	struct g510_data *g510data = gdata->data;

	if (led_cdev == gdata->led_cdev[G510_LED_BL_R])
		g510data->backlight_rgb[0] = value;
	else if (led_cdev == gdata->led_cdev[G510_LED_BL_G])
		g510data->backlight_rgb[1] = value;
	else if (led_cdev == gdata->led_cdev[G510_LED_BL_B])
		g510data->backlight_rgb[2] = value;

	g510_led_bl_send(hdev);
}
Example #2
0
static enum led_brightness g15v2_led_bl_get(struct led_classdev *led_cdev)
{
	struct hid_device *hdev = gcore_led_classdev_to_hdev(led_cdev);
	struct gcore_data *gdata = hid_get_gdata(hdev);
	struct g15v2_data *g15data = gdata->data;

	if (led_cdev == gdata->led_cdev[G15V2_LED_BL_KEYS])
		return g15data->backlight;
	else if (led_cdev == gdata->led_cdev[G15V2_LED_BL_SCREEN])
		return g15data->screen_bl;
	else if (led_cdev == gdata->led_cdev[G15V2_LED_BL_CONTRAST])
		return g15data->screen_contrast;

	dev_err(&hdev->dev, G15V2_NAME " error retrieving LED brightness\n");
	return LED_OFF;
}
Example #3
0
File: hid-g510.c Project: CMoH/lg4l
static enum led_brightness
g510_led_bl_brightness_get(struct led_classdev *led_cdev)
{
	struct hid_device *hdev = gcore_led_classdev_to_hdev(led_cdev);
	struct gcore_data *gdata = hid_get_gdata(hdev);
	struct g510_data *g510data = gdata->data;

	if (led_cdev == gdata->led_cdev[G510_LED_BL_R])
		return g510data->backlight_rgb[0];
	else if (led_cdev == gdata->led_cdev[G510_LED_BL_G])
		return g510data->backlight_rgb[1];
	else if (led_cdev == gdata->led_cdev[G510_LED_BL_B])
		return g510data->backlight_rgb[2];

	dev_err(&hdev->dev, G510_NAME " error retrieving LED brightness\n");
	return LED_OFF;
}
Example #4
0
static void g19_ep1_urb_completion(struct urb *urb)
{
	/* don't process unlinked or failed urbs */
	if (likely(urb->status == 0)) {
		struct hid_device *hdev = urb->context;
		struct gcommon_data *gdata = hid_get_gdata(hdev);
		struct g19_data *g19data = gdata->data;
		int i;

		for (i = 0; i < 8; i++)
			ginput_handle_key_event(gdata, 24+i, g19data->ep1keys[0]&(1<<i));

		input_sync(gdata->input_dev);

		usb_submit_urb(urb, GFP_ATOMIC);
	}
}
Example #5
0
static enum led_brightness
g15v2_led_mbtns_brightness_get(struct led_classdev *led_cdev)
{
	struct hid_device *hdev = gcore_led_classdev_to_hdev(led_cdev);
	struct gcore_data *gdata = hid_get_gdata(hdev);
	struct g15v2_data *g15data = gdata->data;
	int value = 0;

	if (led_cdev == gdata->led_cdev[G15V2_LED_M1])
		value = g15data->led_mbtns & 0x01;
	else if (led_cdev == gdata->led_cdev[G15V2_LED_M2])
		value = g15data->led_mbtns & 0x02;
	else if (led_cdev == gdata->led_cdev[G15V2_LED_M3])
		value = g15data->led_mbtns & 0x04;
	else if (led_cdev == gdata->led_cdev[G15V2_LED_MR])
		value = g15data->led_mbtns & 0x08;
	else
		dev_err(&hdev->dev, G15V2_NAME " error retrieving LED brightness\n");

	if (value)
		return LED_FULL;
	return LED_OFF;
}
Example #6
0
static void g15v2_led_bl_set(struct led_classdev *led_cdev,
			     enum led_brightness value)
{
	struct hid_device *hdev = gcore_led_classdev_to_hdev(led_cdev);
	struct gcore_data *gdata = hid_get_gdata(hdev);
	struct g15v2_data *g15data = gdata->data;

	if (led_cdev == gdata->led_cdev[G15V2_LED_BL_KEYS]) {
		if (value > 2)
			value = 2;
		g15data->backlight = value;
		g15v2_led_send(hdev, 0x01, g15data->backlight, 0);
	} else if (led_cdev == gdata->led_cdev[G15V2_LED_BL_SCREEN]) {
		if (value > 2)
			value = 2;
		g15data->screen_bl = value<<4;
		g15v2_led_send(hdev, 0x02, g15data->screen_bl, 0);
	} else if (led_cdev == gdata->led_cdev[G15V2_LED_BL_CONTRAST]) {
		if (value > 63)
			value = 63;
		g15data->screen_contrast = value;
		g15v2_led_send(hdev, 0x20, 0x81, g15data->screen_contrast);
	}
}
Example #7
0
static void g15v2_led_mbtns_brightness_set(struct led_classdev *led_cdev,
					   enum led_brightness value)
{
	struct hid_device *hdev = gcore_led_classdev_to_hdev(led_cdev);
	struct gcore_data *gdata = hid_get_gdata(hdev);
	struct g15v2_data *g15data = gdata->data;
	u8 mask = 0;

	if (led_cdev == gdata->led_cdev[G15V2_LED_M1])
		mask = 0x01;
	else if (led_cdev == gdata->led_cdev[G15V2_LED_M2])
		mask = 0x02;
	else if (led_cdev == gdata->led_cdev[G15V2_LED_M3])
		mask = 0x04;
	else if (led_cdev == gdata->led_cdev[G15V2_LED_MR])
		mask = 0x08;

	if (mask && value)
		g15data->led_mbtns |= mask;
	else
		g15data->led_mbtns &= ~mask;

	g15v2_led_mbtns_send(hdev);
}