Patent ID: 7886088

Claim:
An apparatus for performing bus arbitration, the apparatus comprising: an Inter-Integrated Circuit (IIC) bus; a plurality of end devices attached directly to the bus; a plurality of applications included in an application layer; and a driver layer that includes a wrapper layer, the driver layer including a plurality of device drivers that communicate with the plurality of end devices utilizing the bus, wherein the wrapper layer receives a request from one of the plurality of applications to perform a first device access operation on one of the plurality of end devices determines whether the one of the plurality of end devices is locked, and, responsive to the one of the plurality of end devices not being locked, locks the one of the plurality of end devices and performs the first device access operation, and wherein, responsive to the first device access operation completing, the wrapper layer unlocks the one of the plurality of end devices; and further wherein another one of the plurality of applications performs a second device access operation to access another one of the plurality of end devices while the first device access operation is begin performed, wherein the bus is not locked while the first device access operation is being performed and the one of the plurality of end devices is locked.