I think you are right that the controller does not seem to support
additional I2C features in addition to SMBUS.
However, my concern of switching to the smbus_xfer API is:
1) Some customers might have used I2C_RDWR based API from i2cdev. Changing
from master_xfer to smbus_xfer may break the existing applications that are
already developed.
Well, given that you add new quirks in the original patch here, you are
kind of breaking it already. Most transfers which are not SMBus-alike
transfers would now be rejected. For SMBus-alike transfers which are
sent via I2C_RDWR (which is ugly), I have to think about it.
2) The sound subsystem I2C regmap based implementation seems to be using
i2c_ based API instead of smbus_ based API. Does this mean this will also
break most of the audio codec drivers with I2C regmap API based usage?
I don't think so. If you check regmap_get_i2c_bus() then it checks the
adapter functionality and chooses the best transfer option then. I may
be missing something but I would wonder if the sound system does
something special and different.