input: convert sun4i-ts to use devm_thermal_zone_of_sensor_register
authorEduardo Valentin <edubezval@gmail.com>
Wed, 9 Mar 2016 21:05:42 +0000 (13:05 -0800)
committerEduardo Valentin <edubezval@gmail.com>
Tue, 17 May 2016 14:28:26 +0000 (07:28 -0700)
This changes the driver to use the devm_ version
of thermal_zone_of_sensor_register and cleans
up the  local points and unregister calls.

Cc: Dmitry Torokhov <dmitry.torokhov@gmail.com>
Cc: Maxime Ripard <maxime.ripard@free-electrons.com>
Cc: Chen-Yu Tsai <wens@csie.org>
Cc: Hans de Goede <hdegoede@redhat.com>
Cc: Zhang Rui <rui.zhang@intel.com>
Cc: Lukasz Majewski <l.majewski@samsung.com>
Cc: Heiko Stuebner <heiko@sntech.de>
Cc: Sascha Hauer <s.hauer@pengutronix.de>
Cc: Jens Thiele <karme@karme.de>
Cc: linux-input@vger.kernel.org
Cc: linux-arm-kernel@lists.infradead.org
Cc: linux-kernel@vger.kernel.org
Acked-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
Acked-by: Hans de Goede <hdegoede@redhat.com>
Signed-off-by: Eduardo Valentin <edubezval@gmail.com>
drivers/input/touchscreen/sun4i-ts.c

index 4857943..d07dd29 100644 (file)
 struct sun4i_ts_data {
        struct device *dev;
        struct input_dev *input;
-       struct thermal_zone_device *tz;
        void __iomem *base;
        unsigned int irq;
        bool ignore_fifo_data;
@@ -366,10 +365,7 @@ static int sun4i_ts_probe(struct platform_device *pdev)
        if (IS_ERR(hwmon))
                return PTR_ERR(hwmon);
 
-       ts->tz = thermal_zone_of_sensor_register(ts->dev, 0, ts,
-                                                &sun4i_ts_tz_ops);
-       if (IS_ERR(ts->tz))
-               ts->tz = NULL;
+       devm_thermal_zone_of_sensor_register(ts->dev, 0, ts, &sun4i_ts_tz_ops);
 
        writel(TEMP_IRQ_EN(1), ts->base + TP_INT_FIFOC);
 
@@ -377,7 +373,6 @@ static int sun4i_ts_probe(struct platform_device *pdev)
                error = input_register_device(ts->input);
                if (error) {
                        writel(0, ts->base + TP_INT_FIFOC);
-                       thermal_zone_of_sensor_unregister(ts->dev, ts->tz);
                        return error;
                }
        }
@@ -394,8 +389,6 @@ static int sun4i_ts_remove(struct platform_device *pdev)
        if (ts->input)
                input_unregister_device(ts->input);
 
-       thermal_zone_of_sensor_unregister(ts->dev, ts->tz);
-
        /* Deactivate all IRQs */
        writel(0, ts->base + TP_INT_FIFOC);