* [PATCH 1/2] HID: hid-sensor-hub: Remove hdev->claimed setting
@ 2012-09-19 15:30 Srinivas Pandruvada
2012-09-19 15:30 ` [PATCH 2/2] HID: hid-sensor-hub: Fix sensor_hub_probe error handling Srinivas Pandruvada
2012-09-22 9:35 ` [PATCH 1/2] HID: hid-sensor-hub: Remove hdev->claimed setting Jonathan Cameron
0 siblings, 2 replies; 4+ messages in thread
From: Srinivas Pandruvada @ 2012-09-19 15:30 UTC (permalink / raw)
To: jic23; +Cc: jkosina, linux-input, axel.lin
From: Axel Lin <[mailto:axel.lin@gmail.com]>
Current implementation of hid_hw_start() allows connect_mask to be 0.
Setting hdev->claimed = HID_CLAIMED_INPUT before calling hid_hw_start()
is not necessary. Remove it.
Signed-off-by: Axel Lin <axel.lin@gmail.com>
Acked-by: Jiri Kosina <jkosina@suse.cz>
Acked-by: Srinivas Pandruvada <srinivas.pandruvada@linux.intel.com>
---
drivers/hid/hid-sensor-hub.c | 2 --
1 file changed, 2 deletions(-)
diff --git a/drivers/hid/hid-sensor-hub.c b/drivers/hid/hid-sensor-hub.c
index 80033dc..ffa91cf 100644
--- a/drivers/hid/hid-sensor-hub.c
+++ b/drivers/hid/hid-sensor-hub.c
@@ -530,7 +530,6 @@ static int sensor_hub_probe(struct hid_device *hdev,
}
INIT_LIST_HEAD(&hdev->inputs);
- hdev->claimed = HID_CLAIMED_INPUT;
ret = hid_hw_start(hdev, 0);
if (ret) {
hid_err(hdev, "hw start failed\n");
@@ -618,7 +617,6 @@ static void sensor_hub_remove(struct hid_device *hdev)
int i;
hid_dbg(hdev, " hardware removed\n");
- hdev->claimed &= ~HID_CLAIMED_INPUT;
hid_hw_stop(hdev);
hid_hw_close(hdev);
spin_lock_irqsave(&data->lock, flags);
--
1.7.11.4
^ permalink raw reply related [flat|nested] 4+ messages in thread
* [PATCH 2/2] HID: hid-sensor-hub: Fix sensor_hub_probe error handling
2012-09-19 15:30 [PATCH 1/2] HID: hid-sensor-hub: Remove hdev->claimed setting Srinivas Pandruvada
@ 2012-09-19 15:30 ` Srinivas Pandruvada
2012-09-22 9:35 ` Jonathan Cameron
2012-09-22 9:35 ` [PATCH 1/2] HID: hid-sensor-hub: Remove hdev->claimed setting Jonathan Cameron
1 sibling, 1 reply; 4+ messages in thread
From: Srinivas Pandruvada @ 2012-09-19 15:30 UTC (permalink / raw)
To: jic23; +Cc: jkosina, linux-input, axel.lin
From: Axel Lin <[mailto:axel.lin@gmail.com]>
Fix below issues:
1. In the case of goto err_close, hid_hw_stop(hdev) is called twice. Fix it.
2. If fails to allocate MFD device name, we also need to free all
successfully allocated names in previous iterations.
3. In sensor_hub_remove(), Call hid_hw_close() before hid_hw_stop().
4. Adjust unnecessary change lines for hid_err.
Signed-off-by: Axel Lin <axel.lin@gmail.com>
Acked-by: Jiri Kosina <jkosina@suse.cz>
Acked-by: Srinivas Pandruvada <srinivas.pandruvada@linux.intel.com>
---
drivers/hid/hid-sensor-hub.c | 12 ++++--------
1 file changed, 4 insertions(+), 8 deletions(-)
diff --git a/drivers/hid/hid-sensor-hub.c b/drivers/hid/hid-sensor-hub.c
index ffa91cf..1314380 100644
--- a/drivers/hid/hid-sensor-hub.c
+++ b/drivers/hid/hid-sensor-hub.c
@@ -555,8 +555,7 @@ static int sensor_hub_probe(struct hid_device *hdev,
sizeof(struct mfd_cell),
GFP_KERNEL);
if (sd->hid_sensor_hub_client_devs == NULL) {
- hid_err(hdev,
- "Failed to allocate memory for mfd cells\n");
+ hid_err(hdev, "Failed to allocate memory for mfd cells\n");
ret = -ENOMEM;
goto err_close;
}
@@ -568,10 +567,9 @@ static int sensor_hub_probe(struct hid_device *hdev,
name = kasprintf(GFP_KERNEL, "HID-SENSOR-%x",
field->physical);
if (name == NULL) {
- hid_err(hdev,
- "Failed MFD device name\n");
+ hid_err(hdev, "Failed MFD device name\n");
ret = -ENOMEM;
- goto err_free_cells;
+ goto err_free_names;
}
sd->hid_sensor_hub_client_devs[
sd->hid_sensor_client_cnt].name = name;
@@ -595,10 +593,8 @@ static int sensor_hub_probe(struct hid_device *hdev,
err_free_names:
for (i = 0; i < sd->hid_sensor_client_cnt ; ++i)
kfree(sd->hid_sensor_hub_client_devs[i].name);
-err_free_cells:
kfree(sd->hid_sensor_hub_client_devs);
err_close:
- hid_hw_stop(hdev);
hid_hw_close(hdev);
err_stop_hw:
hid_hw_stop(hdev);
@@ -617,8 +613,8 @@ static void sensor_hub_remove(struct hid_device *hdev)
int i;
hid_dbg(hdev, " hardware removed\n");
- hid_hw_stop(hdev);
hid_hw_close(hdev);
+ hid_hw_stop(hdev);
spin_lock_irqsave(&data->lock, flags);
if (data->pending.status)
complete(&data->pending.ready);
--
1.7.11.4
^ permalink raw reply related [flat|nested] 4+ messages in thread
* Re: [PATCH 1/2] HID: hid-sensor-hub: Remove hdev->claimed setting
2012-09-19 15:30 [PATCH 1/2] HID: hid-sensor-hub: Remove hdev->claimed setting Srinivas Pandruvada
2012-09-19 15:30 ` [PATCH 2/2] HID: hid-sensor-hub: Fix sensor_hub_probe error handling Srinivas Pandruvada
@ 2012-09-22 9:35 ` Jonathan Cameron
1 sibling, 0 replies; 4+ messages in thread
From: Jonathan Cameron @ 2012-09-22 9:35 UTC (permalink / raw)
To: Srinivas Pandruvada; +Cc: jkosina, linux-input, Axel Lin
On 09/19/2012 04:30 PM, Srinivas Pandruvada wrote:
> From: Axel Lin <[mailto:axel.lin@gmail.com]>
>
> Current implementation of hid_hw_start() allows connect_mask to be 0.
> Setting hdev->claimed = HID_CLAIMED_INPUT before calling hid_hw_start()
> is not necessary. Remove it.
>
> Signed-off-by: Axel Lin <axel.lin@gmail.com>
> Acked-by: Jiri Kosina <jkosina@suse.cz>
> Acked-by: Srinivas Pandruvada <srinivas.pandruvada@linux.intel.com>
added to togreg branch of
git://git.kernel.org/pub/scm/linux/kernel/git/jic23/iio.git
> ---
> drivers/hid/hid-sensor-hub.c | 2 --
> 1 file changed, 2 deletions(-)
>
> diff --git a/drivers/hid/hid-sensor-hub.c b/drivers/hid/hid-sensor-hub.c
> index 80033dc..ffa91cf 100644
> --- a/drivers/hid/hid-sensor-hub.c
> +++ b/drivers/hid/hid-sensor-hub.c
> @@ -530,7 +530,6 @@ static int sensor_hub_probe(struct hid_device *hdev,
> }
> INIT_LIST_HEAD(&hdev->inputs);
>
> - hdev->claimed = HID_CLAIMED_INPUT;
> ret = hid_hw_start(hdev, 0);
> if (ret) {
> hid_err(hdev, "hw start failed\n");
> @@ -618,7 +617,6 @@ static void sensor_hub_remove(struct hid_device *hdev)
> int i;
>
> hid_dbg(hdev, " hardware removed\n");
> - hdev->claimed &= ~HID_CLAIMED_INPUT;
> hid_hw_stop(hdev);
> hid_hw_close(hdev);
> spin_lock_irqsave(&data->lock, flags);
>
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [PATCH 2/2] HID: hid-sensor-hub: Fix sensor_hub_probe error handling
2012-09-19 15:30 ` [PATCH 2/2] HID: hid-sensor-hub: Fix sensor_hub_probe error handling Srinivas Pandruvada
@ 2012-09-22 9:35 ` Jonathan Cameron
0 siblings, 0 replies; 4+ messages in thread
From: Jonathan Cameron @ 2012-09-22 9:35 UTC (permalink / raw)
To: Srinivas Pandruvada; +Cc: jkosina, linux-input, Axel Lin
On 09/19/2012 04:30 PM, Srinivas Pandruvada wrote:
> From: Axel Lin <[mailto:axel.lin@gmail.com]>
>
> Fix below issues:
> 1. In the case of goto err_close, hid_hw_stop(hdev) is called twice. Fix it.
> 2. If fails to allocate MFD device name, we also need to free all
> successfully allocated names in previous iterations.
> 3. In sensor_hub_remove(), Call hid_hw_close() before hid_hw_stop().
> 4. Adjust unnecessary change lines for hid_err.
>
> Signed-off-by: Axel Lin <axel.lin@gmail.com>
> Acked-by: Jiri Kosina <jkosina@suse.cz>
> Acked-by: Srinivas Pandruvada <srinivas.pandruvada@linux.intel.com>
added to togreg branch of
git://git.kernel.org/pub/scm/linux/kernel/git/jic23/iio.git
> ---
> drivers/hid/hid-sensor-hub.c | 12 ++++--------
> 1 file changed, 4 insertions(+), 8 deletions(-)
>
> diff --git a/drivers/hid/hid-sensor-hub.c b/drivers/hid/hid-sensor-hub.c
> index ffa91cf..1314380 100644
> --- a/drivers/hid/hid-sensor-hub.c
> +++ b/drivers/hid/hid-sensor-hub.c
> @@ -555,8 +555,7 @@ static int sensor_hub_probe(struct hid_device *hdev,
> sizeof(struct mfd_cell),
> GFP_KERNEL);
> if (sd->hid_sensor_hub_client_devs == NULL) {
> - hid_err(hdev,
> - "Failed to allocate memory for mfd cells\n");
> + hid_err(hdev, "Failed to allocate memory for mfd cells\n");
> ret = -ENOMEM;
> goto err_close;
> }
> @@ -568,10 +567,9 @@ static int sensor_hub_probe(struct hid_device *hdev,
> name = kasprintf(GFP_KERNEL, "HID-SENSOR-%x",
> field->physical);
> if (name == NULL) {
> - hid_err(hdev,
> - "Failed MFD device name\n");
> + hid_err(hdev, "Failed MFD device name\n");
> ret = -ENOMEM;
> - goto err_free_cells;
> + goto err_free_names;
> }
> sd->hid_sensor_hub_client_devs[
> sd->hid_sensor_client_cnt].name = name;
> @@ -595,10 +593,8 @@ static int sensor_hub_probe(struct hid_device *hdev,
> err_free_names:
> for (i = 0; i < sd->hid_sensor_client_cnt ; ++i)
> kfree(sd->hid_sensor_hub_client_devs[i].name);
> -err_free_cells:
> kfree(sd->hid_sensor_hub_client_devs);
> err_close:
> - hid_hw_stop(hdev);
> hid_hw_close(hdev);
> err_stop_hw:
> hid_hw_stop(hdev);
> @@ -617,8 +613,8 @@ static void sensor_hub_remove(struct hid_device *hdev)
> int i;
>
> hid_dbg(hdev, " hardware removed\n");
> - hid_hw_stop(hdev);
> hid_hw_close(hdev);
> + hid_hw_stop(hdev);
> spin_lock_irqsave(&data->lock, flags);
> if (data->pending.status)
> complete(&data->pending.ready);
>
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2012-09-22 9:35 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2012-09-19 15:30 [PATCH 1/2] HID: hid-sensor-hub: Remove hdev->claimed setting Srinivas Pandruvada
2012-09-19 15:30 ` [PATCH 2/2] HID: hid-sensor-hub: Fix sensor_hub_probe error handling Srinivas Pandruvada
2012-09-22 9:35 ` Jonathan Cameron
2012-09-22 9:35 ` [PATCH 1/2] HID: hid-sensor-hub: Remove hdev->claimed setting Jonathan Cameron
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.