All of lore.kernel.org
 help / color / mirror / Atom feed
From: Jonathan Cameron <jic23@kernel.org>
To: Daniel Baluta <daniel.baluta@intel.com>, irina.tirdea@intel.com
Cc: knaack.h@gmx.de, lars@metafoo.de, pmeerw@pmeerw.net,
	geert@linux-m68k.org, vlad.dogaru@intel.com,
	octavian.purdila@intel.com, linux-kernel@vger.kernel.org,
	linux-iio@vger.kernel.org
Subject: Re: [PATCH 2/2] iio: magn: bmc150: Introduce SPI support
Date: Sun, 17 Apr 2016 11:04:09 +0100	[thread overview]
Message-ID: <57135F99.8010100@kernel.org> (raw)
In-Reply-To: <1460729590-18886-3-git-send-email-daniel.baluta@intel.com>

On 15/04/16 15:13, Daniel Baluta wrote:
> Signed-off-by: Daniel Baluta <daniel.baluta@intel.com>
Looks good.  I like regmap sometimes ;)

Applied to the togreg branch of iio.git - initially pushed out as
testing for the autobuilders to try spotting what we've missed.

Jonathan
> ---
>  drivers/iio/magnetometer/Kconfig           | 16 +++++++
>  drivers/iio/magnetometer/Makefile          |  1 +
>  drivers/iio/magnetometer/bmc150_magn_spi.c | 68 ++++++++++++++++++++++++++++++
>  3 files changed, 85 insertions(+)
>  create mode 100644 drivers/iio/magnetometer/bmc150_magn_spi.c
> 
> diff --git a/drivers/iio/magnetometer/Kconfig b/drivers/iio/magnetometer/Kconfig
> index e916005..33609c23 100644
> --- a/drivers/iio/magnetometer/Kconfig
> +++ b/drivers/iio/magnetometer/Kconfig
> @@ -45,6 +45,22 @@ config BMC150_MAGN_I2C
>  	  To compile this driver as a module, choose M here: the module will be
>  	  called bmc150_magn_i2c.
>  
> +config BMC150_MAGN_SPI
> +	tristate "Bosch BMC150 SPI Magnetometer Driver"
> +	depends on SPI
> +	select BMC150_MAGN
> +	select REGMAP_SPI
> +	help
> +	  Say yes here to build support for the BMC150 magnetometer with
> +	  SPI interface.
> +
> +	  This is a combo module with both accelerometer and magnetometer.
> +	  This driver is only implementing magnetometer part, which has
> +	  its own address and register map.
> +
> +	  To compile this driver as a module, choose M here: the module will be
> +	  called bmc150_magn_spi.
> +
>  config MAG3110
>  	tristate "Freescale MAG3110 3-Axis Magnetometer"
>  	depends on I2C
> diff --git a/drivers/iio/magnetometer/Makefile b/drivers/iio/magnetometer/Makefile
> index 5647773..92a745c 100644
> --- a/drivers/iio/magnetometer/Makefile
> +++ b/drivers/iio/magnetometer/Makefile
> @@ -6,6 +6,7 @@
>  obj-$(CONFIG_AK8975)	+= ak8975.o
>  obj-$(CONFIG_BMC150_MAGN) += bmc150_magn.o
>  obj-$(CONFIG_BMC150_MAGN_I2C) += bmc150_magn_i2c.o
> +obj-$(CONFIG_BMC150_MAGN_SPI) += bmc150_magn_spi.o
>  
>  obj-$(CONFIG_MAG3110)	+= mag3110.o
>  obj-$(CONFIG_HID_SENSOR_MAGNETOMETER_3D) += hid-sensor-magn-3d.o
> diff --git a/drivers/iio/magnetometer/bmc150_magn_spi.c b/drivers/iio/magnetometer/bmc150_magn_spi.c
> new file mode 100644
> index 0000000..c4c738a
> --- /dev/null
> +++ b/drivers/iio/magnetometer/bmc150_magn_spi.c
> @@ -0,0 +1,68 @@
> +/*
> + * 3-axis magnetometer driver support following SPI Bosch-Sensortec chips:
> + *  - BMC150
> + *  - BMC156
> + *
> + * Copyright (c) 2016, Intel Corporation.
> + *
> + * This file is subject to the terms and conditions of version 2 of
> + * the GNU General Public License.  See the file COPYING in the main
> + * directory of this archive for more details.
> + */
> +#include <linux/module.h>
> +#include <linux/mod_devicetable.h>
> +#include <linux/spi/spi.h>
> +#include <linux/acpi.h>
> +#include <linux/regmap.h>
> +
> +#include "bmc150_magn.h"
> +
> +static int bmc150_magn_spi_probe(struct spi_device *spi)
> +{
> +	struct regmap *regmap;
> +	const struct spi_device_id *id = spi_get_device_id(spi);
> +
> +	regmap = devm_regmap_init_spi(spi, &bmc150_magn_regmap_config);
> +	if (IS_ERR(regmap)) {
> +		dev_err(&spi->dev, "Failed to register spi regmap %d\n",
> +			(int)PTR_ERR(regmap));
> +		return PTR_ERR(regmap);
> +	}
> +	return bmc150_magn_probe(&spi->dev, regmap, spi->irq, id->name);
> +}
> +
> +static int bmc150_magn_spi_remove(struct spi_device *spi)
> +{
> +	bmc150_magn_remove(&spi->dev);
> +
> +	return 0;
> +}
> +
> +static const struct spi_device_id bmc150_magn_spi_id[] = {
> +	{"bmc150_magn", 0},
> +	{"bmc156_magn", 0},
> +	{}
> +};
> +MODULE_DEVICE_TABLE(spi, bmc150_magn_spi_id);
> +
> +static const struct acpi_device_id bmc150_magn_acpi_match[] = {
> +	{"BMC150B", 0},
> +	{"BMC156B", 0},
> +	{},
> +};
> +MODULE_DEVICE_TABLE(acpi, bmc150_magn_acpi_match);
> +
> +static struct spi_driver bmc150_magn_spi_driver = {
> +	.probe		= bmc150_magn_spi_probe,
> +	.remove		= bmc150_magn_spi_remove,
> +	.id_table	= bmc150_magn_spi_id,
> +	.driver = {
> +		.acpi_match_table = ACPI_PTR(bmc150_magn_acpi_match),
> +		.name	= "bmc150_magn_spi",
> +	},
> +};
> +module_spi_driver(bmc150_magn_spi_driver);
> +
> +MODULE_AUTHOR("Daniel Baluta <daniel.baluta@intel.com");
> +MODULE_DESCRIPTION("BMC150 magnetometer SPI driver");
> +MODULE_LICENSE("GPL v2");
> 


      reply	other threads:[~2016-04-17 10:04 UTC|newest]

Thread overview: 8+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-04-15 14:13 [PATCH 0/2] Introduce SPI support for BMC150 chip Daniel Baluta
2016-04-15 14:13 ` [PATCH 1/2] iio: magn: Split bmc150 driver in common/i2c parts Daniel Baluta
2016-04-17 10:02   ` Jonathan Cameron
2016-04-18 11:24     ` Tirdea, Irina
2016-04-18 11:24       ` Tirdea, Irina
2016-04-18 19:44       ` Jonathan Cameron
2016-04-15 14:13 ` [PATCH 2/2] iio: magn: bmc150: Introduce SPI support Daniel Baluta
2016-04-17 10:04   ` Jonathan Cameron [this message]

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=57135F99.8010100@kernel.org \
    --to=jic23@kernel.org \
    --cc=daniel.baluta@intel.com \
    --cc=geert@linux-m68k.org \
    --cc=irina.tirdea@intel.com \
    --cc=knaack.h@gmx.de \
    --cc=lars@metafoo.de \
    --cc=linux-iio@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=octavian.purdila@intel.com \
    --cc=pmeerw@pmeerw.net \
    --cc=vlad.dogaru@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.