aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/thermal
diff options
context:
space:
mode:
authorNiklas Söderlund <niklas.soderlund+renesas@ragnatech.se>2017-03-29 20:43:53 +0200
committerEduardo Valentin <edubezval@gmail.com>2017-03-30 21:42:42 -0700
commit97dad1f1d2b3f2a2a77551849357b7ac38b0b6ff (patch)
tree5813468429ce345662f3be484856d8de1414dbfd /drivers/thermal
parentthermal: rcar_gen3_thermal: check that TSC exists before memory allocation (diff)
downloadlinux-dev-97dad1f1d2b3f2a2a77551849357b7ac38b0b6ff.tar.xz
linux-dev-97dad1f1d2b3f2a2a77551849357b7ac38b0b6ff.zip
thermal: rcar_gen3_thermal: record and check number of TSCs found
Record how many TSCs are found in struct rcar_gen3_thermal_priv, this is needed to be able to add hardware interrupts for trip points later. Also add a check to make sure at least one TSC is found. Signed-off-by: Niklas Söderlund <niklas.soderlund+renesas@ragnatech.se> Reviewed-by: Geert Uytterhoeven <geert+renesas@glider.be> Reviewed-by: Wolfram Sang <wsa+renesas@sang-engineering.com> Signed-off-by: Eduardo Valentin <edubezval@gmail.com>
Diffstat (limited to 'drivers/thermal')
-rw-r--r--drivers/thermal/rcar_gen3_thermal.c8
1 files changed, 8 insertions, 0 deletions
diff --git a/drivers/thermal/rcar_gen3_thermal.c b/drivers/thermal/rcar_gen3_thermal.c
index 9b6bc03dd142..4a08b35533dc 100644
--- a/drivers/thermal/rcar_gen3_thermal.c
+++ b/drivers/thermal/rcar_gen3_thermal.c
@@ -75,6 +75,7 @@ struct rcar_gen3_thermal_tsc {
struct rcar_gen3_thermal_priv {
struct rcar_gen3_thermal_tsc *tscs[TSC_MAX_NUM];
+ unsigned int num_tscs;
};
struct rcar_gen3_thermal_data {
@@ -307,6 +308,13 @@ static int rcar_gen3_thermal_probe(struct platform_device *pdev)
tsc->zone = zone;
}
+ priv->num_tscs = i;
+
+ if (!priv->num_tscs) {
+ ret = -ENODEV;
+ goto error_unregister;
+ }
+
return 0;
error_unregister: