Lines Matching +full:bus +full:- +full:addr
1 /*-
2 * SPDX-License-Identifier: BSD-2-Clause
33 #include <sys/bus.h>
48 uint8_t addr; member
52 * Autoconfiguration and support routines for System Management bus
59 device_set_desc(dev, "System Management Bus"); in smbus_probe()
69 mtx_init(&sc->lock, device_get_nameunit(dev), "smbus", MTX_DEF); in smbus_attach()
86 mtx_destroy(&sc->lock); in smbus_detach()
121 smbus_hinted_child(device_t bus, const char *dname, int dunit) in smbus_hinted_child() argument
125 int addr; in smbus_hinted_child() local
127 addr = 0; in smbus_hinted_child()
128 resource_int_value(dname, dunit, "addr", &addr); in smbus_hinted_child()
129 if (addr > UINT8_MAX) { in smbus_hinted_child()
130 device_printf(bus, "ignored incorrect slave address hint 0x%x" in smbus_hinted_child()
131 " for %s%d\n", addr, dname, dunit); in smbus_hinted_child()
134 child = BUS_ADD_CHILD(bus, SMBUS_ORDER_HINTED, dname, dunit); in smbus_hinted_child()
138 devi->addr = addr; in smbus_hinted_child()
147 if (devi->addr != 0) in smbus_child_location()
148 sbuf_printf(sb, "addr=0x%x", devi->addr); in smbus_child_location()
160 if (devi->addr != 0) in smbus_print_child()
161 retval += printf(" at addr 0x%x", devi->addr); in smbus_print_child()
175 if (devi->addr != 0) in smbus_read_ivar()
176 *result = devi->addr; in smbus_read_ivar()
178 *result = -1; in smbus_read_ivar()
195 if (devi->addr != 0) in smbus_write_ivar()
197 devi->addr = value; in smbus_write_ivar()
206 smbus_probe_nomatch(device_t bus, device_t child) in smbus_probe_nomatch() argument
211 * Ignore (self-identified) devices without a slave address set. in smbus_probe_nomatch()
214 if (devi->addr != 0) in smbus_probe_nomatch()
215 device_printf(bus, "<unknown device> at addr %#x\n", in smbus_probe_nomatch()
216 devi->addr); in smbus_probe_nomatch()
228 /* bus interface */