> > + > > +/* This device is always enabled */ > > +static int ch7322_cec_adap_enable(struct cec_adapter *adap, bool enable) > > +{ > > I'd disable the interrupt here if enable is false. Ok I can do that. > > There is a power down mode as well, so perhaps that's something that can be > done here too. > I think I'd prefer to use power down mode in a potential follow up patch that adds PM to the driver. > > + return 0; > > +} > > + > > +static int ch7322_cec_adap_log_addr(struct cec_adapter *adap, u8 log_addr) > > +{ > > + struct ch7322 *ch7322 = cec_get_drvdata(adap); > > + int ret; > > + > > + mutex_lock(&ch7322->mutex); > > + ret = regmap_update_bits(ch7322->regmap, CH7322_ADDLW, > > + CH7322_ADDLW_MASK, log_addr << 4); > > + mutex_unlock(&ch7322->mutex); > > If log_addr is CEC_LOG_ADDR_INVALID, then that means that the current > logical address configuration is to be cleared. In this case the logical > address is set to 0xf (unregistered/broadcast). That should mean that the > CEC device will not Ack any logical addresses, correct? Correct. > > But it does receive broadcast messages and (I think) also messages from > other logical addresses, except that those will not be Acked by this > CEC adapter. > I was wrong about this before. It does not pass on messages from other LAs. > If it still receives messages from other LAs, then that means that you can > add the CEC_CAP_MONITOR_ALL capability. I.e., 'sudo cec-ctl -M' without > configuring anything should see all CEC traffic. > > What is the default value of CH7322_ADDLW? It should start with 0xf as > the logical address (i.e. no received messages should be Acked). The default value is 0xf. Thanks, Jeff