Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/hid
authorLinus Torvalds <torvalds@linux-foundation.org>
Fri, 13 Dec 2013 21:21:28 +0000 (13:21 -0800)
committerLinus Torvalds <torvalds@linux-foundation.org>
Fri, 13 Dec 2013 21:21:28 +0000 (13:21 -0800)
Pull HID fixes from Jiri Kosina:

 - Genius Gx Imperator Keyboard regression fix (missing break in case),
   by Ben Hutchings

 - duplicate sysfs entry error fix for hid-sensor-hub driver, by
   Srinivas Pandruvada

* 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/hid:
  HID: hid-sensor-hub: fix duplicate sysfs entry error
  HID: kye: Fix missing break in kye_report_fixup()

1  2 
drivers/hid/hid-sensor-hub.c

index d87f7cb4bee5af2b6c9d08dc02630c08f0f69cfb,8af2d906db6ce95be0c4c112f04fe754be313dd0..8fab82829f8b11321f957059837e8f50feb71828
@@@ -112,15 -112,13 +112,15 @@@ static int sensor_hub_get_physical_devi
  
  static void sensor_hub_fill_attr_info(
                struct hid_sensor_hub_attribute_info *info,
 -              s32 index, s32 report_id, s32 units, s32 unit_expo, s32 size)
 +              s32 index, s32 report_id, struct hid_field *field)
  {
        info->index = index;
        info->report_id = report_id;
 -      info->units = units;
 -      info->unit_expo = unit_expo;
 -      info->size = size/8;
 +      info->units = field->unit;
 +      info->unit_expo = field->unit_exponent;
 +      info->size = (field->report_size * field->report_count)/8;
 +      info->logical_minimum = field->logical_minimum;
 +      info->logical_maximum = field->logical_maximum;
  }
  
  static struct hid_sensor_hub_callbacks *sensor_hub_get_callback(
@@@ -327,7 -325,9 +327,7 @@@ int sensor_hub_input_get_attribute_info
                        if (field->physical == usage_id &&
                                field->logical == attr_usage_id) {
                                sensor_hub_fill_attr_info(info, i, report->id,
 -                                      field->unit, field->unit_exponent,
 -                                      field->report_size *
 -                                                      field->report_count);
 +                                                        field);
                                ret = 0;
                        } else {
                                for (j = 0; j < field->maxusage; ++j) {
                                        field->usage[j].collection_index ==
                                        collection_index) {
                                                sensor_hub_fill_attr_info(info,
 -                                                      i, report->id,
 -                                                      field->unit,
 -                                                      field->unit_exponent,
 -                                                      field->report_size *
 -                                                      field->report_count);
 +                                                        i, report->id, field);
                                                ret = 0;
                                                break;
                                        }
@@@ -569,6 -573,8 +569,8 @@@ static int sensor_hub_probe(struct hid_
                                        goto err_free_names;
                        }
                        sd->hid_sensor_hub_client_devs[
+                               sd->hid_sensor_client_cnt].id = PLATFORM_DEVID_AUTO;
+                       sd->hid_sensor_hub_client_devs[
                                sd->hid_sensor_client_cnt].name = name;
                        sd->hid_sensor_hub_client_devs[
                                sd->hid_sensor_client_cnt].platform_data =