Re: [PATCH 4/4] HID: lenovo-tpkbd: Remove unnecessary casts of void pointers

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Thu, 13 Sep 2012, Axel Lin wrote:

> container_of() never returns NULL, thus also remove the NULL checking for it.
> 
> Signed-off-by: Axel Lin <axel.lin@xxxxxxxxx>

Makes sense, applied, thanks.

> ---
>  drivers/hid/hid-lenovo-tpkbd.c |  147 +++++++++-------------------------------
>  1 file changed, 33 insertions(+), 114 deletions(-)
> 
> diff --git a/drivers/hid/hid-lenovo-tpkbd.c b/drivers/hid/hid-lenovo-tpkbd.c
> index 60c4e1e..cea016e 100644
> --- a/drivers/hid/hid-lenovo-tpkbd.c
> +++ b/drivers/hid/hid-lenovo-tpkbd.c
> @@ -56,9 +56,8 @@ static int tpkbd_input_mapping(struct hid_device *hdev,
>  static int tpkbd_features_set(struct hid_device *hdev)
>  {
>  	struct hid_report *report;
> -	struct tpkbd_data_pointer *data_pointer;
> +	struct tpkbd_data_pointer *data_pointer = hid_get_drvdata(hdev);
>  
> -	data_pointer = (struct tpkbd_data_pointer *) hid_get_drvdata(hdev);
>  	report = hdev->report_enum[HID_FEATURE_REPORT].report_id_hash[4];
>  
>  	report->field[0]->value[0]  = data_pointer->press_to_select   ? 0x01 : 0x02;
> @@ -77,14 +76,8 @@ static ssize_t pointer_press_to_select_show(struct device *dev,
>  		struct device_attribute *attr,
>  		char *buf)
>  {
> -	struct hid_device *hdev;
> -	struct tpkbd_data_pointer *data_pointer;
> -
> -	hdev = container_of(dev, struct hid_device, dev);
> -	if (hdev == NULL)
> -		return -ENODEV;
> -
> -	data_pointer = (struct tpkbd_data_pointer *) hid_get_drvdata(hdev);
> +	struct hid_device *hdev = container_of(dev, struct hid_device, dev);
> +	struct tpkbd_data_pointer *data_pointer = hid_get_drvdata(hdev);
>  
>  	return snprintf(buf, PAGE_SIZE, "%u\n", data_pointer->press_to_select);
>  }
> @@ -94,16 +87,10 @@ static ssize_t pointer_press_to_select_store(struct device *dev,
>  		const char *buf,
>  		size_t count)
>  {
> -	struct hid_device *hdev;
> -	struct tpkbd_data_pointer *data_pointer;
> +	struct hid_device *hdev = container_of(dev, struct hid_device, dev);
> +	struct tpkbd_data_pointer *data_pointer = hid_get_drvdata(hdev);
>  	int value;
>  
> -	hdev = container_of(dev, struct hid_device, dev);
> -	if (hdev == NULL)
> -		return -ENODEV;
> -
> -	data_pointer = (struct tpkbd_data_pointer *) hid_get_drvdata(hdev);
> -
>  	if (kstrtoint(buf, 10, &value))
>  		return -EINVAL;
>  	if (value < 0 || value > 1)
> @@ -119,14 +106,8 @@ static ssize_t pointer_dragging_show(struct device *dev,
>  		struct device_attribute *attr,
>  		char *buf)
>  {
> -	struct hid_device *hdev;
> -	struct tpkbd_data_pointer *data_pointer;
> -
> -	hdev = container_of(dev, struct hid_device, dev);
> -	if (hdev == NULL)
> -		return -ENODEV;
> -
> -	data_pointer = (struct tpkbd_data_pointer *) hid_get_drvdata(hdev);
> +	struct hid_device *hdev = container_of(dev, struct hid_device, dev);
> +	struct tpkbd_data_pointer *data_pointer = hid_get_drvdata(hdev);
>  
>  	return snprintf(buf, PAGE_SIZE, "%u\n", data_pointer->dragging);
>  }
> @@ -136,16 +117,10 @@ static ssize_t pointer_dragging_store(struct device *dev,
>  		const char *buf,
>  		size_t count)
>  {
> -	struct hid_device *hdev;
> -	struct tpkbd_data_pointer *data_pointer;
> +	struct hid_device *hdev = container_of(dev, struct hid_device, dev);
> +	struct tpkbd_data_pointer *data_pointer = hid_get_drvdata(hdev);
>  	int value;
>  
> -	hdev = container_of(dev, struct hid_device, dev);
> -	if (hdev == NULL)
> -		return -ENODEV;
> -
> -	data_pointer = (struct tpkbd_data_pointer *) hid_get_drvdata(hdev);
> -
>  	if (kstrtoint(buf, 10, &value))
>  		return -EINVAL;
>  	if (value < 0 || value > 1)
> @@ -161,14 +136,8 @@ static ssize_t pointer_release_to_select_show(struct device *dev,
>  		struct device_attribute *attr,
>  		char *buf)
>  {
> -	struct hid_device *hdev;
> -	struct tpkbd_data_pointer *data_pointer;
> -
> -	hdev = container_of(dev, struct hid_device, dev);
> -	if (hdev == NULL)
> -		return -ENODEV;
> -
> -	data_pointer = (struct tpkbd_data_pointer *) hid_get_drvdata(hdev);
> +	struct hid_device *hdev = container_of(dev, struct hid_device, dev);
> +	struct tpkbd_data_pointer *data_pointer = hid_get_drvdata(hdev);
>  
>  	return snprintf(buf, PAGE_SIZE, "%u\n", data_pointer->release_to_select);
>  }
> @@ -178,16 +147,10 @@ static ssize_t pointer_release_to_select_store(struct device *dev,
>  		const char *buf,
>  		size_t count)
>  {
> -	struct hid_device *hdev;
> -	struct tpkbd_data_pointer *data_pointer;
> +	struct hid_device *hdev = container_of(dev, struct hid_device, dev);
> +	struct tpkbd_data_pointer *data_pointer = hid_get_drvdata(hdev);
>  	int value;
>  
> -	hdev = container_of(dev, struct hid_device, dev);
> -	if (hdev == NULL)
> -		return -ENODEV;
> -
> -	data_pointer = (struct tpkbd_data_pointer *) hid_get_drvdata(hdev);
> -
>  	if (kstrtoint(buf, 10, &value))
>  		return -EINVAL;
>  	if (value < 0 || value > 1)
> @@ -203,14 +166,8 @@ static ssize_t pointer_select_right_show(struct device *dev,
>  		struct device_attribute *attr,
>  		char *buf)
>  {
> -	struct hid_device *hdev;
> -	struct tpkbd_data_pointer *data_pointer;
> -
> -	hdev = container_of(dev, struct hid_device, dev);
> -	if (hdev == NULL)
> -		return -ENODEV;
> -
> -	data_pointer = (struct tpkbd_data_pointer *) hid_get_drvdata(hdev);
> +	struct hid_device *hdev = container_of(dev, struct hid_device, dev);
> +	struct tpkbd_data_pointer *data_pointer = hid_get_drvdata(hdev);
>  
>  	return snprintf(buf, PAGE_SIZE, "%u\n", data_pointer->select_right);
>  }
> @@ -220,16 +177,10 @@ static ssize_t pointer_select_right_store(struct device *dev,
>  		const char *buf,
>  		size_t count)
>  {
> -	struct hid_device *hdev;
> -	struct tpkbd_data_pointer *data_pointer;
> +	struct hid_device *hdev = container_of(dev, struct hid_device, dev);
> +	struct tpkbd_data_pointer *data_pointer = hid_get_drvdata(hdev);
>  	int value;
>  
> -	hdev = container_of(dev, struct hid_device, dev);
> -	if (hdev == NULL)
> -		return -ENODEV;
> -
> -	data_pointer = (struct tpkbd_data_pointer *) hid_get_drvdata(hdev);
> -
>  	if (kstrtoint(buf, 10, &value))
>  		return -EINVAL;
>  	if (value < 0 || value > 1)
> @@ -245,14 +196,8 @@ static ssize_t pointer_sensitivity_show(struct device *dev,
>  		struct device_attribute *attr,
>  		char *buf)
>  {
> -	struct hid_device *hdev;
> -	struct tpkbd_data_pointer *data_pointer;
> -
> -	hdev = container_of(dev, struct hid_device, dev);
> -	if (hdev == NULL)
> -		return -ENODEV;
> -
> -	data_pointer = (struct tpkbd_data_pointer *) hid_get_drvdata(hdev);
> +	struct hid_device *hdev = container_of(dev, struct hid_device, dev);
> +	struct tpkbd_data_pointer *data_pointer = hid_get_drvdata(hdev);
>  
>  	return snprintf(buf, PAGE_SIZE, "%u\n",
>  		data_pointer->sensitivity);
> @@ -263,16 +208,10 @@ static ssize_t pointer_sensitivity_store(struct device *dev,
>  		const char *buf,
>  		size_t count)
>  {
> -	struct hid_device *hdev;
> -	struct tpkbd_data_pointer *data_pointer;
> +	struct hid_device *hdev = container_of(dev, struct hid_device, dev);
> +	struct tpkbd_data_pointer *data_pointer = hid_get_drvdata(hdev);
>  	int value;
>  
> -	hdev = container_of(dev, struct hid_device, dev);
> -	if (hdev == NULL)
> -		return -ENODEV;
> -
> -	data_pointer = (struct tpkbd_data_pointer *) hid_get_drvdata(hdev);
> -
>  	if (kstrtoint(buf, 10, &value) || value < 1 || value > 255)
>  		return -EINVAL;
>  
> @@ -286,14 +225,10 @@ static ssize_t pointer_press_speed_show(struct device *dev,
>  		struct device_attribute *attr,
>  		char *buf)
>  {
> -	struct hid_device *hdev;
> -	struct tpkbd_data_pointer *data_pointer;
> +	struct hid_device *hdev = container_of(dev, struct hid_device, dev);
> +	struct tpkbd_data_pointer *data_pointer = hid_get_drvdata(hdev);
>  
> -	hdev = container_of(dev, struct hid_device, dev);
> -	if (hdev == NULL)
> -		return -ENODEV;
> -
> -	data_pointer = (struct tpkbd_data_pointer *) hid_get_drvdata(hdev);
> +	data_pointer = hid_get_drvdata(hdev);
>  
>  	return snprintf(buf, PAGE_SIZE, "%u\n",
>  		data_pointer->press_speed);
> @@ -304,16 +239,10 @@ static ssize_t pointer_press_speed_store(struct device *dev,
>  		const char *buf,
>  		size_t count)
>  {
> -	struct hid_device *hdev;
> -	struct tpkbd_data_pointer *data_pointer;
> +	struct hid_device *hdev = container_of(dev, struct hid_device, dev);
> +	struct tpkbd_data_pointer *data_pointer = hid_get_drvdata(hdev);
>  	int value;
>  
> -	hdev = container_of(dev, struct hid_device, dev);
> -	if (hdev == NULL)
> -		return -ENODEV;
> -
> -	data_pointer = (struct tpkbd_data_pointer *) hid_get_drvdata(hdev);
> -
>  	if (kstrtoint(buf, 10, &value) || value < 1 || value > 255)
>  		return -EINVAL;
>  
> @@ -370,15 +299,11 @@ static const struct attribute_group tpkbd_attr_group_pointer = {
>  static enum led_brightness tpkbd_led_brightness_get(
>  			struct led_classdev *led_cdev)
>  {
> -	struct device *dev;
> -	struct hid_device *hdev;
> -	struct tpkbd_data_pointer *data_pointer;
> +	struct device *dev = led_cdev->dev->parent;
> +	struct hid_device *hdev = container_of(dev, struct hid_device, dev);
> +	struct tpkbd_data_pointer *data_pointer = hid_get_drvdata(hdev);
>  	int led_nr = 0;
>  
> -	dev = led_cdev->dev->parent;
> -	hdev = container_of(dev, struct hid_device, dev);
> -	data_pointer = (struct tpkbd_data_pointer *) hid_get_drvdata(hdev);
> -
>  	if (led_cdev == &data_pointer->led_micmute)
>  		led_nr = 1;
>  
> @@ -390,16 +315,12 @@ static enum led_brightness tpkbd_led_brightness_get(
>  static void tpkbd_led_brightness_set(struct led_classdev *led_cdev,
>  			enum led_brightness value)
>  {
> -	struct device *dev;
> -	struct hid_device *hdev;
> +	struct device *dev = led_cdev->dev->parent;
> +	struct hid_device *hdev = container_of(dev, struct hid_device, dev);
> +	struct tpkbd_data_pointer *data_pointer = hid_get_drvdata(hdev);
>  	struct hid_report *report;
> -	struct tpkbd_data_pointer *data_pointer;
>  	int led_nr = 0;
>  
> -	dev = led_cdev->dev->parent;
> -	hdev = container_of(dev, struct hid_device, dev);
> -	data_pointer = (struct tpkbd_data_pointer *) hid_get_drvdata(hdev);
> -
>  	if (led_cdev == &data_pointer->led_micmute)
>  		led_nr = 1;
>  
> @@ -508,13 +429,11 @@ err_free:
>  
>  static void tpkbd_remove_tp(struct hid_device *hdev)
>  {
> -	struct tpkbd_data_pointer *data_pointer;
> +	struct tpkbd_data_pointer *data_pointer = hid_get_drvdata(hdev);
>  
>  	sysfs_remove_group(&hdev->dev.kobj,
>  			&tpkbd_attr_group_pointer);
>  
> -	data_pointer = (struct tpkbd_data_pointer *) hid_get_drvdata(hdev);
> -
>  	led_classdev_unregister(&data_pointer->led_micmute);
>  	led_classdev_unregister(&data_pointer->led_mute);
>  
> -- 
> 1.7.9.5
> 
> 
> 

-- 
Jiri Kosina
SUSE Labs
--
To unsubscribe from this list: send the line "unsubscribe linux-input" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Index of Archives]     [Linux Media Devel]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Linux Wireless Networking]     [Linux Omap]

  Powered by Linux