linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Heikki Krogerus <heikki.krogerus@linux.intel.com>
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>,
	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: Wed, 26 Sep 2018 14:36:25 +0300	[thread overview]
Message-ID: <20180926113625.GM11965@kuha.fi.intel.com> (raw)
In-Reply-To: <20180925191014.85573-2-mka@chromium.org>

On Tue, Sep 25, 2018 at 12:10:13PM -0700, Matthias Kaehlcke wrote:
> +/**
> + * 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));
> +	if (ret < 0)
> +		return ret;
> +	if (is_zero_ether_addr((u8 *)&ba))
> +		return -ENODATA;
> +
> +	memcpy(bd_addr, &ba, sizeof(bdaddr_t));
> +
> +	return 0;
> +}
> +EXPORT_SYMBOL_GPL(fwnode_get_bd_address);
> +
> +/**
> + * 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
> + */
> +int device_get_bd_address(struct device *dev, bdaddr_t *bd_addr)
> +{
> +	return fwnode_get_bd_address(dev_fwnode(dev), bd_addr);
> +}
> +EXPORT_SYMBOL_GPL(device_get_bd_address);

Let's not fill property.c with framework specific helper functions any
more!

Those functions are completely bluetooth specific, so they do not
belong here. The fact that some other framework already managed to
slip their helpers in does not justify others to do the same.


Thanks,

-- 
heikki

  parent reply	other threads:[~2018-09-26 11:37 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
2018-09-26 11:36   ` Heikki Krogerus [this message]
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=20180926113625.GM11965@kuha.fi.intel.com \
    --to=heikki.krogerus@linux.intel.com \
    --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=mka@chromium.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).