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. If you are retrieving bdaddr_t type from it, so, better to move it to types.h first. 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. -- With Best Regards, Andy Shevchenko