Hi, On 2019-01-27 11:18, kumar sourav wrote: > Sets the category of lm832x as DEVICE_CATEGORY_INPUT > Devices should be assigned to one of DEVICE_CATEGORY_XXXX > > Signed-off-by: kumar sourav <sourav.jb1...@gmail.com> > --- > hw/input/lm832x.c | 1 + > 1 file changed, 1 insertion(+) > > diff --git a/hw/input/lm832x.c b/hw/input/lm832x.c > index cffbf586d4..07ae5e0aee 100644 > --- a/hw/input/lm832x.c > +++ b/hw/input/lm832x.c > @@ -509,6 +509,7 @@ static void lm8323_class_init(ObjectClass *klass, void > *data) > k->recv = lm_i2c_rx; > k->send = lm_i2c_tx; > dc->vmsd = &vmstate_lm_kbd; > + set_bit(DEVICE_CATEGORY_INPUT, dc->categories); > }
This device already has DEVICE_CATEGORY_MISC set since it is derived from TYPE_I2C_SLAVE. If you now set another category bit here, the device shows up twice in the output of "-device help". That's not so nice. I see multiple options here: 1) Drop this patch since the device already has a category 2) Make sure to clear_bit() the MISC category here again 3) Remove the set_bit(DEVICE_CATEGORY_MISC, k->categories) in hw/i2c/core.c - it does not make that much sense to set the MISC category for an abstract parent class. 4) Introduce a new DEVICE_CATEGORY_I2C which could be used instead of the DEVICE_CATEGORY_MISC in hw/i2c/core.c One of the last two options sound most appealing to me. Thomas