HomeFreeBSD

smbus: allow child devices to be added via hints

Description

smbus: allow child devices to be added via hints

This will allow to add slave drivers in the same fashion as for iicbus.

Also, allow other code to add a child device and set its 'addr' ivar.
The ivar can only be set if it's unset, it can not be changed.
That could be used, for example, by a platform driver that has
a precise description of the hardware and, thus, knows what drivers
can handle what slaves.

The slave auto-probing code is unsafe and broken because it uses
7-bit slave addresses. It's going to be removed.

Note: internally the driver uses address of zero as an unset address
while smbus_get_addr() returns it as -1 for compatibility reasons.
The address is expected to be unset only for children that do not
work with slaves like, for example, smb(4).

Reviewed by: jhb
Differential Revision: https://reviews.freebsd.org/D8173

Details

Provenance
avgAuthored on
Reviewer
jhb
Differential Revision
D8173: smbus: allow child devices to be added via hints
Parents
rS307129: MFC 306699: Do not retry on some security sense codes.
Branches
Unknown
Tags
Unknown