return component_add(dev, &wcd938x_sdw_component_ops);
 }
 
+static int wcd9380_remove(struct sdw_slave *pdev)
+{
+       struct device *dev = &pdev->dev;
+
+       component_del(dev, &wcd938x_sdw_component_ops);
+
+       return 0;
+}
+
 static const struct sdw_device_id wcd9380_slave_id[] = {
        SDW_SLAVE_ENTRY(0x0217, 0x10d, 0),
        {},
 
 static struct sdw_driver wcd9380_codec_driver = {
        .probe  = wcd9380_probe,
+       .remove = wcd9380_remove,
        .ops = &wcd9380_slave_ops,
        .id_table = wcd9380_slave_id,
        .driver = {