Re: [PATCH v2 1/2] device property: Add device_get_bd_address() and fwnode_get_bd_address()

From: Andy Shevchenko
Date: Mon Sep 24 2018 - 16:46:53 EST


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