[alsa-devel] [PATCH 5/7] ASoC: ts3a227e: add acpi table
Vinod Koul
vinod.koul at intel.com
Fri Sep 8 15:27:05 CEST 2017
On Fri, Sep 08, 2017 at 12:13:07AM -0500, Pierre-Louis Bossart wrote:
> From: "Fang, Yang A" <yang.a.fang at intel.com>
>
> This patch adds the acpi match table for the ts3a227e audio accessory
> detection device. This enables headset features like jack plug/unplug
> notifications, mic presence, and button pressed events.
>
> Signed-off-by: Fang, Yang A <yang.a.fang at intel.com>
> Signed-off-by: Thierry Escande <thierry.escande at collabora.com>
> Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart at linux.intel.com>
> ---
> sound/soc/codecs/ts3a227e.c | 10 ++++++++++
> 1 file changed, 10 insertions(+)
>
> diff --git a/sound/soc/codecs/ts3a227e.c b/sound/soc/codecs/ts3a227e.c
> index 4356843..738e04b 100644
> --- a/sound/soc/codecs/ts3a227e.c
> +++ b/sound/soc/codecs/ts3a227e.c
> @@ -15,6 +15,7 @@
> #include <linux/module.h>
> #include <linux/of_gpio.h>
> #include <linux/regmap.h>
> +#include <linux/acpi.h>
>
> #include <sound/core.h>
> #include <sound/jack.h>
> @@ -374,11 +375,20 @@ static const struct of_device_id ts3a227e_of_match[] = {
> };
> MODULE_DEVICE_TABLE(of, ts3a227e_of_match);
>
> +#ifdef CONFIG_ACPI
> +static struct acpi_device_id ts3a227e_acpi_match[] = {
> + { "104C227E", 0 },
> + {},
> +};
> +MODULE_DEVICE_TABLE(acpi, ts3a227e_acpi_match);
> +#endif
so this is not present for non ACPI system,... fine
> +
> static struct i2c_driver ts3a227e_driver = {
> .driver = {
> .name = "ts3a227e",
> .pm = &ts3a227e_pm,
> .of_match_table = of_match_ptr(ts3a227e_of_match),
> + .acpi_match_table = ACPI_PTR(ts3a227e_acpi_match),
but then this would give compiler error on those systems as .acpi_match_table is
defined in driver core... can you compile this on non acpi and check
struct device_driver {
const char *name;
struct bus_type *bus;
struct module *owner;
const char *mod_name; /* used for built-in modules */
bool suppress_bind_attrs; /* disables bind/unbind via sysfs */
enum probe_type probe_type;
const struct of_device_id *of_match_table;
const struct acpi_device_id *acpi_match_table;
int (*probe) (struct device *dev);
int (*remove) (struct device *dev);
void (*shutdown) (struct device *dev);
int (*suspend) (struct device *dev, pm_message_t state);
int (*resume) (struct device *dev);
const struct attribute_group **groups;
const struct dev_pm_ops *pm;
struct driver_private *p;
};
--
~Vinod
More information about the Alsa-devel
mailing list