def process_call(self, addr, cmd, val):
assert self._device is not None, '<STR_LIT>'<EOL>data = create_string_buffer(struct.pack('<STR_LIT>', cmd, val))<EOL>result = c_uint16()<EOL>request = make_i2c_rdwr_data([<EOL>(addr, <NUM_LIT:0>, <NUM_LIT:3>, cast(pointer(data), POINTER(c_uint8))),          <EOL>(addr, I2C_M_RD, <NUM_LIT:2>, cast(pointer(result), POINTER(c_uint8)))  <EOL>])<EOL>ioctl(self._device.fileno(), I2C_RDWR, request)<EOL>return result.value<EOL>
Perform a smbus process call by writing a word (2 byte) value to
        the specified register of the device, and then reading a word of response
        data (which is returned).