On Wed, 2013-09-18 at 16:57 -0400, Eduardo Valentin wrote:
This patch introduces a device tree bindings for
describing the hardware thermal behavior and limits.
Also a parser to read and interpret the data and feed
it in the thermal framework is presented.
[]
+int __init of_parse_thermal_zones(void)
+{
+ struct device_node *np, *child;
+ struct __thermal_zone *tz;
+ struct thermal_zone_device_ops *ops;
[]
+ if (!ops)
+ return -ENOMEM;
+
+ tzp = kzalloc(sizeof(*tzp), GFP_KERNEL);
+ if (!tzp)
+ return -ENOMEM;
leaking memory when ops && !tpz
+
+ /* No hwmon because there might be hwmon drivers registering */
+ tzp->no_hwmon = true;
+
+ zone = thermal_zone_device_register(child->name, tz->ntrips,
+ 0, tz,
+ ops, tzp,
+ tz->passive_delay,
+ tz->polling_delay);
+ if (IS_ERR(zone))
+ pr_err("Failed to build %s zone %ld\n", child->name,
+ PTR_ERR(zone));
+ }
Still leaking memory if !zone no?
+
+ return 0;
+}