qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
* [Qemu-devel] [PATCH] hw/input/lm832x: set device category of lm832x
@ 2019-01-27 10:18 kumar sourav
  2019-01-28  8:37 ` Thomas Huth
  0 siblings, 1 reply; 4+ messages in thread
From: kumar sourav @ 2019-01-27 10:18 UTC (permalink / raw)
  To: qemu-trivial; +Cc: balrogg, peter.maydell, qemu-devel, qemu-arm

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.jb1988@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);
 }
 
 static const TypeInfo lm8323_info = {
-- 
2.17.1

^ permalink raw reply related	[flat|nested] 4+ messages in thread

* Re: [Qemu-devel] [PATCH] hw/input/lm832x: set device category of lm832x
  2019-01-27 10:18 [Qemu-devel] [PATCH] hw/input/lm832x: set device category of lm832x kumar sourav
@ 2019-01-28  8:37 ` Thomas Huth
  2019-01-28 11:10   ` Philippe Mathieu-Daudé
  0 siblings, 1 reply; 4+ messages in thread
From: Thomas Huth @ 2019-01-28  8:37 UTC (permalink / raw)
  To: kumar sourav, qemu-trivial; +Cc: peter.maydell, qemu-arm, qemu-devel

 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.jb1988@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

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [Qemu-devel] [PATCH] hw/input/lm832x: set device category of lm832x
  2019-01-28  8:37 ` Thomas Huth
@ 2019-01-28 11:10   ` Philippe Mathieu-Daudé
  2019-02-06 11:00     ` Thomas Huth
  0 siblings, 1 reply; 4+ messages in thread
From: Philippe Mathieu-Daudé @ 2019-01-28 11:10 UTC (permalink / raw)
  To: Thomas Huth, kumar sourav, qemu-trivial
  Cc: peter.maydell, qemu-arm, qemu-devel

Hi Thomas,

On 1/28/19 9:37 AM, Thomas Huth wrote:
>  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.jb1988@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.

Can we go with 0/3/4 together? 0 being this patch:

  0) This devices inherited DEVICE_CATEGORY_I2C from his
     abstract parent, also select the DEVICE_CATEGORY_INPUT
     bit.

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [Qemu-devel] [PATCH] hw/input/lm832x: set device category of lm832x
  2019-01-28 11:10   ` Philippe Mathieu-Daudé
@ 2019-02-06 11:00     ` Thomas Huth
  0 siblings, 0 replies; 4+ messages in thread
From: Thomas Huth @ 2019-02-06 11:00 UTC (permalink / raw)
  To: Philippe Mathieu-Daudé, kumar sourav, qemu-trivial
  Cc: peter.maydell, qemu-arm, qemu-devel, Marcel Apfelbaum

On 2019-01-28 12:10, Philippe Mathieu-Daudé wrote:
> Hi Thomas,
> 
> On 1/28/19 9:37 AM, Thomas Huth wrote:
>>  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.jb1988@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.
> 
> Can we go with 0/3/4 together? 0 being this patch:
> 
>   0) This devices inherited DEVICE_CATEGORY_I2C from his
>      abstract parent, also select the DEVICE_CATEGORY_INPUT
>      bit.

Yes, I guess... Thinking about this again ... dc->categories is a
bitfield, so there is or at least was the original intention that a
device can go into multiple categories. Question: Is this what we want,
and if yes, is everybody fine with the fact that a device shows up
multiple times in the output of "-device help" ? If not, shall we change
the bitfield into a normal enum value?

Anyway, a DEVICE_CATEGORY_I2C is likely a good idea, at least it's
better than MISC here (and we already have DEVICE_CATOGORY_USB, too).
Anybody want to send a patch?

 Thomas

^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2019-02-06 11:01 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2019-01-27 10:18 [Qemu-devel] [PATCH] hw/input/lm832x: set device category of lm832x kumar sourav
2019-01-28  8:37 ` Thomas Huth
2019-01-28 11:10   ` Philippe Mathieu-Daudé
2019-02-06 11:00     ` Thomas Huth

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).