mirror of
https://github.com/Fishwaldo/Star64_linux.git
synced 2025-05-15 11:43:59 +00:00
ASoC: rt5677: Hide platform data in the module sources
There is no user of legacy platform data. Remove separate header and hide its content inside module sources. Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com> Signed-off-by: Mark Brown <broonie@kernel.org>
This commit is contained in:
parent
5771a8c088
commit
ddc9e69b9d
3 changed files with 46 additions and 58 deletions
|
@ -1,45 +0,0 @@
|
||||||
/*
|
|
||||||
* linux/sound/rt5677.h -- Platform data for RT5677
|
|
||||||
*
|
|
||||||
* Copyright 2013 Realtek Semiconductor Corp.
|
|
||||||
* Author: Oder Chiou <oder_chiou@realtek.com>
|
|
||||||
*
|
|
||||||
* This program is free software; you can redistribute it and/or modify
|
|
||||||
* it under the terms of the GNU General Public License version 2 as
|
|
||||||
* published by the Free Software Foundation.
|
|
||||||
*/
|
|
||||||
|
|
||||||
#ifndef __LINUX_SND_RT5677_H
|
|
||||||
#define __LINUX_SND_RT5677_H
|
|
||||||
|
|
||||||
enum rt5677_dmic2_clk {
|
|
||||||
RT5677_DMIC_CLK1 = 0,
|
|
||||||
RT5677_DMIC_CLK2 = 1,
|
|
||||||
};
|
|
||||||
|
|
||||||
|
|
||||||
struct rt5677_platform_data {
|
|
||||||
/* IN1/IN2/LOUT1/LOUT2/LOUT3 can optionally be differential */
|
|
||||||
bool in1_diff;
|
|
||||||
bool in2_diff;
|
|
||||||
bool lout1_diff;
|
|
||||||
bool lout2_diff;
|
|
||||||
bool lout3_diff;
|
|
||||||
/* DMIC2 clock source selection */
|
|
||||||
enum rt5677_dmic2_clk dmic2_clk_pin;
|
|
||||||
|
|
||||||
/* configures GPIO, 0 - floating, 1 - pulldown, 2 - pullup */
|
|
||||||
u8 gpio_config[6];
|
|
||||||
|
|
||||||
/* jd1 can select 0 ~ 3 as OFF, GPIO1, GPIO2 and GPIO3 respectively */
|
|
||||||
unsigned int jd1_gpio;
|
|
||||||
/* jd2 and jd3 can select 0 ~ 3 as
|
|
||||||
OFF, GPIO4, GPIO5 and GPIO6 respectively */
|
|
||||||
unsigned int jd2_gpio;
|
|
||||||
unsigned int jd3_gpio;
|
|
||||||
|
|
||||||
/* Set MICBIAS1 VDD 1v8 or 3v3 */
|
|
||||||
bool micbias1_vdd_3v3;
|
|
||||||
};
|
|
||||||
|
|
||||||
#endif
|
|
|
@ -21,6 +21,7 @@
|
||||||
#include <linux/platform_device.h>
|
#include <linux/platform_device.h>
|
||||||
#include <linux/spi/spi.h>
|
#include <linux/spi/spi.h>
|
||||||
#include <linux/firmware.h>
|
#include <linux/firmware.h>
|
||||||
|
#include <linux/of_device.h>
|
||||||
#include <linux/property.h>
|
#include <linux/property.h>
|
||||||
#include <sound/core.h>
|
#include <sound/core.h>
|
||||||
#include <sound/pcm.h>
|
#include <sound/pcm.h>
|
||||||
|
@ -5019,25 +5020,21 @@ static const struct regmap_config rt5677_regmap = {
|
||||||
};
|
};
|
||||||
|
|
||||||
static const struct i2c_device_id rt5677_i2c_id[] = {
|
static const struct i2c_device_id rt5677_i2c_id[] = {
|
||||||
{ "rt5677", RT5677 },
|
|
||||||
{ "rt5676", RT5676 },
|
|
||||||
{ }
|
{ }
|
||||||
};
|
};
|
||||||
MODULE_DEVICE_TABLE(i2c, rt5677_i2c_id);
|
MODULE_DEVICE_TABLE(i2c, rt5677_i2c_id);
|
||||||
|
|
||||||
static const struct of_device_id rt5677_of_match[] = {
|
static const struct of_device_id rt5677_of_match[] = {
|
||||||
{ .compatible = "realtek,rt5677", },
|
{ .compatible = "realtek,rt5677", RT5677 },
|
||||||
{ }
|
{ }
|
||||||
};
|
};
|
||||||
MODULE_DEVICE_TABLE(of, rt5677_of_match);
|
MODULE_DEVICE_TABLE(of, rt5677_of_match);
|
||||||
|
|
||||||
#ifdef CONFIG_ACPI
|
|
||||||
static const struct acpi_device_id rt5677_acpi_match[] = {
|
static const struct acpi_device_id rt5677_acpi_match[] = {
|
||||||
{ "RT5677CE", RT5677 },
|
{ "RT5677CE", RT5677 },
|
||||||
{ }
|
{ }
|
||||||
};
|
};
|
||||||
MODULE_DEVICE_TABLE(acpi, rt5677_acpi_match);
|
MODULE_DEVICE_TABLE(acpi, rt5677_acpi_match);
|
||||||
#endif
|
|
||||||
|
|
||||||
static void rt5677_read_acpi_properties(struct rt5677_priv *rt5677,
|
static void rt5677_read_acpi_properties(struct rt5677_priv *rt5677,
|
||||||
struct device *dev)
|
struct device *dev)
|
||||||
|
@ -5147,7 +5144,6 @@ static void rt5677_free_irq(struct i2c_client *i2c)
|
||||||
static int rt5677_i2c_probe(struct i2c_client *i2c,
|
static int rt5677_i2c_probe(struct i2c_client *i2c,
|
||||||
const struct i2c_device_id *id)
|
const struct i2c_device_id *id)
|
||||||
{
|
{
|
||||||
struct rt5677_platform_data *pdata = dev_get_platdata(&i2c->dev);
|
|
||||||
struct rt5677_priv *rt5677;
|
struct rt5677_priv *rt5677;
|
||||||
int ret;
|
int ret;
|
||||||
unsigned int val;
|
unsigned int val;
|
||||||
|
@ -5159,16 +5155,25 @@ static int rt5677_i2c_probe(struct i2c_client *i2c,
|
||||||
|
|
||||||
i2c_set_clientdata(i2c, rt5677);
|
i2c_set_clientdata(i2c, rt5677);
|
||||||
|
|
||||||
rt5677->type = id->driver_data;
|
if (i2c->dev.of_node) {
|
||||||
|
const struct of_device_id *match_id;
|
||||||
|
|
||||||
|
match_id = of_match_device(rt5677_of_match, &i2c->dev);
|
||||||
|
if (match_id)
|
||||||
|
rt5677->type = (enum rt5677_type)match_id->data;
|
||||||
|
|
||||||
if (pdata)
|
|
||||||
rt5677->pdata = *pdata;
|
|
||||||
else if (i2c->dev.of_node)
|
|
||||||
rt5677_read_device_properties(rt5677, &i2c->dev);
|
rt5677_read_device_properties(rt5677, &i2c->dev);
|
||||||
else if (ACPI_HANDLE(&i2c->dev))
|
} else if (ACPI_HANDLE(&i2c->dev)) {
|
||||||
|
const struct acpi_device_id *acpi_id;
|
||||||
|
|
||||||
|
acpi_id = acpi_match_device(rt5677_acpi_match, &i2c->dev);
|
||||||
|
if (acpi_id)
|
||||||
|
rt5677->type = (enum rt5677_type)acpi_id->driver_data;
|
||||||
|
|
||||||
rt5677_read_acpi_properties(rt5677, &i2c->dev);
|
rt5677_read_acpi_properties(rt5677, &i2c->dev);
|
||||||
else
|
} else {
|
||||||
return -EINVAL;
|
return -EINVAL;
|
||||||
|
}
|
||||||
|
|
||||||
/* pow-ldo2 and reset are optional. The codec pins may be statically
|
/* pow-ldo2 and reset are optional. The codec pins may be statically
|
||||||
* connected on the board without gpios. If the gpio device property
|
* connected on the board without gpios. If the gpio device property
|
||||||
|
|
|
@ -12,7 +12,6 @@
|
||||||
#ifndef __RT5677_H__
|
#ifndef __RT5677_H__
|
||||||
#define __RT5677_H__
|
#define __RT5677_H__
|
||||||
|
|
||||||
#include <sound/rt5677.h>
|
|
||||||
#include <linux/gpio/driver.h>
|
#include <linux/gpio/driver.h>
|
||||||
#include <linux/gpio/consumer.h>
|
#include <linux/gpio/consumer.h>
|
||||||
|
|
||||||
|
@ -1761,6 +1760,35 @@ enum {
|
||||||
RT5677_I2S4_SOURCE = (0x1 << 18),
|
RT5677_I2S4_SOURCE = (0x1 << 18),
|
||||||
};
|
};
|
||||||
|
|
||||||
|
enum rt5677_dmic2_clk {
|
||||||
|
RT5677_DMIC_CLK1 = 0,
|
||||||
|
RT5677_DMIC_CLK2 = 1,
|
||||||
|
};
|
||||||
|
|
||||||
|
struct rt5677_platform_data {
|
||||||
|
/* IN1/IN2/LOUT1/LOUT2/LOUT3 can optionally be differential */
|
||||||
|
bool in1_diff;
|
||||||
|
bool in2_diff;
|
||||||
|
bool lout1_diff;
|
||||||
|
bool lout2_diff;
|
||||||
|
bool lout3_diff;
|
||||||
|
/* DMIC2 clock source selection */
|
||||||
|
enum rt5677_dmic2_clk dmic2_clk_pin;
|
||||||
|
|
||||||
|
/* configures GPIO, 0 - floating, 1 - pulldown, 2 - pullup */
|
||||||
|
u8 gpio_config[6];
|
||||||
|
|
||||||
|
/* jd1 can select 0 ~ 3 as OFF, GPIO1, GPIO2 and GPIO3 respectively */
|
||||||
|
unsigned int jd1_gpio;
|
||||||
|
/* jd2 and jd3 can select 0 ~ 3 as
|
||||||
|
OFF, GPIO4, GPIO5 and GPIO6 respectively */
|
||||||
|
unsigned int jd2_gpio;
|
||||||
|
unsigned int jd3_gpio;
|
||||||
|
|
||||||
|
/* Set MICBIAS1 VDD 1v8 or 3v3 */
|
||||||
|
bool micbias1_vdd_3v3;
|
||||||
|
};
|
||||||
|
|
||||||
struct rt5677_priv {
|
struct rt5677_priv {
|
||||||
struct snd_soc_codec *codec;
|
struct snd_soc_codec *codec;
|
||||||
struct rt5677_platform_data pdata;
|
struct rt5677_platform_data pdata;
|
||||||
|
|
Loading…
Add table
Reference in a new issue