[PATCH] automatic VRM detection part2

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



> One small comment:
> 
> > @@ -959,7 +956,7 @@
> > 
> >  	vid = asb100_read_value(client, ASB100_REG_VID_FANDIV) & 0x0f;
> >  	vid |= (asb100_read_value(client, ASB100_REG_CHIPID) & 0x01) << 4;
> > -	data->vrm = ASB100_DEFAULT_VRM;
> > +	data->vrm = i2c_which_vrm();
> >  	vid = vid_from_reg(vid, data->vrm);
> > 
> >  	/* Start monitoring */
> 
> Why not this instead?  E.g.
> 
> 	if (!(data->vrm = i2c_which_vrm()))
> 		data->vrm = ASB100_DEFAULT_VRM;
> 
> That way, non x86 or some x86 that isn't recognized might fall back
> and still get it right, or at least work the same as it used to.

Unsupported CPUs are rather unlikely to use VRM 9.0
(ASB100_DEFAULT_VRM), so in most cases it won't help. If we want to
default to something, we would certainly default to the same VRM version
for all drivers, and set this default version to the latest known
version (10.0 as of now). But even then the chances that it'll work out
of the box are slim.

So I think it makes more sense to clearly show that we do not support a
given CPU yet, so that:
1* People can report to us.
2* Userspace knows it shouldn't trust the (zero) VID value.

At any rate, if we decide we want to default to something in this case,
then let's default to the same VRM version for all drivers, being the
VRM we consider is the more likely to be correct for unknown (i.e.
recent) CPUs, and have the mechanism placed in i2c_which_vrm() itself
rather than ranging all over the various drivers.

But I like it the way Ruik proposed.

-- 
Jean "Khali" Delvare
http://khali.linux-fr.org/



[Index of Archives]     [Linux Kernel]     [Linux Hardware Monitoring]     [Linux USB Devel]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [Yosemite Backpacking]

  Powered by Linux