#include "tlv320aic32x4.h"
 
-static const struct of_device_id aic32x4_of_id[];
-static const struct i2c_device_id aic32x4_i2c_id[];
-
 static int aic32x4_i2c_probe(struct i2c_client *i2c)
 {
        struct regmap *regmap;
        config.val_bits = 8;
 
        regmap = devm_regmap_init_i2c(i2c, &config);
-
-       if (i2c->dev.of_node) {
-               const struct of_device_id *oid;
-
-               oid = of_match_node(aic32x4_of_id, i2c->dev.of_node);
-               type = (uintptr_t)oid->data;
-       } else {
-               const struct i2c_device_id *id;
-
-               id = i2c_match_id(aic32x4_i2c_id, i2c);
-               type = id->driver_data;
-       }
+       type = (uintptr_t)i2c_get_match_data(i2c);
 
        return aic32x4_probe(&i2c->dev, regmap, type);
 }