Lines Matching refs:opts
592 struct f_eem_opts *opts; in eem_free_inst() local
594 opts = container_of(f, struct f_eem_opts, func_inst); in eem_free_inst()
595 if (opts->bound) in eem_free_inst()
596 gether_cleanup(netdev_priv(opts->net)); in eem_free_inst()
598 free_netdev(opts->net); in eem_free_inst()
599 kfree(opts); in eem_free_inst()
604 struct f_eem_opts *opts; in eem_alloc_inst() local
606 opts = kzalloc(sizeof(*opts), GFP_KERNEL); in eem_alloc_inst()
607 if (!opts) in eem_alloc_inst()
609 mutex_init(&opts->lock); in eem_alloc_inst()
610 opts->func_inst.free_func_inst = eem_free_inst; in eem_alloc_inst()
611 opts->net = gether_setup_default(); in eem_alloc_inst()
612 if (IS_ERR(opts->net)) { in eem_alloc_inst()
613 struct net_device *net = opts->net; in eem_alloc_inst()
614 kfree(opts); in eem_alloc_inst()
618 config_group_init_type_name(&opts->func_inst.group, "", &eem_func_type); in eem_alloc_inst()
620 return &opts->func_inst; in eem_alloc_inst()
626 struct f_eem_opts *opts; in eem_free() local
629 opts = container_of(f->fi, struct f_eem_opts, func_inst); in eem_free()
631 mutex_lock(&opts->lock); in eem_free()
632 opts->refcnt--; in eem_free()
633 mutex_unlock(&opts->lock); in eem_free()
646 struct f_eem_opts *opts; in eem_alloc() local
653 opts = container_of(fi, struct f_eem_opts, func_inst); in eem_alloc()
654 mutex_lock(&opts->lock); in eem_alloc()
655 opts->refcnt++; in eem_alloc()
657 eem->port.ioport = netdev_priv(opts->net); in eem_alloc()
658 mutex_unlock(&opts->lock); in eem_alloc()