Lines Matching full:bus
35 #include <sys/bus.h>
44 * system errno value later. This lets controller- and bus-layer code get
94 iicbus_intr(device_t bus, int event, char *buf) in iicbus_intr() argument
96 struct iicbus_softc *sc = (struct iicbus_softc *)device_get_softc(bus); in iicbus_intr()
135 iicbus_request_bus(device_t bus, device_t dev, int how) in iicbus_request_bus() argument
138 struct iicbus_softc *sc = (struct iicbus_softc *)device_get_softc(bus); in iicbus_request_bus()
157 * Mark the device busy while it owns the bus, to in iicbus_request_bus()
158 * prevent detaching the device, bus, or hardware in iicbus_request_bus()
161 * attaching, it cannot be busied; mark the bus busy. in iicbus_request_bus()
164 sc->busydev = bus; in iicbus_request_bus()
169 * Drop the lock around the call to the bus driver, it in iicbus_request_bus()
177 reqdata.bus = bus; in iicbus_request_bus()
179 error = IICBUS_CALLBACK(device_get_parent(bus), in iicbus_request_bus()
203 iicbus_release_bus(device_t bus, device_t dev) in iicbus_release_bus() argument
206 struct iicbus_softc *sc = (struct iicbus_softc *)device_get_softc(bus); in iicbus_release_bus()
219 reqdata.bus = bus; in iicbus_release_bus()
221 IICBUS_CALLBACK(device_get_parent(bus), IIC_RELEASE_BUS, in iicbus_release_bus()
238 iicbus_started(device_t bus) in iicbus_started() argument
240 struct iicbus_softc *sc = (struct iicbus_softc *)device_get_softc(bus); in iicbus_started()
251 iicbus_start(device_t bus, u_char slave, int timeout) in iicbus_start() argument
253 struct iicbus_softc *sc = (struct iicbus_softc *)device_get_softc(bus); in iicbus_start()
257 return (IIC_ESTATUS); /* protocol error, bus already started */ in iicbus_start()
259 if (!(error = IICBUS_START(device_get_parent(bus), slave, timeout))) in iicbus_start()
273 iicbus_repeated_start(device_t bus, u_char slave, int timeout) in iicbus_repeated_start() argument
275 struct iicbus_softc *sc = (struct iicbus_softc *)device_get_softc(bus); in iicbus_repeated_start()
279 return (IIC_ESTATUS); /* protocol error, bus not started */ in iicbus_repeated_start()
281 if (!(error = IICBUS_REPEATED_START(device_get_parent(bus), slave, timeout))) in iicbus_repeated_start()
292 * Send stop condition to the bus
295 iicbus_stop(device_t bus) in iicbus_stop() argument
297 struct iicbus_softc *sc = (struct iicbus_softc *)device_get_softc(bus); in iicbus_stop()
301 return (IIC_ESTATUS); /* protocol error, bus not started */ in iicbus_stop()
303 error = IICBUS_STOP(device_get_parent(bus)); in iicbus_stop()
318 iicbus_write(device_t bus, const char *buf, int len, int *sent, int timeout) in iicbus_write() argument
320 struct iicbus_softc *sc = (struct iicbus_softc *)device_get_softc(bus); in iicbus_write()
326 return (IICBUS_WRITE(device_get_parent(bus), buf, len, sent, timeout)); in iicbus_write()
336 iicbus_read(device_t bus, char *buf, int len, int *read, int last, int delay) in iicbus_read() argument
338 struct iicbus_softc *sc = (struct iicbus_softc *)device_get_softc(bus); in iicbus_read()
344 return (IICBUS_READ(device_get_parent(bus), buf, len, read, last, delay)); in iicbus_read()
353 iicbus_write_byte(device_t bus, char byte, int timeout) in iicbus_write_byte() argument
355 struct iicbus_softc *sc = device_get_softc(bus); in iicbus_write_byte()
363 return (iicbus_write(bus, &data, 1, &sent, timeout)); in iicbus_write_byte()
372 iicbus_read_byte(device_t bus, char *byte, int timeout) in iicbus_read_byte() argument
374 struct iicbus_softc *sc = device_get_softc(bus); in iicbus_read_byte()
381 return (iicbus_read(bus, byte, 1, &read, IIC_LAST_READ, timeout)); in iicbus_read_byte()
390 iicbus_block_write(device_t bus, u_char slave, char *buf, int len, int *sent) in iicbus_block_write() argument
395 if ((error = iicbus_start(bus, addr, 0))) in iicbus_block_write()
398 error = iicbus_write(bus, buf, len, sent, 0); in iicbus_block_write()
400 iicbus_stop(bus); in iicbus_block_write()
411 iicbus_block_read(device_t bus, u_char slave, char *buf, int len, int *read) in iicbus_block_read() argument
416 if ((error = iicbus_start(bus, addr, 0))) in iicbus_block_read()
419 error = iicbus_read(bus, buf, len, read, IIC_LAST_READ, 0); in iicbus_block_read()
421 iicbus_stop(bus); in iicbus_block_read()
439 iicbus_transfer(device_t bus, struct iic_msg *msgs, uint32_t nmsgs) in iicbus_transfer() argument
442 return (IICBUS_TRANSFER(device_get_parent(bus), msgs, nmsgs)); in iicbus_transfer()
449 device_t bus; in iicbus_transfer_excl() local
452 bus = device_get_parent(dev); in iicbus_transfer_excl()
453 error = iicbus_request_bus(bus, dev, how); in iicbus_transfer_excl()
455 error = IICBUS_TRANSFER(bus, msgs, nmsgs); in iicbus_transfer_excl()
456 iicbus_release_bus(bus, dev); in iicbus_transfer_excl()
469 device_t *children, bus; in iicbus_transfer_gen() local
478 bus = children[0]; in iicbus_transfer_gen()
491 error = iicbus_repeated_start(bus, addr, 0); in iicbus_transfer_gen()
493 error = iicbus_start(bus, addr, 0); in iicbus_transfer_gen()
500 error = iicbus_read(bus, msgs[i].buf, msgs[i].len, in iicbus_transfer_gen()
503 error = iicbus_write(bus, msgs[i].buf, msgs[i].len, in iicbus_transfer_gen()
510 iicbus_stop(bus); in iicbus_transfer_gen()
516 iicbus_stop(bus); in iicbus_transfer_gen()