From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1754745AbcHSLfb (ORCPT ); Fri, 19 Aug 2016 07:35:31 -0400 Received: from mga11.intel.com ([192.55.52.93]:18473 "EHLO mga11.intel.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1750889AbcHSLf3 (ORCPT ); Fri, 19 Aug 2016 07:35:29 -0400 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.28,544,1464678000"; d="scan'208";a="158350569" Message-ID: <1471606524.2691.59.camel@intel.com> Subject: Re: [PATCH 2/2] thermal: rcar-thermal: enable hwmon when thermal_zone From: Zhang Rui To: Kuninori Morimoto , "edubezval@gmail.com" Cc: Geert Uytterhoeven , "linux-kernel@vger.kernel.org" , "linux-renesas-soc@vger.kernel.org" , "linux-pm@vger.kernel.org" , "yoshihiro.shimoda.uh@renesas.com" , "cm-hiep@jinso.co.jp" , hucBui Date: Fri, 19 Aug 2016 19:35:24 +0800 In-Reply-To: <871t2qlzr5.wl%kuninori.morimoto.gx@renesas.com> References: <874m7mlzto.wl%kuninori.morimoto.gx@renesas.com> <871t2qlzr5.wl%kuninori.morimoto.gx@renesas.com> Content-Type: text/plain; charset="UTF-8" X-Mailer: Evolution 3.18.5.2-0ubuntu3 Mime-Version: 1.0 Content-Transfer-Encoding: 8bit Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On 二, 2016-07-19 at 10:01 +0000, Kuninori Morimoto wrote: > From: Kuninori Morimoto > > rcar-thermal is supporting both thermal_zone_of_sensor_register() and > thermal_zone_device_register(). But thermal_zone_of_sensor_register() > doesn't enable hwmon as default. > This patch enables it to keep compatibility > > Signed-off-by: Kuninori Morimoto Queued for 4.9 thanks, rui > --- >  drivers/thermal/rcar_thermal.c | 20 ++++++++++++++++++-- >  1 file changed, 18 insertions(+), 2 deletions(-) > > diff --git a/drivers/thermal/rcar_thermal.c > b/drivers/thermal/rcar_thermal.c > index 71a3392..4d07644 100644 > --- a/drivers/thermal/rcar_thermal.c > +++ b/drivers/thermal/rcar_thermal.c > @@ -31,6 +31,8 @@ >  #include >  #include >   > +#include "thermal_hwmon.h" > + >  #define IDLE_INTERVAL 5000 >   >  #define COMMON_STR 0x00 > @@ -75,6 +77,8 @@ struct rcar_thermal_priv { >  #define rcar_priv_to_dev(priv) ((priv)->common->dev) >  #define rcar_has_irq_support(priv) ((priv)->common->base) >  #define rcar_id_to_shift(priv) ((priv)->id * 8) > +#define rcar_of_data(dev) ((unsigned > long)of_device_get_match_data(dev)) > +#define rcar_use_of_thermal(dev) (rcar_of_data(dev) == > USE_OF_THERMAL) >   >  #define USE_OF_THERMAL 1 >  static const struct of_device_id rcar_thermal_dt_ids[] = { > @@ -416,6 +420,8 @@ static int rcar_thermal_remove(struct > platform_device *pdev) >   rcar_thermal_for_each_priv(priv, common) { >   rcar_thermal_irq_disable(priv); >   thermal_zone_device_unregister(priv->zone); > + if (rcar_use_of_thermal(dev)) > + thermal_remove_hwmon_sysfs(priv->zone); >   } >   >   pm_runtime_put(dev); > @@ -430,7 +436,6 @@ static int rcar_thermal_probe(struct > platform_device *pdev) >   struct rcar_thermal_priv *priv; >   struct device *dev = &pdev->dev; >   struct resource *res, *irq; > - unsigned long of_data = (unsigned > long)of_device_get_match_data(dev); >   int mres = 0; >   int i; >   int ret = -ENODEV; > @@ -491,7 +496,7 @@ static int rcar_thermal_probe(struct > platform_device *pdev) >   if (ret < 0) >   goto error_unregister; >   > - if (of_data == USE_OF_THERMAL) > + if (rcar_use_of_thermal(dev)) >   priv->zone = > devm_thermal_zone_of_sensor_register( >   dev, i, priv, >   &rcar_thermal_zone_o > f_ops); > @@ -507,6 +512,17 @@ static int rcar_thermal_probe(struct > platform_device *pdev) >   goto error_unregister; >   } >   > + if (rcar_use_of_thermal(dev)) { > + /* > +  * thermal_zone doesn't enable hwmon as > default, > +  * but, enable it here to keep compatible > +  */ > + priv->zone->tzp->no_hwmon = false; > + ret = thermal_add_hwmon_sysfs(priv->zone); > + if (ret) > + goto error_unregister; > + } > + >   rcar_thermal_irq_enable(priv); >   >   list_move_tail(&priv->list, &common->head);