Hi,
I'm working on a new board and one feature it as is a plug-in module
with an ADS7830 voltage monitor on it. This will be used during
manufacturing to sanity check that various voltage rails are within
expected ranges.
I have a dts entry for the device as below (with some omissions for the
sake of clarity)
soc {
internal-regs {
i2c@11000 {
ads7830@48 {
compatible = "ads7830";
reg = <0x48>;
};
};
};
};
The problem is that when the manufacturing card is not installed the
device still shows up in /sys/class/hwmon/hwmon0/ and
/sys/bus/i2c/devices/0-0048/ despite it not actually being present. If I
was using an old style initialization I could use
i2c_new_probed_device() which I think would stop the drivers probe()
function from being called
Looking at the ads7828_probe() function it doesn't actually do anything
with the i2c device before calling hwmon_device_register(). Some hwmon
drivers like lm73_probe() do attempt to read from the device and bail if
the read fails. I can probably fix my problem by doing something similar
in the ads7828_probe(), but there are other drivers that have a similar
probe function.
Is there a better way of getting the devicetree machinery to avoid the
call to the driver probe function in the first place?
Thanks,
ChrisN�����r��y����b�X��ǧv�^�){.n�+���z��z��z)����w*jg��������ݢj/���z�ޖ��2�ޙ����&�)ߡ�a�����G���h��j:+v���w��٥