Re: [RESEND PATCH 1/6] mfd: arizona: Add support for WM8280/WM8281

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 




On Tue, 03 Mar 2015, Charles Keepax wrote:

> From: Richard Fitzgerald <rf@xxxxxxxxxxxxxxxxxxxxxxxxxxx>
> 
> This adds support for the Wolfson Microelectronics WM8280 and WM8281
> codecs.
> 
> Signed-off-by: Richard Fitzgerald <rf@xxxxxxxxxxxxxxxxxxxxxxxxxxx>
> Acked-by: Lee Jones <lee.jones@xxxxxxxxxx>
> [ Minor fixup to remove potentially uninitialised variable. ]
> Signed-off-by: Charles Keepax <ckeepax@xxxxxxxxxxxxxxxxxxxxxxxxxxx>
> ---
>  drivers/mfd/Kconfig              |    5 +++--
>  drivers/mfd/arizona-core.c       |   15 +++++++++++++--
>  drivers/mfd/arizona-i2c.c        |    2 ++
>  drivers/mfd/arizona-irq.c        |    1 +
>  drivers/mfd/arizona-spi.c        |    2 ++
>  include/linux/mfd/arizona/core.h |    1 +
>  6 files changed, 22 insertions(+), 4 deletions(-)

Applied, thanks.

Will send out pull-request once this has had time to soak in -next. 

