Skip to content

Commit 7a0c7b9

Browse files
nsolanki22groeck
authored andcommitted
hwmon: (pmbus/core) Notify regulator events
Notify regulator events in PMBus irq handler. Signed-off-by: Naresh Solanki <Naresh.Solanki@9elements.com> Link: https://lore.kernel.org/r/20230328150335.90238-3-Naresh.Solanki@9elements.com Signed-off-by: Guenter Roeck <linux@roeck-us.net>
1 parent f74f06f commit 7a0c7b9

1 file changed

Lines changed: 23 additions & 1 deletion

File tree

drivers/hwmon/pmbus/pmbus_core.c

Lines changed: 23 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3159,11 +3159,29 @@ static int pmbus_regulator_register(struct pmbus_data *data)
31593159

31603160
return 0;
31613161
}
3162+
3163+
static int pmbus_regulator_notify(struct pmbus_data *data, int page, int event)
3164+
{
3165+
int j;
3166+
3167+
for (j = 0; j < data->info->num_regulators; j++) {
3168+
if (page == rdev_get_id(data->rdevs[j])) {
3169+
regulator_notifier_call_chain(data->rdevs[j], event, NULL);
3170+
break;
3171+
}
3172+
}
3173+
return 0;
3174+
}
31623175
#else
31633176
static int pmbus_regulator_register(struct pmbus_data *data)
31643177
{
31653178
return 0;
31663179
}
3180+
3181+
static int pmbus_regulator_notify(struct pmbus_data *data, int page, int event)
3182+
{
3183+
return 0;
3184+
}
31673185
#endif
31683186

31693187
static int pmbus_write_smbalert_mask(struct i2c_client *client, u8 page, u8 reg, u8 val)
@@ -3178,9 +3196,13 @@ static irqreturn_t pmbus_fault_handler(int irq, void *pdata)
31783196

31793197
int i, status, event;
31803198
mutex_lock(&data->update_lock);
3181-
for (i = 0; i < data->info->pages; i++)
3199+
for (i = 0; i < data->info->pages; i++) {
31823200
_pmbus_get_flags(data, i, &status, &event, true);
31833201

3202+
if (event)
3203+
pmbus_regulator_notify(data, i, event);
3204+
}
3205+
31843206
pmbus_clear_faults(client);
31853207
mutex_unlock(&data->update_lock);
31863208

0 commit comments

Comments
 (0)