diff options
Diffstat (limited to 'drivers/media/cec/platform/cros-ec/cros-ec-cec.c')
-rw-r--r-- | drivers/media/cec/platform/cros-ec/cros-ec-cec.c | 22 |
1 files changed, 14 insertions, 8 deletions
diff --git a/drivers/media/cec/platform/cros-ec/cros-ec-cec.c b/drivers/media/cec/platform/cros-ec/cros-ec-cec.c index 6ebedc71d67d..c17faf002877 100644 --- a/drivers/media/cec/platform/cros-ec/cros-ec-cec.c +++ b/drivers/media/cec/platform/cros-ec/cros-ec-cec.c @@ -225,6 +225,12 @@ static const struct cec_dmi_match cec_dmi_match_table[] = { { "Google", "Kinox", "0000:00:02.0", "Port B" }, /* Google Kuldax */ { "Google", "Kuldax", "0000:00:02.0", "Port B" }, + /* Google Aurash */ + { "Google", "Aurash", "0000:00:02.0", "Port B" }, + /* Google Gladios */ + { "Google", "Gladios", "0000:00:02.0", "Port B" }, + /* Google Lisbon */ + { "Google", "Lisbon", "0000:00:02.0", "Port B" }, }; static struct device *cros_ec_cec_find_hdmi_dev(struct device *dev, @@ -326,31 +332,31 @@ out_probe_adapter: return ret; } -static int cros_ec_cec_remove(struct platform_device *pdev) +static void cros_ec_cec_remove(struct platform_device *pdev) { struct cros_ec_cec *cros_ec_cec = platform_get_drvdata(pdev); struct device *dev = &pdev->dev; int ret; + /* + * blocking_notifier_chain_unregister() only fails if the notifier isn't + * in the list. We know it was added to it by .probe(), so there should + * be no need for error checking. Be cautious and still check. + */ ret = blocking_notifier_chain_unregister( &cros_ec_cec->cros_ec->event_notifier, &cros_ec_cec->notifier); - - if (ret) { + if (ret) dev_err(dev, "failed to unregister notifier\n"); - return ret; - } cec_notifier_cec_adap_unregister(cros_ec_cec->notify, cros_ec_cec->adap); cec_unregister_adapter(cros_ec_cec->adap); - - return 0; } static struct platform_driver cros_ec_cec_driver = { .probe = cros_ec_cec_probe, - .remove = cros_ec_cec_remove, + .remove_new = cros_ec_cec_remove, .driver = { .name = DRV_NAME, .pm = &cros_ec_cec_pm_ops, |