> The device lm90 can be controlled by the vdd rail. > Adding the power control support to power on/off the vdd rail. > And make sure that power is enabled before accessing the device. > > Signed-off-by: Wei Ni <wni@xxxxxxxxxx> > --- > drivers/hwmon/lm90.c | 52 ++++++++++++++++++++++++++++++++++++++++++++++++++ [...] > + if (!data->lm90_reg) { > + data->lm90_reg = regulator_get(&client->dev, "vdd"); > + if (IS_ERR_OR_NULL(data->lm90_reg)) { > + if (PTR_ERR(data->lm90_reg) == -ENODEV) > + dev_info(&client->dev, > + "No regulator found for vdd. Assuming vdd is always powered."); > + else > + dev_warn(&client->dev, > + "Error [%ld] in getting the regulator handle for vdd.\n", > + PTR_ERR(data->lm90_reg)); > + data->lm90_reg = NULL; > + mutex_unlock(&data->update_lock); > + return -ENODEV; > + } > + } > + if (is_enable) { > + ret = regulator_enable(data->lm90_reg); > + msleep(POWER_ON_DELAY); Can this delay be handled directly from regulator? [...] --- ��.n��������+%������w��{.n�����{��נ���^n�r������&��z�ޗ�zf���h���~����������_��+v���)ߣ