Skip to contentSkip to conversation

hid-sensor-hub: fix style of comments

PATCH Applied Andy Shevchenko 3 participants 12 messages Aug 14, 2013 – Sep 4, 2013

Subsystems (2)
lore
Share & tools
lore
#0 lore raw

PATCH 1/4 hid-sensor-hub: fix style of comments

This patch fixes the style of the comments to be like following

	/* The commentary */

There is no functional change.

---
 drivers/hid/hid-sensor-hub.c   | 2 +-
 include/linux/hid-sensor-hub.h | 2 +-
 include/linux/hid-sensor-ids.h | 2 +-
 3 files changed, 3 insertions(+), 3 deletions(-)
drivers/hid/hid-sensor-hub.c +1 -1
index ca749810..ffc80cf 100644
@@ -416,7 +416,7 @@ static int sensor_hub_raw_event(struct hid_device *hdev,
 		return 1;
 
 	ptr = raw_data;
-	ptr++; /*Skip report id*/
+	ptr++; /* Skip report id */
 
 	spin_lock_irqsave(&pdata->lock, flags);
 
include/linux/hid-sensor-hub.h +1 -1
index ecefb73..32ba451 100644
@@ -172,7 +172,7 @@ struct hid_sensor_common {
 	struct hid_sensor_hub_attribute_info sensitivity;
 };
 
-/*Convert from hid unit expo to regular exponent*/
+/* Convert from hid unit expo to regular exponent */
 static inline int hid_sensor_convert_exponent(int unit_expo)
 {
 	if (unit_expo < 0x08)
include/linux/hid-sensor-ids.h +1 -1
index 6f24446..4f945d3 100644
@@ -37,7 +37,7 @@
 #define HID_USAGE_SENSOR_ANGL_VELOCITY_Y_AXIS			0x200458
 #define HID_USAGE_SENSOR_ANGL_VELOCITY_Z_AXIS			0x200459
 
-/*ORIENTATION: Compass 3D: (200083) */
+/* ORIENTATION: Compass 3D: (200083) */
 #define HID_USAGE_SENSOR_COMPASS_3D				0x200083
 #define HID_USAGE_SENSOR_ORIENT_MAGN_HEADING			0x200471
 #define HID_USAGE_SENSOR_ORIENT_MAGN_HEADING_X			0x200472
Signature · 1 line
1.8.4.rc2
#1 lore raw

PATCH 2/4 hid-sensor-hub: fix indentation accross the code

Patch just rearranges lines to be more compact and/or readable. Additionally it converts double space to one in several places.

There is no functional change.

---
 drivers/hid/hid-sensor-hub.c | 31 +++++++++++++++----------------
 1 file changed, 15 insertions(+), 16 deletions(-)
drivers/hid/hid-sensor-hub.c +15 -16
index ffc80cf..d0687d0 100644
@@ -103,8 +103,7 @@ static int sensor_hub_get_physical_device_count(
 
 	list_for_each_entry(report, &report_enum->report_list, list) {
 		field = report->field[0];
-		if (report->maxfield && field &&
-					field->physical)
+		if (report->maxfield && field && field->physical)
 			cnt++;
 	}
 
@@ -192,12 +191,12 @@ int sensor_hub_set_feature(struct hid_sensor_hub_device *hsdev, u32 report_id,
 				u32 field_index, s32 value)
 {
 	struct hid_report *report;
-	struct sensor_hub_data *data =  hid_get_drvdata(hsdev->hdev);
+	struct sensor_hub_data *data = hid_get_drvdata(hsdev->hdev);
 	int ret = 0;
 
 	mutex_lock(&data->mutex);
 	report = sensor_hub_report(report_id, hsdev->hdev, HID_FEATURE_REPORT);
-	if (!report || (field_index >=  report->maxfield)) {
+	if (!report || (field_index >= report->maxfield)) {
 		ret = -EINVAL;
 		goto done_proc;
 	}
@@ -216,12 +215,12 @@ int sensor_hub_get_feature(struct hid_sensor_hub_device *hsdev, u32 report_id,
 				u32 field_index, s32 *value)
 {
 	struct hid_report *report;
-	struct sensor_hub_data *data =  hid_get_drvdata(hsdev->hdev);
+	struct sensor_hub_data *data = hid_get_drvdata(hsdev->hdev);
 	int ret = 0;
 
 	mutex_lock(&data->mutex);
 	report = sensor_hub_report(report_id, hsdev->hdev, HID_FEATURE_REPORT);
-	if (!report || (field_index >=  report->maxfield)) {
+	if (!report || (field_index >= report->maxfield)) {
 		ret = -EINVAL;
 		goto done_proc;
 	}
@@ -241,7 +240,7 @@ int sensor_hub_input_attr_get_raw_value(struct hid_sensor_hub_device *hsdev,
 					u32 usage_id,
 					u32 attr_usage_id, u32 report_id)
 {
-	struct sensor_hub_data *data =  hid_get_drvdata(hsdev->hdev);
+	struct sensor_hub_data *data = hid_get_drvdata(hsdev->hdev);
 	unsigned long flags;
 	struct hid_report *report;
 	int ret_val = 0;
@@ -302,7 +301,7 @@ int sensor_hub_input_get_attribute_info(struct hid_sensor_hub_device *hsdev,
 
 	/* Initialize with defaults */
 	info->usage_id = usage_id;
-	info->attrib_id =  attr_usage_id;
+	info->attrib_id = attr_usage_id;
 	info->report_id = -1;
 	info->index = -1;
 	info->units = -1;
@@ -333,7 +332,7 @@ int sensor_hub_input_get_attribute_info(struct hid_sensor_hub_device *hsdev,
 					if (field->usage[j].hid ==
 					attr_usage_id &&
 					field->usage[j].collection_index ==
-					collection_index)  {
+					collection_index) {
 						sensor_hub_fill_attr_info(info,
 							i, report->id,
 							field->unit,
@@ -357,7 +356,7 @@ EXPORT_SYMBOL_GPL(sensor_hub_input_get_attribute_info);
 #ifdef CONFIG_PM
 static int sensor_hub_suspend(struct hid_device *hdev, pm_message_t message)
 {
-	struct sensor_hub_data *pdata =  hid_get_drvdata(hdev);
+	struct sensor_hub_data *pdata = hid_get_drvdata(hdev);
 	struct hid_sensor_hub_callbacks_list *callback;
 
 	hid_dbg(hdev, " sensor_hub_suspend\n");
@@ -374,7 +373,7 @@ static int sensor_hub_suspend(struct hid_device *hdev, pm_message_t message)
 
 static int sensor_hub_resume(struct hid_device *hdev)
 {
-	struct sensor_hub_data *pdata =  hid_get_drvdata(hdev);
+	struct sensor_hub_data *pdata = hid_get_drvdata(hdev);
 	struct hid_sensor_hub_callbacks_list *callback;
 
 	hid_dbg(hdev, " sensor_hub_resume\n");
@@ -394,6 +393,7 @@ static int sensor_hub_reset_resume(struct hid_device *hdev)
 	return 0;
 }
 #endif
+
 /*
  * Handle raw report as sent by device
  */
@@ -421,7 +421,6 @@ static int sensor_hub_raw_event(struct hid_device *hdev,
 	spin_lock_irqsave(&pdata->lock, flags);
 
 	for (i = 0; i < report->maxfield; ++i) {
-
 		hid_dbg(hdev, "%d collection_index:%x hid:%x sz:%x\n",
 				i, report->field[i]->usage->collection_index,
 				report->field[i]->usage->hid,
@@ -434,7 +433,7 @@ static int sensor_hub_raw_event(struct hid_device *hdev,
 			pdata->pending.raw_data = kmalloc(sz, GFP_ATOMIC);
 			if (pdata->pending.raw_data) {
 				memcpy(pdata->pending.raw_data, ptr, sz);
-				pdata->pending.raw_size  = sz;
+				pdata->pending.raw_size = sz;
 			} else
 				pdata->pending.raw_size = 0;
 			complete(&pdata->pending.ready);
@@ -539,7 +538,7 @@ static int sensor_hub_probe(struct hid_device *hdev,
 					field->physical) {
 			name = kasprintf(GFP_KERNEL, "HID-SENSOR-%x",
 						field->physical);
-			if (name  == NULL) {
+			if (name == NULL) {
 				hid_err(hdev, "Failed MFD device name\n");
 					ret = -ENOMEM;
 					goto err_free_names;
@@ -617,8 +616,8 @@ static struct hid_driver sensor_hub_driver = {
 	.raw_event = sensor_hub_raw_event,
 #ifdef CONFIG_PM
 	.suspend = sensor_hub_suspend,
-	.resume =  sensor_hub_resume,
-	.reset_resume =  sensor_hub_reset_resume,
+	.resume = sensor_hub_resume,
+	.reset_resume = sensor_hub_reset_resume,
 #endif
 };
 module_hid_driver(sensor_hub_driver);
Signature · 1 line
1.8.4.rc2
#2 lore raw

Re: [PATCH 2/4] hid-sensor-hub: fix indentation accross the code

Quoted 134 lines · Andy Shevchenko

Patch just rearranges lines to be more compact and/or readable. Additionally it converts double space to one in several places.

There is no functional change.

---
  drivers/hid/hid-sensor-hub.c | 31 +++++++++++++++----------------
  1 file changed, 15 insertions(+), 16 deletions(-)
drivers/hid/hid-sensor-hub.c +13 -14
index ffc80cf..d0687d0 100644
@@ -103,8 +103,7 @@ static int sensor_hub_get_physical_device_count(
 
  	list_for_each_entry(report, &report_enum->report_list, list) {
  		field = report->field[0];
-		if (report->maxfield && field &&
-					field->physical)
+		if (report->maxfield && field && field->physical)
  			cnt++;
  	}
 
@@ -192,12 +191,12 @@ int sensor_hub_set_feature(struct hid_sensor_hub_device *hsdev, u32 report_id,
  				u32 field_index, s32 value)
  {
  	struct hid_report *report;
-	struct sensor_hub_data *data =  hid_get_drvdata(hsdev->hdev);
+	struct sensor_hub_data *data = hid_get_drvdata(hsdev->hdev);
  	int ret = 0;
 
  	mutex_lock(&data->mutex);
  	report = sensor_hub_report(report_id, hsdev->hdev, HID_FEATURE_REPORT);
-	if (!report || (field_index >=  report->maxfield)) {
+	if (!report || (field_index >= report->maxfield)) {
  		ret = -EINVAL;
  		goto done_proc;
  	}
@@ -216,12 +215,12 @@ int sensor_hub_get_feature(struct hid_sensor_hub_device *hsdev, u32 report_id,
  				u32 field_index, s32 *value)
  {
  	struct hid_report *report;
-	struct sensor_hub_data *data =  hid_get_drvdata(hsdev->hdev);
+	struct sensor_hub_data *data = hid_get_drvdata(hsdev->hdev);
  	int ret = 0;
 
  	mutex_lock(&data->mutex);
  	report = sensor_hub_report(report_id, hsdev->hdev, HID_FEATURE_REPORT);
-	if (!report || (field_index >=  report->maxfield)) {
+	if (!report || (field_index >= report->maxfield)) {
  		ret = -EINVAL;
  		goto done_proc;
  	}
@@ -241,7 +240,7 @@ int sensor_hub_input_attr_get_raw_value(struct hid_sensor_hub_device *hsdev,
  					u32 usage_id,
  					u32 attr_usage_id, u32 report_id)
  {
-	struct sensor_hub_data *data =  hid_get_drvdata(hsdev->hdev);
+	struct sensor_hub_data *data = hid_get_drvdata(hsdev->hdev);
  	unsigned long flags;
  	struct hid_report *report;
  	int ret_val = 0;
@@ -302,7 +301,7 @@ int sensor_hub_input_get_attribute_info(struct hid_sensor_hub_device *hsdev,
 
  	/* Initialize with defaults */
  	info->usage_id = usage_id;
-	info->attrib_id =  attr_usage_id;
+	info->attrib_id = attr_usage_id;
  	info->report_id = -1;
  	info->index = -1;
  	info->units = -1;
@@ -333,7 +332,7 @@ int sensor_hub_input_get_attribute_info(struct hid_sensor_hub_device *hsdev,
  					if (field->usage[j].hid ==
  					attr_usage_id &&
  					field->usage[j].collection_index ==
-					collection_index)  {
+					collection_index) {
  						sensor_hub_fill_attr_info(info,
  							i, report->id,
  							field->unit,
@@ -357,7 +356,7 @@ EXPORT_SYMBOL_GPL(sensor_hub_input_get_attribute_info);
  #ifdef CONFIG_PM
  static int sensor_hub_suspend(struct hid_device *hdev, pm_message_t message)
  {
-	struct sensor_hub_data *pdata =  hid_get_drvdata(hdev);
+	struct sensor_hub_data *pdata = hid_get_drvdata(hdev);
  	struct hid_sensor_hub_callbacks_list *callback;
 
  	hid_dbg(hdev, " sensor_hub_suspend\n");
@@ -374,7 +373,7 @@ static int sensor_hub_suspend(struct hid_device *hdev, pm_message_t message)
 
  static int sensor_hub_resume(struct hid_device *hdev)
  {
-	struct sensor_hub_data *pdata =  hid_get_drvdata(hdev);
+	struct sensor_hub_data *pdata = hid_get_drvdata(hdev);
  	struct hid_sensor_hub_callbacks_list *callback;
 
  	hid_dbg(hdev, " sensor_hub_resume\n");
@@ -394,6 +393,7 @@ static int sensor_hub_reset_resume(struct hid_device *hdev)
  	return 0;
  }
  #endif
+
  /*
   * Handle raw report as sent by device
   */
@@ -421,7 +421,6 @@ static int sensor_hub_raw_event(struct hid_device *hdev,
  	spin_lock_irqsave(&pdata->lock, flags);
 
  	for (i = 0; i < report->maxfield; ++i) {
-
  		hid_dbg(hdev, "%d collection_index:%x hid:%x sz:%x\n",
  				i, report->field[i]->usage->collection_index,
  				report->field[i]->usage->hid,
@@ -434,7 +433,7 @@ static int sensor_hub_raw_event(struct hid_device *hdev,
  			pdata->pending.raw_data = kmalloc(sz, GFP_ATOMIC);
  			if (pdata->pending.raw_data) {
  				memcpy(pdata->pending.raw_data, ptr, sz);
-				pdata->pending.raw_size  = sz;
+				pdata->pending.raw_size = sz;
  			} else
  				pdata->pending.raw_size = 0;
  			complete(&pdata->pending.ready);
@@ -539,7 +538,7 @@ static int sensor_hub_probe(struct hid_device *hdev,
  					field->physical) {
  			name = kasprintf(GFP_KERNEL, "HID-SENSOR-%x",
  						field->physical);
-			if (name  == NULL) {
+			if (name == NULL) {
  				hid_err(hdev, "Failed MFD device name\n");
  					ret = -ENOMEM;
  					goto err_free_names;

drivers/hid/hid-sensor-hub.c static struct hid_driver sensor_hub_driver = { · line 623

Quoted 10 lines
drivers/hid/hid-sensor-hub.c +2 -2
@@ -617,8 +616,8 @@ static struct hid_driver sensor_hub_driver = {
  	.raw_event = sensor_hub_raw_event,
  #ifdef CONFIG_PM
  	.suspend = sensor_hub_suspend,
-	.resume =  sensor_hub_resume,
-	.reset_resume =  sensor_hub_reset_resume,
+	.resume = sensor_hub_resume,
+	.reset_resume = sensor_hub_reset_resume,
  #endif
  };
  module_hid_driver(sensor_hub_driver);

Agreed.

Thanks,
Srinivas

#3 lore raw

Re: [PATCH 2/4] hid-sensor-hub: fix indentation accross the code

Quoted 5 lines · Srinivas Pandruvada
Quoted 4 lines · Andy Shevchenko

Patch just rearranges lines to be more compact and/or readable. Additionally it converts double space to one in several places.

There is no functional change.

Jiri, anything about this patch and the rest of the series? It seems you applied only patch 1/4. Do you have comments?

Quoted 144 lines
Quoted 130 lines
---
  drivers/hid/hid-sensor-hub.c | 31 +++++++++++++++----------------
  1 file changed, 15 insertions(+), 16 deletions(-)
drivers/hid/hid-sensor-hub.c +13 -14
index ffc80cf..d0687d0 100644
@@ -103,8 +103,7 @@ static int sensor_hub_get_physical_device_count(
 
  	list_for_each_entry(report, &report_enum->report_list, list) {
  		field = report->field[0];
-		if (report->maxfield && field &&
-					field->physical)
+		if (report->maxfield && field && field->physical)
  			cnt++;
  	}
 
@@ -192,12 +191,12 @@ int sensor_hub_set_feature(struct hid_sensor_hub_device *hsdev, u32 report_id,
  				u32 field_index, s32 value)
  {
  	struct hid_report *report;
-	struct sensor_hub_data *data =  hid_get_drvdata(hsdev->hdev);
+	struct sensor_hub_data *data = hid_get_drvdata(hsdev->hdev);
  	int ret = 0;
 
  	mutex_lock(&data->mutex);
  	report = sensor_hub_report(report_id, hsdev->hdev, HID_FEATURE_REPORT);
-	if (!report || (field_index >=  report->maxfield)) {
+	if (!report || (field_index >= report->maxfield)) {
  		ret = -EINVAL;
  		goto done_proc;
  	}
@@ -216,12 +215,12 @@ int sensor_hub_get_feature(struct hid_sensor_hub_device *hsdev, u32 report_id,
  				u32 field_index, s32 *value)
  {
  	struct hid_report *report;
-	struct sensor_hub_data *data =  hid_get_drvdata(hsdev->hdev);
+	struct sensor_hub_data *data = hid_get_drvdata(hsdev->hdev);
  	int ret = 0;
 
  	mutex_lock(&data->mutex);
  	report = sensor_hub_report(report_id, hsdev->hdev, HID_FEATURE_REPORT);
-	if (!report || (field_index >=  report->maxfield)) {
+	if (!report || (field_index >= report->maxfield)) {
  		ret = -EINVAL;
  		goto done_proc;
  	}
@@ -241,7 +240,7 @@ int sensor_hub_input_attr_get_raw_value(struct hid_sensor_hub_device *hsdev,
  					u32 usage_id,
  					u32 attr_usage_id, u32 report_id)
  {
-	struct sensor_hub_data *data =  hid_get_drvdata(hsdev->hdev);
+	struct sensor_hub_data *data = hid_get_drvdata(hsdev->hdev);
  	unsigned long flags;
  	struct hid_report *report;
  	int ret_val = 0;
@@ -302,7 +301,7 @@ int sensor_hub_input_get_attribute_info(struct hid_sensor_hub_device *hsdev,
 
  	/* Initialize with defaults */
  	info->usage_id = usage_id;
-	info->attrib_id =  attr_usage_id;
+	info->attrib_id = attr_usage_id;
  	info->report_id = -1;
  	info->index = -1;
  	info->units = -1;
@@ -333,7 +332,7 @@ int sensor_hub_input_get_attribute_info(struct hid_sensor_hub_device *hsdev,
  					if (field->usage[j].hid ==
  					attr_usage_id &&
  					field->usage[j].collection_index ==
-					collection_index)  {
+					collection_index) {
  						sensor_hub_fill_attr_info(info,
  							i, report->id,
  							field->unit,
@@ -357,7 +356,7 @@ EXPORT_SYMBOL_GPL(sensor_hub_input_get_attribute_info);
  #ifdef CONFIG_PM
  static int sensor_hub_suspend(struct hid_device *hdev, pm_message_t message)
  {
-	struct sensor_hub_data *pdata =  hid_get_drvdata(hdev);
+	struct sensor_hub_data *pdata = hid_get_drvdata(hdev);
  	struct hid_sensor_hub_callbacks_list *callback;
 
  	hid_dbg(hdev, " sensor_hub_suspend\n");
@@ -374,7 +373,7 @@ static int sensor_hub_suspend(struct hid_device *hdev, pm_message_t message)
 
  static int sensor_hub_resume(struct hid_device *hdev)
  {
-	struct sensor_hub_data *pdata =  hid_get_drvdata(hdev);
+	struct sensor_hub_data *pdata = hid_get_drvdata(hdev);
  	struct hid_sensor_hub_callbacks_list *callback;
 
  	hid_dbg(hdev, " sensor_hub_resume\n");
@@ -394,6 +393,7 @@ static int sensor_hub_reset_resume(struct hid_device *hdev)
  	return 0;
  }
  #endif
+
  /*
   * Handle raw report as sent by device
   */
@@ -421,7 +421,6 @@ static int sensor_hub_raw_event(struct hid_device *hdev,
  	spin_lock_irqsave(&pdata->lock, flags);
 
  	for (i = 0; i < report->maxfield; ++i) {
-
  		hid_dbg(hdev, "%d collection_index:%x hid:%x sz:%x\n",
  				i, report->field[i]->usage->collection_index,
  				report->field[i]->usage->hid,
@@ -434,7 +433,7 @@ static int sensor_hub_raw_event(struct hid_device *hdev,
  			pdata->pending.raw_data = kmalloc(sz, GFP_ATOMIC);
  			if (pdata->pending.raw_data) {
  				memcpy(pdata->pending.raw_data, ptr, sz);
-				pdata->pending.raw_size  = sz;
+				pdata->pending.raw_size = sz;
  			} else
  				pdata->pending.raw_size = 0;
  			complete(&pdata->pending.ready);
@@ -539,7 +538,7 @@ static int sensor_hub_probe(struct hid_device *hdev,
  					field->physical) {
  			name = kasprintf(GFP_KERNEL, "HID-SENSOR-%x",
  						field->physical);
-			if (name  == NULL) {
+			if (name == NULL) {
  				hid_err(hdev, "Failed MFD device name\n");
  					ret = -ENOMEM;
  					goto err_free_names;

drivers/hid/hid-sensor-hub.c static struct hid_driver sensor_hub_driver = { · line 623

Quoted 10 lines
drivers/hid/hid-sensor-hub.c +2 -2
@@ -617,8 +616,8 @@ static struct hid_driver sensor_hub_driver = {
  	.raw_event = sensor_hub_raw_event,
  #ifdef CONFIG_PM
  	.suspend = sensor_hub_suspend,
-	.resume =  sensor_hub_resume,
-	.reset_resume =  sensor_hub_reset_resume,
+	.resume = sensor_hub_resume,
+	.reset_resume = sensor_hub_reset_resume,
  #endif
  };
  module_hid_driver(sensor_hub_driver);

Agreed.

Thanks,
Srinivas

Signature · 2 lines
Andy Shevchenko <[email protected]>
Intel Finland Oy
#4 lore raw

Re: [PATCH 2/4] hid-sensor-hub: fix indentation accross the code

Quoted 9 lines · Andy Shevchenko
Quoted 5 lines · Srinivas Pandruvada
Quoted 4 lines · Andy Shevchenko

Patch just rearranges lines to be more compact and/or readable. Additionally it converts double space to one in several places.

There is no functional change.

Jiri, anything about this patch and the rest of the series? It seems you applied only patch 1/4. Do you have comments?

The whole series is now applied.

Signature · 2 lines
Jiri Kosina
SUSE Labs
#5 lore raw

PATCH 3/4 hid-sensor-hub: move to devm_kzalloc

In reply to Andy Shevchenko

devm_kzalloc() will manage resources freeing and allows to make error path smaller and nicer.

---
 drivers/hid/hid-sensor-hub.c | 17 +++++------------
 1 file changed, 5 insertions(+), 12 deletions(-)
drivers/hid/hid-sensor-hub.c +5 -12
index d0687d0..4cb19df 100644
@@ -477,16 +477,15 @@ static int sensor_hub_probe(struct hid_device *hdev,
 	struct hid_field *field;
 	int dev_cnt;
 
-	sd = kzalloc(sizeof(struct sensor_hub_data), GFP_KERNEL);
+	sd = devm_kzalloc(&hdev->dev, sizeof(*sd), GFP_KERNEL);
 	if (!sd) {
 		hid_err(hdev, "cannot allocate Sensor data\n");
 		return -ENOMEM;
 	}
-	sd->hsdev = kzalloc(sizeof(struct hid_sensor_hub_device), GFP_KERNEL);
+	sd->hsdev = devm_kzalloc(&hdev->dev, sizeof(*sd->hsdev), GFP_KERNEL);
 	if (!sd->hsdev) {
 		hid_err(hdev, "cannot allocate hid_sensor_hub_device\n");
-		ret = -ENOMEM;
-		goto err_free_hub;
+		return -ENOMEM;
 	}
 	hid_set_drvdata(hdev, sd);
 	sd->hsdev->hdev = hdev;
@@ -498,14 +497,14 @@ static int sensor_hub_probe(struct hid_device *hdev,
 	ret = hid_parse(hdev);
 	if (ret) {
 		hid_err(hdev, "parse failed\n");
-		goto err_free;
+		return ret;
 	}
 	INIT_LIST_HEAD(&hdev->inputs);
 
 	ret = hid_hw_start(hdev, 0);
 	if (ret) {
 		hid_err(hdev, "hw start failed\n");
-		goto err_free;
+		return ret;
 	}
 	ret = hid_hw_open(hdev);
 	if (ret) {
@@ -570,10 +569,6 @@ err_close:
 	hid_hw_close(hdev);
 err_stop_hw:
 	hid_hw_stop(hdev);
-err_free:
-	kfree(sd->hsdev);
-err_free_hub:
-	kfree(sd);
 
 	return ret;
 }
@@ -597,8 +592,6 @@ static void sensor_hub_remove(struct hid_device *hdev)
 	kfree(data->hid_sensor_hub_client_devs);
 	hid_set_drvdata(hdev, NULL);
 	mutex_destroy(&data->mutex);
-	kfree(data->hsdev);
-	kfree(data);
 }
 
 static const struct hid_device_id sensor_hub_devices[] = {
Signature · 1 line
1.8.4.rc2
#6 lore raw

Re: [PATCH 3/4] hid-sensor-hub: move to devm_kzalloc

Quoted 61 lines · Andy Shevchenko

devm_kzalloc() will manage resources freeing and allows to make error path smaller and nicer.

---
  drivers/hid/hid-sensor-hub.c | 17 +++++------------
  1 file changed, 5 insertions(+), 12 deletions(-)
drivers/hid/hid-sensor-hub.c +5 -10
index d0687d0..4cb19df 100644
@@ -477,16 +477,15 @@ static int sensor_hub_probe(struct hid_device *hdev,
  	struct hid_field *field;
  	int dev_cnt;
 
-	sd = kzalloc(sizeof(struct sensor_hub_data), GFP_KERNEL);
+	sd = devm_kzalloc(&hdev->dev, sizeof(*sd), GFP_KERNEL);
  	if (!sd) {
  		hid_err(hdev, "cannot allocate Sensor data\n");
  		return -ENOMEM;
  	}
-	sd->hsdev = kzalloc(sizeof(struct hid_sensor_hub_device), GFP_KERNEL);
+	sd->hsdev = devm_kzalloc(&hdev->dev, sizeof(*sd->hsdev), GFP_KERNEL);
  	if (!sd->hsdev) {
  		hid_err(hdev, "cannot allocate hid_sensor_hub_device\n");
-		ret = -ENOMEM;
-		goto err_free_hub;
+		return -ENOMEM;
  	}
  	hid_set_drvdata(hdev, sd);
  	sd->hsdev->hdev = hdev;
@@ -498,14 +497,14 @@ static int sensor_hub_probe(struct hid_device *hdev,
  	ret = hid_parse(hdev);
  	if (ret) {
  		hid_err(hdev, "parse failed\n");
-		goto err_free;
+		return ret;
  	}
  	INIT_LIST_HEAD(&hdev->inputs);
 
  	ret = hid_hw_start(hdev, 0);
  	if (ret) {
  		hid_err(hdev, "hw start failed\n");
-		goto err_free;
+		return ret;
  	}
  	ret = hid_hw_open(hdev);
  	if (ret) {
@@ -570,10 +569,6 @@ err_close:
  	hid_hw_close(hdev);
  err_stop_hw:
  	hid_hw_stop(hdev);
-err_free:
-	kfree(sd->hsdev);
-err_free_hub:
-	kfree(sd);
 
  	return ret;
  }

drivers/hid/hid-sensor-hub.c static void sensor_hub_remove(struct hid_device *hdev) · line 597

Quoted 8 lines
drivers/hid/hid-sensor-hub.c +0 -2
@@ -597,8 +592,6 @@ static void sensor_hub_remove(struct hid_device *hdev)
  	kfree(data->hid_sensor_hub_client_devs);
  	hid_set_drvdata(hdev, NULL);
  	mutex_destroy(&data->mutex);
-	kfree(data->hsdev);
-	kfree(data);
  }
 
  static const struct hid_device_id sensor_hub_devices[] = {

Agreed.

Thanks,
Srinivas

#7 lore raw

PATCH 4/4 hid-sensor-hub: change kmalloc + memcpy by kmemdup

In reply to Andy Shevchenko

The patch substitutes kmemdup for kmalloc followed by memcpy.

---
 drivers/hid/hid-sensor-hub.c | 7 +++----
 1 file changed, 3 insertions(+), 4 deletions(-)
drivers/hid/hid-sensor-hub.c +3 -4
index 4cb19df..0794e9f 100644
@@ -430,11 +430,10 @@ static int sensor_hub_raw_event(struct hid_device *hdev,
 		if (pdata->pending.status && pdata->pending.attr_usage_id ==
 				report->field[i]->usage->hid) {
 			hid_dbg(hdev, "data was pending ...\n");
-			pdata->pending.raw_data = kmalloc(sz, GFP_ATOMIC);
-			if (pdata->pending.raw_data) {
-				memcpy(pdata->pending.raw_data, ptr, sz);
+			pdata->pending.raw_data = kmemdup(ptr, sz, GFP_ATOMIC);
+			if (pdata->pending.raw_data)
 				pdata->pending.raw_size = sz;
-			} else
+			else
 				pdata->pending.raw_size = 0;
 			complete(&pdata->pending.ready);
 		}
Signature · 1 line
1.8.4.rc2
#8 lore raw

Re: [PATCH 4/4] hid-sensor-hub: change kmalloc + memcpy by kmemdup

Quoted 16 lines · Andy Shevchenko

The patch substitutes kmemdup for kmalloc followed by memcpy.

---
  drivers/hid/hid-sensor-hub.c | 7 +++----
  1 file changed, 3 insertions(+), 4 deletions(-)
drivers/hid/hid-sensor-hub.c +0 -1
index 4cb19df..0794e9f 100644
@@ -430,11 +430,10 @@ static int sensor_hub_raw_event(struct hid_device *hdev,
  		if (pdata->pending.status && pdata->pending.attr_usage_id ==
  				report->field[i]->usage->hid) {
  			hid_dbg(hdev, "data was pending ...\n");
-			pdata->pending.raw_data = kmalloc(sz, GFP_ATOMIC);

drivers/hid/hid-sensor-hub.c static int sensor_hub_raw_event(struct hid_device *hdev, · line 439

Quoted 10 lines
drivers/hid/hid-sensor-hub.c +3 -3
-			if (pdata->pending.raw_data) {
-				memcpy(pdata->pending.raw_data, ptr, sz);
+			pdata->pending.raw_data = kmemdup(ptr, sz, GFP_ATOMIC);
+			if (pdata->pending.raw_data)
  				pdata->pending.raw_size = sz;
-			} else
+			else
  				pdata->pending.raw_size = 0;
  			complete(&pdata->pending.ready);
  		}

Agreed.

Thanks,
Srinivas

#9 lore raw
In reply to Andy Shevchenko
Quoted 6 lines · Andy Shevchenko

This patch fixes the style of the comments to be like following

	/* The commentary */

There is no functional change.

Jiri, Srinivas, any comments on this?

Quoted 45 lines
---
 drivers/hid/hid-sensor-hub.c   | 2 +-
 include/linux/hid-sensor-hub.h | 2 +-
 include/linux/hid-sensor-ids.h | 2 +-
 3 files changed, 3 insertions(+), 3 deletions(-)
drivers/hid/hid-sensor-hub.c +1 -1
index ca749810..ffc80cf 100644
@@ -416,7 +416,7 @@ static int sensor_hub_raw_event(struct hid_device *hdev,
 		return 1;
 
 	ptr = raw_data;
-	ptr++; /*Skip report id*/
+	ptr++; /* Skip report id */
 
 	spin_lock_irqsave(&pdata->lock, flags);
 
include/linux/hid-sensor-hub.h +1 -1
index ecefb73..32ba451 100644
@@ -172,7 +172,7 @@ struct hid_sensor_common {
 	struct hid_sensor_hub_attribute_info sensitivity;
 };
 
-/*Convert from hid unit expo to regular exponent*/
+/* Convert from hid unit expo to regular exponent */
 static inline int hid_sensor_convert_exponent(int unit_expo)
 {
 	if (unit_expo < 0x08)
include/linux/hid-sensor-ids.h +1 -1
index 6f24446..4f945d3 100644
@@ -37,7 +37,7 @@
 #define HID_USAGE_SENSOR_ANGL_VELOCITY_Y_AXIS			0x200458
 #define HID_USAGE_SENSOR_ANGL_VELOCITY_Z_AXIS			0x200459
 
-/*ORIENTATION: Compass 3D: (200083) */
+/* ORIENTATION: Compass 3D: (200083) */
 #define HID_USAGE_SENSOR_COMPASS_3D				0x200083
 #define HID_USAGE_SENSOR_ORIENT_MAGN_HEADING			0x200471
 #define HID_USAGE_SENSOR_ORIENT_MAGN_HEADING_X			0x200472
Signature · 2 lines
Andy Shevchenko <[email protected]>
Intel Finland Oy
#10 lore raw
Quoted 8 lines · Andy Shevchenko
Quoted 6 lines · Andy Shevchenko

This patch fixes the style of the comments to be like following

	/* The commentary */

There is no functional change.

Jiri, Srinivas, any comments on this?

Agreed.

Quoted 40 lines
Quoted 40 lines
---
  drivers/hid/hid-sensor-hub.c   | 2 +-
  include/linux/hid-sensor-hub.h | 2 +-
  include/linux/hid-sensor-ids.h | 2 +-
  3 files changed, 3 insertions(+), 3 deletions(-)
drivers/hid/hid-sensor-hub.c +1 -1
index ca749810..ffc80cf 100644
@@ -416,7 +416,7 @@ static int sensor_hub_raw_event(struct hid_device *hdev,
  		return 1;
 
  	ptr = raw_data;
-	ptr++; /*Skip report id*/
+	ptr++; /* Skip report id */
 
  	spin_lock_irqsave(&pdata->lock, flags);
 
include/linux/hid-sensor-hub.h +1 -1
index ecefb73..32ba451 100644
@@ -172,7 +172,7 @@ struct hid_sensor_common {
  	struct hid_sensor_hub_attribute_info sensitivity;
  };
 
-/*Convert from hid unit expo to regular exponent*/
+/* Convert from hid unit expo to regular exponent */
  static inline int hid_sensor_convert_exponent(int unit_expo)
  {
  	if (unit_expo < 0x08)
include/linux/hid-sensor-ids.h +0 -0
index 6f24446..4f945d3 100644
@@ -37,7 +37,7 @@
  #define HID_USAGE_SENSOR_ANGL_VELOCITY_Y_AXIS			0x200458
  #define HID_USAGE_SENSOR_ANGL_VELOCITY_Z_AXIS			0x200459
 
Quoted 5 lines

include/linux/hid-sensor-ids.h line 43

Quoted 5 lines
include/linux/hid-sensor-ids.h +1 -1
-/*ORIENTATION: Compass 3D: (200083) */
+/* ORIENTATION: Compass 3D: (200083) */
  #define HID_USAGE_SENSOR_COMPASS_3D				0x200083
  #define HID_USAGE_SENSOR_ORIENT_MAGN_HEADING			0x200471
  #define HID_USAGE_SENSOR_ORIENT_MAGN_HEADING_X			0x200472

Thanks,
Srinivas

Applied
#11 lore raw
In reply to Andy Shevchenko
Quoted 6 lines · Andy Shevchenko

This patch fixes the style of the comments to be like following

	/* The commentary */

There is no functional change.

Applied.

Quoted 48 lines
---
 drivers/hid/hid-sensor-hub.c   | 2 +-
 include/linux/hid-sensor-hub.h | 2 +-
 include/linux/hid-sensor-ids.h | 2 +-
 3 files changed, 3 insertions(+), 3 deletions(-)
drivers/hid/hid-sensor-hub.c +1 -1
index ca749810..ffc80cf 100644
@@ -416,7 +416,7 @@ static int sensor_hub_raw_event(struct hid_device *hdev,
 		return 1;
 
 	ptr = raw_data;
-	ptr++; /*Skip report id*/
+	ptr++; /* Skip report id */
 
 	spin_lock_irqsave(&pdata->lock, flags);
 
include/linux/hid-sensor-hub.h +1 -1
index ecefb73..32ba451 100644
@@ -172,7 +172,7 @@ struct hid_sensor_common {
 	struct hid_sensor_hub_attribute_info sensitivity;
 };
 
-/*Convert from hid unit expo to regular exponent*/
+/* Convert from hid unit expo to regular exponent */
 static inline int hid_sensor_convert_exponent(int unit_expo)
 {
 	if (unit_expo < 0x08)
include/linux/hid-sensor-ids.h +1 -1
index 6f24446..4f945d3 100644
@@ -37,7 +37,7 @@
 #define HID_USAGE_SENSOR_ANGL_VELOCITY_Y_AXIS			0x200458
 #define HID_USAGE_SENSOR_ANGL_VELOCITY_Z_AXIS			0x200459
 
-/*ORIENTATION: Compass 3D: (200083) */
+/* ORIENTATION: Compass 3D: (200083) */
 #define HID_USAGE_SENSOR_COMPASS_3D				0x200083
 #define HID_USAGE_SENSOR_ORIENT_MAGN_HEADING			0x200471
 #define HID_USAGE_SENSOR_ORIENT_MAGN_HEADING_X			0x200472
Signature · 1 line
1.8.4.rc2
Signature · 2 lines
Jiri Kosina
SUSE Labs