Lines Matching refs:opts
562 struct f_eem_opts *opts; in eem_free_inst() local
564 opts = container_of(f, struct f_eem_opts, func_inst); in eem_free_inst()
565 if (opts->bound) in eem_free_inst()
566 gether_cleanup(netdev_priv(opts->net)); in eem_free_inst()
568 free_netdev(opts->net); in eem_free_inst()
569 kfree(opts); in eem_free_inst()
574 struct f_eem_opts *opts; in eem_alloc_inst() local
576 opts = kzalloc(sizeof(*opts), GFP_KERNEL); in eem_alloc_inst()
577 if (!opts) in eem_alloc_inst()
579 mutex_init(&opts->lock); in eem_alloc_inst()
580 opts->func_inst.free_func_inst = eem_free_inst; in eem_alloc_inst()
581 opts->net = gether_setup_default(); in eem_alloc_inst()
582 if (IS_ERR(opts->net)) { in eem_alloc_inst()
583 struct net_device *net = opts->net; in eem_alloc_inst()
584 kfree(opts); in eem_alloc_inst()
588 config_group_init_type_name(&opts->func_inst.group, "", &eem_func_type); in eem_alloc_inst()
590 return &opts->func_inst; in eem_alloc_inst()
596 struct f_eem_opts *opts; in eem_free() local
599 opts = container_of(f->fi, struct f_eem_opts, func_inst); in eem_free()
601 mutex_lock(&opts->lock); in eem_free()
602 opts->refcnt--; in eem_free()
603 mutex_unlock(&opts->lock); in eem_free()
616 struct f_eem_opts *opts; in eem_alloc() local
623 opts = container_of(fi, struct f_eem_opts, func_inst); in eem_alloc()
624 mutex_lock(&opts->lock); in eem_alloc()
625 opts->refcnt++; in eem_alloc()
627 eem->port.ioport = netdev_priv(opts->net); in eem_alloc()
628 mutex_unlock(&opts->lock); in eem_alloc()