On Fri, Sep 08, 2017 at 12:13:07AM -0500, Pierre-Louis Bossart wrote: > From: "Fang, Yang A" <yang.a.fang@xxxxxxxxx> > > 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@xxxxxxxxx> > Signed-off-by: Thierry Escande <thierry.escande@xxxxxxxxxxxxx> > Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@xxxxxxxxxxxxxxx> > --- > 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 _______________________________________________ Alsa-devel mailing list Alsa-devel@xxxxxxxxxxxxxxxx http://mailman.alsa-project.org/mailman/listinfo/alsa-devel