From: Balakrishna Godavarthi <bgodavar@codeaurora.org>
To: Matthias Kaehlcke <mka@chromium.org>
Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
"Rafael J . Wysocki" <rafael@kernel.org>,
Sakari Ailus <sakari.ailus@linux.intel.com>,
Marcin Wojtas <mw@semihalf.com>,
Andy Shevchenko Andy Shevchenko <andy.shevchenko@gmail.com>,
Sinan Kaya <okaya@codeaurora.org>,
Marcel Holtmann <marcel@holtmann.org>,
Johan Hedberg <johan.hedberg@gmail.com>,
linux-kernel@vger.kernel.org, linux-bluetooth@vger.kernel.org,
Loic Poulain <loic.poulain@linaro.org>,
Brian Norris <briannorris@chromium.org>
Subject: Re: [PATCH v4 1/2] Bluetooth: Add device_get_bd_address()
Date: Thu, 27 Sep 2018 22:11:10 +0530 [thread overview]
Message-ID: <b28c34475e447cc29a139f9121b3c1d9@codeaurora.org> (raw)
In-Reply-To: <20180927004810.124185-2-mka@chromium.org>
Hi Matthias,
On 2018-09-27 06:18, Matthias Kaehlcke wrote:
> Provide an API for Bluetooth drivers to retrieve the Bluetooth Device
> address (BD_ADDR) for a device. If the firmware node of the device
> has a property 'local-bd-address' the BD address is read from this
> property.
>
> Signed-off-by: Matthias Kaehlcke <mka@chromium.org>
> Reviewed-by: Andy Shevchenko <andy.shevchenko@gmail.com>
> Reviewed-by: Sakari Ailus <sakari.ailus@linux.intel.com>
> ---
> Changes in v4:
> - move code from driver/base/property.c to net/bluetooth/lib.c
> - undo move of bdaddr_t declaration
> - merge fwnode_get_bd_address() into device_get_bd_address(). as of now
> the function is not needed, it can be created later if necessary
> - minor improvements suggested by Sakari
> - updated commit message
> - added 'Reviewed-by: Sakari Ailus <sakari.ailus@linux.intel.com>' tag
>
> Changes in v3:
> - move definition of bdaddr_t to types.h to avoid include of
> bluetooth.h from property.h
> - add stubs for the new functions
>
> Changes in v2:
> - use bdaddr_t instead of byte pointer + len
> - use EXPORT_SYMBOL_GPL for the new functions instead of EXPORT_SYMBOL
> - put new functions inside #if IS_ENABLED(CONFIG_BT)
> - some new line juggling in property.h
> - added 'Reviewed-by: Andy Shevchenko <andy.shevchenko@gmail.com>' tag
> ---
> include/net/bluetooth/bluetooth.h | 2 ++
> net/bluetooth/lib.c | 34 +++++++++++++++++++++++++++++++
> 2 files changed, 36 insertions(+)
>
> diff --git a/include/net/bluetooth/bluetooth.h
> b/include/net/bluetooth/bluetooth.h
> index ec9d6bc65855..6c4cecfda816 100644
> --- a/include/net/bluetooth/bluetooth.h
> +++ b/include/net/bluetooth/bluetooth.h
> @@ -413,4 +413,6 @@ void mgmt_exit(void);
>
> void bt_sock_reclassify_lock(struct sock *sk, int proto);
>
> +int device_get_bd_address(struct device *dev, bdaddr_t *bd_addr);
> +
> #endif /* __BLUETOOTH_H */
> diff --git a/net/bluetooth/lib.c b/net/bluetooth/lib.c
> index 63e65d9b4b24..78a58ea586c6 100644
> --- a/net/bluetooth/lib.c
> +++ b/net/bluetooth/lib.c
> @@ -26,7 +26,10 @@
>
> #define pr_fmt(fmt) "Bluetooth: " fmt
>
> +#include <linux/etherdevice.h>
> #include <linux/export.h>
> +#include <linux/fwnode.h>
> +#include <linux/property.h>
>
> #include <net/bluetooth/bluetooth.h>
>
> @@ -198,3 +201,34 @@ void bt_err_ratelimited(const char *format, ...)
> va_end(args);
> }
> EXPORT_SYMBOL(bt_err_ratelimited);
> +
> +/**
> + * device_get_bd_address - Get the Bluetooth Device Address (BD_ADDR)
> for a
> + * given device
> + * @dev: Pointer to the device
> + * @bd_addr: Pointer to struct to store the BD address in
> + *
> + * Search the firmware node of the device for 'local-bd-address'.
> + *
> + * All-zero BD addresses are rejected, because those could be
> properties
> + * that exist in the firmware tables, but were not updated by the
> firmware. For
> + * example, the DTS could define 'local-bd-address', with zero BD
> addresses.
> + */
> +int device_get_bd_address(struct device *dev, bdaddr_t *bd_addr)
> +{
> + struct fwnode_handle *fwnode = dev_fwnode(dev);
> + bdaddr_t ba;
> + int ret;
> +
> + ret = fwnode_property_read_u8_array(fwnode, "local-bd-address",
> + (u8 *)&ba, sizeof(ba));
> + if (ret < 0)
> + return ret;
> + if (is_zero_ether_addr((u8 *)&ba))
> + return -ENODATA;
> +
> + *bd_addr = ba;
> +
> + return 0;
> +}
> +EXPORT_SYMBOL_GPL(device_get_bd_address);
Reviewed-by: Balakrishna Godavarthi <bgodavar@codeaurora.org>
--
Regards
Balakrishna.
next prev parent reply other threads:[~2018-09-27 16:41 UTC|newest]
Thread overview: 15+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-09-27 0:48 [PATCH v4 0/2] Add API to retrieve the Bluetooth Device Address (BD_ADDR) Matthias Kaehlcke
2018-09-27 0:48 ` [PATCH v4 1/2] Bluetooth: Add device_get_bd_address() Matthias Kaehlcke
2018-09-27 6:50 ` Sakari Ailus
2018-09-27 16:41 ` Balakrishna Godavarthi [this message]
2018-09-27 16:47 ` Sinan Kaya
2018-09-27 17:13 ` Matthias Kaehlcke
2018-10-04 17:33 ` Matthias Kaehlcke
2018-10-15 18:03 ` Matthias Kaehlcke
2018-10-15 18:06 ` Marcel Holtmann
2018-10-15 18:51 ` Matthias Kaehlcke
2018-10-16 6:52 ` Marcel Holtmann
2018-10-16 21:02 ` Matthias Kaehlcke
2018-10-22 21:07 ` Pavel Machek
2018-09-27 0:48 ` [PATCH v4 2/2] Bluetooth: btqcomsmd: Get the BD address with device_get_bd_address() Matthias Kaehlcke
2018-09-27 16:43 ` Balakrishna Godavarthi
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=b28c34475e447cc29a139f9121b3c1d9@codeaurora.org \
--to=bgodavar@codeaurora.org \
--cc=andy.shevchenko@gmail.com \
--cc=briannorris@chromium.org \
--cc=gregkh@linuxfoundation.org \
--cc=johan.hedberg@gmail.com \
--cc=linux-bluetooth@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=loic.poulain@linaro.org \
--cc=marcel@holtmann.org \
--cc=mka@chromium.org \
--cc=mw@semihalf.com \
--cc=okaya@codeaurora.org \
--cc=rafael@kernel.org \
--cc=sakari.ailus@linux.intel.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.