On Thu, Apr 16, 2015 at 02:38:19PM -0400, Vivien Didelot wrote: > A switch driver may only provide one of the temperature limit accessors, > or the temperature alarm getter. So register the hwmon subsystem if any > of the related functions is provided. > > Thus, check get_temp to set the visibility of temp1_input. > > Signed-off-by: Vivien Didelot <vivien.dide...@savoirfairelinux.com> > --- > net/dsa/dsa.c | 7 ++++++- > 1 file changed, 6 insertions(+), 1 deletion(-) > > diff --git a/net/dsa/dsa.c b/net/dsa/dsa.c > index 67d2983..6b68994 100644 > --- a/net/dsa/dsa.c > +++ b/net/dsa/dsa.c > @@ -157,6 +157,10 @@ static umode_t dsa_hwmon_attrs_visible(struct kobject > *kobj, > umode_t mode = 0; > > switch (index) { > + case 0: /* temp1_input */ > + if (drv->get_temp) > + mode |= S_IRUGO;
This should be mandatory. Sorry, I don't really understand what you are trying to accomplish here. Can you give me a real world example where a chip would support setting a limit but not reading it ? Thanks, Guenter > + break; > case 1: /* temp1_max */ > if (drv->get_temp_limit) > mode |= S_IRUGO; > @@ -310,7 +314,8 @@ static int dsa_switch_setup_one(struct dsa_switch *ds, > struct device *parent) > * register with hardware monitoring subsystem. > * Treat registration error as non-fatal and ignore it. > */ > - if (drv->get_temp) { > + if (drv->get_temp || drv->get_temp_limit || drv->set_temp_limit || > + drv->get_temp_alarm) { > const char *netname = netdev_name(dst->master_netdev); > char hname[IFNAMSIZ + 1]; > int i, j; > -- > 2.3.5 > -- To unsubscribe from this list: send the line "unsubscribe netdev" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html