On 3/15/21 9:21 PM, Chris Packham wrote: > > On 16/03/21 4:43 pm, Guenter Roeck wrote: >> On 3/15/21 7:35 PM, Chris Packham wrote: >>> The BPA-RS600 is a compact 600W AC to DC removable power supply module. >>> >>> Signed-off-by: Chris Packham <chris.pack...@alliedtelesis.co.nz> >>> --- > <snip> >>> + >>> +static int bpa_rs600_read_word_data(struct i2c_client *client, int page, >>> + int phase, int reg)+{ >>> + int ret; >>> + >>> + if (page > 0) >>> + return -ENXIO; >>> + >>> + switch (reg) { >>> + case PMBUS_VIN_UV_FAULT_LIMIT: >>> + case PMBUS_VIN_OV_FAULT_LIMIT: >>> + case PMBUS_VOUT_UV_FAULT_LIMIT: >>> + case PMBUS_VOUT_OV_FAULT_LIMIT: >>> + ret = -ENXIO; >> Is that needed ? Why not -ENODATA ? > > Basically these commands get responses on the bus but they don't have > valid data (nor are they documented in the datasheet). I'll add a > comment to that effect. > > If I'm reading things correctly -ENODATA is a signal to > _pmbus_read_word_data use the "normal" read operation. So I need to
Correct. > return something other than that. I found another driver (mp2975.c) > doing the same thing for what I assume are similar reasons so I went > with -ENXIO. > -ENXIO is ok, but please document it. Thanks, Guenter