Input: sun4i-ts - add a check for devm_thermal_zone_of_sensor_register
authorChuhong Yuan <hslester96@gmail.com>
Fri, 10 Jan 2020 18:30:04 +0000 (10:30 -0800)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 29 Jan 2020 09:24:39 +0000 (10:24 +0100)
commit 97e24b095348a15ec08c476423c3b3b939186ad7 upstream.

The driver misses a check for devm_thermal_zone_of_sensor_register().
Add a check to fix it.

Fixes: e28d0c9cd381 ("input: convert sun4i-ts to use devm_thermal_zone_of_sensor_register")
Signed-off-by: Chuhong Yuan <hslester96@gmail.com>
Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/input/touchscreen/sun4i-ts.c

index d07dd29..9a94d65 100644 (file)
@@ -246,6 +246,7 @@ static int sun4i_ts_probe(struct platform_device *pdev)
        struct device *dev = &pdev->dev;
        struct device_node *np = dev->of_node;
        struct device *hwmon;
+       struct thermal_zone_device *thermal;
        int error;
        u32 reg;
        bool ts_attached;
@@ -365,7 +366,10 @@ static int sun4i_ts_probe(struct platform_device *pdev)
        if (IS_ERR(hwmon))
                return PTR_ERR(hwmon);
 
-       devm_thermal_zone_of_sensor_register(ts->dev, 0, ts, &sun4i_ts_tz_ops);
+       thermal = devm_thermal_zone_of_sensor_register(ts->dev, 0, ts,
+                                                      &sun4i_ts_tz_ops);
+       if (IS_ERR(thermal))
+               return PTR_ERR(thermal);
 
        writel(TEMP_IRQ_EN(1), ts->base + TP_INT_FIFOC);