Hi Andy, thanks for your feedback! On Mon, Sep 24, 2018 at 11:46:37PM +0300, Andy Shevchenko wrote: > On Mon, Sep 24, 2018 at 10:36 PM Matthias Kaehlcke <mka@xxxxxxxxxxxx> wrote: > > > > Provide an API for Bluetooth drivers to retrieve the Bluetooth Device > > address (BD_ADDR) for a device. If the device node has a property > > 'local-bd-address' the BD address is read from this property. > > > diff --git a/include/linux/property.h b/include/linux/property.h > > index ac8a1ebc4c1b..8926cf95d27e 100644 > > --- a/include/linux/property.h > > +++ b/include/linux/property.h > > @@ -15,6 +15,7 @@ > > > > #include <linux/fwnode.h> > > #include <linux/types.h> > > > +#include <net/bluetooth/bluetooth.h> > > Hmm... I don't understand why we need this complete header here. Yes, this is what deterred me from passing bdaddr_t in the first place. > If you are retrieving bdaddr_t type from it, so, better to move it to > types.h first. Sounds good to me if it is an acceptable solution to put something bluetoothy in types.h. > Sorry I didn't notice this before. > > > struct device; > > > +int device_get_bd_address(struct device *dev, bdaddr_t *bd_addr); > > > +int fwnode_get_bd_address(struct fwnode_handle *fwnode, bdaddr_t *bd_addr); > > I don't remember if we discussed below... > Since you put implementations under #ifdef, I'm not sure we can leave > header w/o stubs for !CONFIG_BT case. > I can imagine the case where some driver might use BT functionality > optionally in which case this enforces ugly #ifdef in the driver. To avoid another possible re-spin: do you prefer a single #ifdef, for both device_get_bd_address() and fwnode_get_bd_address(), or keep the strict grouping of device_*() and fwnode_*() functions? Cheers Matthias