From: Matthias Kaehlcke <mka@chromium.org>
To: Sakari Ailus <sakari.ailus@linux.intel.com>
Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
"Rafael J . Wysocki" <rafael@kernel.org>,
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>,
Andrew Morton <akpm@linux-foundation.org>,
Pekka Enberg <penberg@kernel.org>,
Masahiro Yamada <yamada.masahiro@socionext.com>,
Alexey Dobriyan <adobriyan@gmail.com>,
linux-kernel@vger.kernel.org, linux-bluetooth@vger.kernel.org,
Balakrishna Godavarthi <bgodavar@codeaurora.org>,
Loic Poulain <loic.poulain@linaro.org>,
Brian Norris <briannorris@chromium.org>
Subject: Re: [PATCH v3.1 1/2] device property: Add device_get_bd_address() and fwnode_get_bd_address()
Date: Tue, 25 Sep 2018 16:50:41 -0700 [thread overview]
Message-ID: <20180925235041.GC22824@google.com> (raw)
In-Reply-To: <20180925213321.buotrpzlvokem24n@kekkonen.localdomain>
Hi Sakari,
thanks for the reviews
On Wed, Sep 26, 2018 at 12:33:22AM +0300, Sakari Ailus wrote:
> Hi Matthias,
>
> On Tue, Sep 25, 2018 at 12:10:13PM -0700, Matthias Kaehlcke 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.
> >
> > The definition of bdaddr_t is moved to types.h to make it visible in
> > property.h without having to include (the mostly unrelated) bluetooth.h
> >
> > Signed-off-by: Matthias Kaehlcke <mka@chromium.org>
> > Reviewed-by: Andy Shevchenko <andy.shevchenko@gmail.com>
> > ---
> > 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
> > ---
> > drivers/base/property.c | 46 +++++++++++++++++++++++++++++++
> > include/linux/property.h | 18 ++++++++++++
> > include/linux/types.h | 5 ++++
> > include/net/bluetooth/bluetooth.h | 5 ----
> > 4 files changed, 69 insertions(+), 5 deletions(-)
> >
> > diff --git a/drivers/base/property.c b/drivers/base/property.c
> > index 240ab5230ff6..afe412133188 100644
> > --- a/drivers/base/property.c
> > +++ b/drivers/base/property.c
> > @@ -1315,6 +1315,52 @@ void *device_get_mac_address(struct device *dev, char *addr, int alen)
> > }
> > EXPORT_SYMBOL(device_get_mac_address);
> >
> > +#if IS_ENABLED(CONFIG_BT)
> > +
> > +/**
> > + * fwnode_get_bd_address - Get the Bluetooth Device Address (BD_ADDR) from the
> > + * firmware node
> > + * @fwnode: Pointer to the firmware node
> > + * @bd_addr: Pointer to struct to store the BD address in
> > + *
> > + * Search the firmware node 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 fwnode_get_bd_address(struct fwnode_handle *fwnode, bdaddr_t *bd_addr)
> > +{
> > + bdaddr_t ba;
> > + int ret;
> > +
> > + ret = fwnode_property_read_u8_array(fwnode, "local-bd-address",
> > + (u8 *)&ba, sizeof(bdaddr_t));
>
> sizeof(ba)
>
> > + if (ret < 0)
> > + return ret;
> > + if (is_zero_ether_addr((u8 *)&ba))
> > + return -ENODATA;
> > +
> > + memcpy(bd_addr, &ba, sizeof(bdaddr_t));
>
> How about simply:
>
> *bd_addr = ba;
>
> Either way,
>
> Reviewed-by: Sakari Ailus <sakari.ailus@linux.intel.com>
Thanks I'll address your comments in v4. I'll wait a day or two before
re-spinning for if others have additional feedback.
Cheers
Matthias
next prev parent reply other threads:[~2018-09-25 23:50 UTC|newest]
Thread overview: 13+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-09-25 19:10 [PATCH v3.1 0/2] Add API to retrieve the Bluetooth Device Address (BD_ADDR) Matthias Kaehlcke
2018-09-25 19:10 ` [PATCH v3.1 1/2] device property: Add device_get_bd_address() and fwnode_get_bd_address() Matthias Kaehlcke
2018-09-25 21:33 ` Sakari Ailus
2018-09-25 23:50 ` Matthias Kaehlcke [this message]
2018-09-26 11:36 ` Heikki Krogerus
2018-09-26 17:12 ` Andy Shevchenko
2018-09-26 21:03 ` Matthias Kaehlcke
2018-09-27 10:24 ` Marcel Holtmann
2018-09-27 11:38 ` Heikki Krogerus
2018-09-27 13:15 ` Sakari Ailus
2018-09-27 17:04 ` Matthias Kaehlcke
2018-09-25 19:10 ` [PATCH v3.1 2/2] Bluetooth: btqcomsmd: Get the BD address with device_get_bd_address() Matthias Kaehlcke
2018-09-25 21:34 ` Sakari Ailus
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=20180925235041.GC22824@google.com \
--to=mka@chromium.org \
--cc=adobriyan@gmail.com \
--cc=akpm@linux-foundation.org \
--cc=andy.shevchenko@gmail.com \
--cc=bgodavar@codeaurora.org \
--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=mw@semihalf.com \
--cc=okaya@codeaurora.org \
--cc=penberg@kernel.org \
--cc=rafael@kernel.org \
--cc=sakari.ailus@linux.intel.com \
--cc=yamada.masahiro@socionext.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.