[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH v6 03/11] hw/core: create Resettable QOM interface
From: |
Richard Henderson |
Subject: |
Re: [PATCH v6 03/11] hw/core: create Resettable QOM interface |
Date: |
Sun, 29 Dec 2019 10:40:50 +1100 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101 Thunderbird/68.2.2 |
On 12/20/19 10:50 PM, Damien Hedde wrote:
> +typedef void (*ResettableEnterPhase)(Object *obj, ResetType type);
> +typedef void (*ResettableHoldPhase)(Object *obj);
> +typedef void (*ResettableExitPhase)(Object *obj);
> +typedef ResettableState * (*ResettableGetState)(Object *obj);
> +typedef void (*ResettableTrFunction)(Object *obj);
> +typedef ResettableTrFunction (*ResettableGetTrFunction)(Object *obj);
> +typedef void (*ResettableChildCallback)(Object *, void *opaque,
> + ResetType type);
> +typedef void (*ResettableChildForeach)(Object *obj,
> + ResettableChildCallback cb,
> + void *opaque, ResetType type);
> +typedef struct ResettableClass {
> + InterfaceClass parent_class;
> +
> + /* Phase methods */
> + struct ResettablePhases {
> + ResettableEnterPhase enter;
> + ResettableHoldPhase hold;
> + ResettableExitPhase exit;
> + } phases;
> +
> + /* State access method */
> + ResettableGetState get_state;
> +
> + /* Transitional method for legacy reset compatibility */
> + ResettableGetTrFunction get_transitional_function;
> +
> + /* Hierarchy handling method */
> + ResettableChildForeach child_foreach;
> +} ResettableClass;
> +typedef struct ResettablePhases ResettablePhases;
Since you use ResettablePhases independently of ResettableClass, I think you
should un-nest the struct definition and define the typedef as per normal.
Within the ResettableClass definition, just have "ResettablePhases phases;".
> + return (s->count > 0);
IIRC, you should have gotten a checkpatch warning for the parenthesis here.
They are unnecessary.
Otherwise,
Reviewed-by: Richard Henderson <address@hidden>
r~
- Re: [PATCH v6 06/11] hw/core/qdev: handle parent bus change regarding resettable, (continued)
- [PATCH v6 01/11] add device_legacy_reset function to prepare for reset api change, Damien Hedde, 2019/12/20
- [PATCH v6 04/11] hw/core: add Resettable support to BusClass and DeviceClass, Damien Hedde, 2019/12/20
- [PATCH v6 07/11] hw/core/qdev: update hotplug reset regarding resettable, Damien Hedde, 2019/12/20
- [PATCH v6 05/11] hw/core/resettable: add support for changing parent, Damien Hedde, 2019/12/20
- [PATCH v6 10/11] vl: replace deprecated qbus_reset_all registration, Damien Hedde, 2019/12/20
- [PATCH v6 03/11] hw/core: create Resettable QOM interface, Damien Hedde, 2019/12/20
- Re: [PATCH v6 03/11] hw/core: create Resettable QOM interface,
Richard Henderson <=
- [PATCH v6 09/11] docs/devel/reset.rst: add doc about Resettable interface, Damien Hedde, 2019/12/20
- [PATCH v6 11/11] hw/s390x/ipl: replace deprecated qdev_reset_all registration, Damien Hedde, 2019/12/20