Veramente non capisco perche' RPI usi SMBUS e non I2C.
Per esempio con SMBUS leggere o scrivere periferiche con subadress necessita acrobazie di programmazione.
Esempio tipico (ma non unico) lettura e scruttura di EEPROM tipo 24LC256.
Alcuni integrati con subaddress che esigono il restart addirittura dubito possano essere gestiti.