> diff --git a/drivers/mfd/Kconfig b/drivers/mfd/Kconfig
> index 0ad88c7..b5fb03c 100644
> --- a/drivers/mfd/Kconfig
> +++ b/drivers/mfd/Kconfig
> @@ -1290,10 +1290,11 @@ config MFD_WM5102
>  	  Support for Wolfson Microelectronics WM5102 low power audio SoC
>  
>  config MFD_WM5110
> -	bool "Wolfson Microelectronics WM5110"
> +	bool "Wolfson Microelectronics WM5110 and WM8280/WM8281"
>  	depends on MFD_ARIZONA
>  	help
> -	  Support for Wolfson Microelectronics WM5110 low power audio SoC
> +	  Support for Wolfson Microelectronics WM5110 and WM8280/WM8281
> +	  low power audio SoC
>  
>  config MFD_WM8997
>  	bool "Wolfson Microelectronics WM8997"
> diff --git a/drivers/mfd/arizona-core.c b/drivers/mfd/arizona-core.c
> index 09ba8f1..9f81998 100644
> --- a/drivers/mfd/arizona-core.c
> +++ b/drivers/mfd/arizona-core.c
> @@ -567,6 +567,7 @@ static int arizona_of_get_core_pdata(struct arizona *arizona)
>  const struct of_device_id arizona_of_match[] = {
>  	{ .compatible = "wlf,wm5102", .data = (void *)WM5102 },
>  	{ .compatible = "wlf,wm5110", .data = (void *)WM5110 },
> +	{ .compatible = "wlf,wm8280", .data = (void *)WM8280 },
>  	{ .compatible = "wlf,wm8997", .data = (void *)WM8997 },
>  	{},
>  };
> @@ -671,6 +672,7 @@ int arizona_dev_init(struct arizona *arizona)
>  	switch (arizona->type) {
>  	case WM5102:
>  	case WM5110:
> +	case WM8280:
>  	case WM8997:
>  		for (i = 0; i < ARRAY_SIZE(wm5102_core_supplies); i++)
>  			arizona->core_supplies[i].supply
> @@ -834,11 +836,19 @@ int arizona_dev_init(struct arizona *arizona)
>  #endif
>  #ifdef CONFIG_MFD_WM5110
>  	case 0x5110:
> -		type_name = "WM5110";
> -		if (arizona->type != WM5110) {
> +		switch (arizona->type) {
> +		case WM5110:
> +			type_name = "WM5110";
> +			break;
> +		case WM8280:
> +			type_name = "WM8280";
> +			break;
> +		default:
> +			type_name = "WM5110";
>  			dev_err(arizona->dev, "WM5110 registered as %d\n",
>  				arizona->type);
>  			arizona->type = WM5110;
> +			break;
>  		}
>  		apply_patch = wm5110_patch;
>  		break;
> @@ -1010,6 +1020,7 @@ int arizona_dev_init(struct arizona *arizona)
>  				      ARRAY_SIZE(wm5102_devs), NULL, 0, NULL);
>  		break;
>  	case WM5110:
> +	case WM8280:
>  		ret = mfd_add_devices(arizona->dev, -1, wm5110_devs,
>  				      ARRAY_SIZE(wm5110_devs), NULL, 0, NULL);
>  		break;
> diff --git a/drivers/mfd/arizona-i2c.c b/drivers/mfd/arizona-i2c.c
> index 9d4156f..ff782a5d 100644
> --- a/drivers/mfd/arizona-i2c.c
> +++ b/drivers/mfd/arizona-i2c.c
> @@ -44,6 +44,7 @@ static int arizona_i2c_probe(struct i2c_client *i2c,
>  #endif
>  #ifdef CONFIG_MFD_WM5110
>  	case WM5110:
> +	case WM8280:
>  		regmap_config = &wm5110_i2c_regmap;
>  		break;
>  #endif
> @@ -87,6 +88,7 @@ static int arizona_i2c_remove(struct i2c_client *i2c)
>  static const struct i2c_device_id arizona_i2c_id[] = {
>  	{ "wm5102", WM5102 },
>  	{ "wm5110", WM5110 },
> +	{ "wm8280", WM8280 },
>  	{ "wm8997", WM8997 },
>  	{ }
>  };
> diff --git a/drivers/mfd/arizona-irq.c b/drivers/mfd/arizona-irq.c
> index 3a3fe7c..d063b94 100644
> --- a/drivers/mfd/arizona-irq.c
> +++ b/drivers/mfd/arizona-irq.c
> @@ -211,6 +211,7 @@ int arizona_irq_init(struct arizona *arizona)
>  #endif
>  #ifdef CONFIG_MFD_WM5110
>  	case WM5110:
> +	case WM8280:
>  		aod = &wm5110_aod;
>  
>  		switch (arizona->rev) {
> diff --git a/drivers/mfd/arizona-spi.c b/drivers/mfd/arizona-spi.c
> index 8ef58bc..1e845f6 100644
> --- a/drivers/mfd/arizona-spi.c
> +++ b/drivers/mfd/arizona-spi.c
> @@ -44,6 +44,7 @@ static int arizona_spi_probe(struct spi_device *spi)
>  #endif
>  #ifdef CONFIG_MFD_WM5110
>  	case WM5110:
> +	case WM8280:
>  		regmap_config = &wm5110_spi_regmap;
>  		break;
>  #endif
> @@ -84,6 +85,7 @@ static int arizona_spi_remove(struct spi_device *spi)
>  static const struct spi_device_id arizona_spi_ids[] = {
>  	{ "wm5102", WM5102 },
>  	{ "wm5110", WM5110 },
> +	{ "wm8280", WM8280 },
>  	{ },
>  };
>  MODULE_DEVICE_TABLE(spi, arizona_spi_ids);
> diff --git a/include/linux/mfd/arizona/core.h b/include/linux/mfd/arizona/core.h
> index 910e3aa..f970105 100644
> --- a/include/linux/mfd/arizona/core.h
> +++ b/include/linux/mfd/arizona/core.h
> @@ -24,6 +24,7 @@ enum arizona_type {
>  	WM5102 = 1,
>  	WM5110 = 2,
>  	WM8997 = 3,
> +	WM8280 = 4,
>  };
>  
>  #define ARIZONA_IRQ_GP1                    0

-- 
Lee Jones
Linaro STMicroelectronics Landing Team Lead
Linaro.org │ Open source software for ARM SoCs
Follow Linaro: Facebook | Twitter | Blog
--
To unsubscribe from this list: send the line "unsubscribe devicetree" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html




[Index of Archives]     [Device Tree Compilter]     [Device Tree Spec]     [Linux Driver Backports]     [Video for Linux]     [Linux USB Devel]     [Linux PCI Devel]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [XFree86]     [Yosemite Backpacking]
  Powered by Linux