On 05/15/18 10:28, Neil Armstrong wrote: >>>>> + int ret; >>>>> + >>>>> + cros_ec_cec = devm_kzalloc(&pdev->dev, sizeof(*cros_ec_cec), >>>>> + GFP_KERNEL); >>>>> + if (!cros_ec_cec) >>>>> + return -ENOMEM; >>>>> + >>>>> + platform_set_drvdata(pdev, cros_ec_cec); >>>>> + cros_ec_cec->cros_ec = cros_ec; >>>>> + >>>>> + ret = cros_ec_cec_get_notifier(&cros_ec_cec->notify); >>>>> + if (ret) { >>>>> + dev_warn(&pdev->dev, "no CEC notifier available\n"); >>>>> + cec_caps |= CEC_CAP_PHYS_ADDR; >>>> >>>> Can this happen? What hardware has this? I am strongly opposed to CEC >>>> drivers >>>> using this capability unless there is no other option. It's a pain for >>>> userspace. >>> >>> It's in case an HW having a CEC capable FW but not in the >>> cec_dmi_match_table, in this case >>> it won't fail but still enable the CEC interface without a notifier. >> >> I don't think that's a good idea. CAP_PHYS_ADDR should *only* be used in >> situations >> where it is truly impossible to tell which output is connected to the CEC >> adapter. >> That's the case with e.g. USB CEC dongles where you have no idea how the user >> connected the HDMI cables. >> >> But I assume that in this case it just means that the cec_dmi_match_table >> needs >> to be updated, i.e. it is a driver bug. > > Yep, maybe a dev_warn should be added to notify this bug ?
Yes, a dev_warn and then return -ENODEV. > >> >> Another thing: this driver assumes that there is only one CEC adapter for >> only >> one HDMI output. But what if there are more HDMI outputs? Will there be one >> CEC adapter for each output? Or does the hardware have no provisions for >> that? > > The current EC interface only exposes a single CEC interface for now, there > is no > plan yet for multiple HDMI outputs handling. > >> >> Something should be mentioned about this in a comment. > > Ok Thanks! Hans