#define AQ_HW_FLAG_ERRORS      (AQ_HW_FLAG_ERR_HW | AQ_HW_FLAG_ERR_UNPLUG)
 
 struct aq_hw_s {
-       struct aq_obj_s header;
+       atomic_t flags;
        struct aq_nic_cfg_s *aq_nic_cfg;
        struct aq_pci_func_s *aq_pci_func;
        void __iomem *mmio;
 
        u32 value = readl(hw->mmio + reg);
 
        if ((~0U) == value && (~0U) == readl(hw->mmio + hw->not_ff_addr))
-               aq_utils_obj_set(&hw->header.flags, AQ_HW_FLAG_ERR_UNPLUG);
+               aq_utils_obj_set(&hw->flags, AQ_HW_FLAG_ERR_UNPLUG);
 
        return value;
 }
 {
        int err = 0;
 
-       if (aq_utils_obj_test(&hw->header.flags, AQ_HW_FLAG_ERR_UNPLUG)) {
+       if (aq_utils_obj_test(&hw->flags, AQ_HW_FLAG_ERR_UNPLUG)) {
                err = -ENXIO;
                goto err_exit;
        }
-       if (aq_utils_obj_test(&hw->header.flags, AQ_HW_FLAG_ERR_HW)) {
+       if (aq_utils_obj_test(&hw->flags, AQ_HW_FLAG_ERR_HW)) {
                err = -EIO;
                goto err_exit;
        }
 
 
        self->link_status = self->aq_hw->aq_link_status;
        if (!netif_carrier_ok(self->ndev) && self->link_status.mbps) {
-               aq_utils_obj_set(&self->header.flags,
+               aq_utils_obj_set(&self->flags,
                                 AQ_NIC_FLAG_STARTED);
-               aq_utils_obj_clear(&self->header.flags,
+               aq_utils_obj_clear(&self->flags,
                                   AQ_NIC_LINK_DOWN);
                netif_carrier_on(self->ndev);
                netif_tx_wake_all_queues(self->ndev);
        if (netif_carrier_ok(self->ndev) && !self->link_status.mbps) {
                netif_carrier_off(self->ndev);
                netif_tx_disable(self->ndev);
-               aq_utils_obj_set(&self->header.flags, AQ_NIC_LINK_DOWN);
+               aq_utils_obj_set(&self->flags, AQ_NIC_LINK_DOWN);
        }
        return 0;
 }
        int ctimer = AQ_CFG_SERVICE_TIMER_INTERVAL;
        int err = 0;
 
-       if (aq_utils_obj_test(&self->header.flags, AQ_NIC_FLAGS_IS_NOT_READY))
+       if (aq_utils_obj_test(&self->flags, AQ_NIC_FLAGS_IS_NOT_READY))
                goto err_exit;
 
        err = aq_nic_update_link_status(self);
 
 #define AQ_NIC_INTERNAL_H
 
 struct aq_nic_s {
-       struct aq_obj_s header;
+       atomic_t flags;
        struct aq_vec_s *aq_vec[AQ_CFG_VECS_MAX];
        struct aq_ring_s *aq_ring_tx[AQ_CFG_VECS_MAX * AQ_CFG_TCS_MAX];
        struct aq_hw_s *aq_hw;
 
 };
 
 struct aq_ring_s {
-       struct aq_obj_s header;
        struct aq_ring_buff_s *buff_ring;
        u8 *dx_ring;            /* descriptors ring, dma shared mem */
        struct aq_nic_s *aq_nic;
 
 
 #include "aq_common.h"
 
-struct aq_obj_s {
-       atomic_t flags;
-};
-
 static inline void aq_utils_obj_set(atomic_t *flags, u32 mask)
 {
        unsigned long flags_old, flags_new;
 
 #include <linux/netdevice.h>
 
 struct aq_vec_s {
-       struct aq_obj_s header;
        struct aq_hw_ops *aq_hw_ops;
        struct aq_hw_s *aq_hw;
        struct aq_nic_s *aq_nic;
 
        int err = 0;
        unsigned int hw_head_ = tdm_tx_desc_head_ptr_get(self, ring->idx);
 
-       if (aq_utils_obj_test(&self->header.flags, AQ_HW_FLAG_ERR_UNPLUG)) {
+       if (aq_utils_obj_test(&self->flags, AQ_HW_FLAG_ERR_UNPLUG)) {
                err = -ENXIO;
                goto err_exit;
        }
 
        int err = 0;
        unsigned int hw_head_ = tdm_tx_desc_head_ptr_get(self, ring->idx);
 
-       if (aq_utils_obj_test(&self->header.flags, AQ_HW_FLAG_ERR_UNPLUG)) {
+       if (aq_utils_obj_test(&self->flags, AQ_HW_FLAG_ERR_UNPLUG)) {
                err = -ENXIO;
                goto err_exit;
        }